(2008 Dhaka) 간단한 문제(?)인데, 더해주세요[.....]

  • wookayin
    wookayin

    간단한(?) 문제입니다.
    dJ.PNG
    를 구하는 문제입니다. 무려 N은 32bit integer(20억 이하..) 입니다 -0-
    2008 다카셋 문제입니다. 풀어보다가 못했는데 어렵네요 @_@
    뭔가 조금씩 개선은 되고 있지만 근본적인 해결점에 이르려면 먼 것 같군요.
    여러분들의 의견을 듣고 싶어요 >_< ㅋㅋ

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]


    15년 전
12개의 댓글이 있습니다.
  • Taeyoon_Lee
    Taeyoon_Lee

    어떤 변수쌍도 같은 값이 되면 0 이 들어가니까, 0이 되겠죠.
    그럼 모든 변수가 다른 값이라고 치고, m>l>k>j>i 라고 가정하고 계산하면
    절대값 기호를 없애고, i=1 to n, j=i+1 to n, k=j+1 to n ... 이런 식으로 계산할 수 있을 것 같은데요.
    이건.. 어떻게든.. 할 수는 있겠죠..??
    시그마 m=l+1 to n 이면 n
    (n+1)/2 - l*(l+1)/2 이런 식으로 고칠 수 있을 테니..
    그러면 처음 가정한 m>l>k>j>i 이거 외에 다른 모든 순열에 대해서 고려했을 때도
    다 같은 결과값이 나올 테니까, 위에서 구한 값에 5! % 10007 해서 출력하면 될 것 같네요.


    15년 전 link
  • Taeyoon_Lee
    Taeyoon_Lee

    아.. 근데 다시 생각해보니.. i=k 일 수도 있겠네요. j=l인 경우도 있을 테고..


    15년 전 link
  • nocut98
    nocut98

    10007 안에서 찍어도 맞출 확률이 만분의 1 이나 되네요 ㅎㅎㅎ


    15년 전 link
  • astein
    astein

    후.. 뭔가 실마리를 찾아서 정리중입니다 ㄱ-...
    오늘 내로 정리 가능할지도.. (불가능할지도)


    15년 전 link
  • ipknHama
    ipknHama

    풀었습니다 :) 연습로그에 에디토리얼겸해서 쓸께요-


    15년 전 link
  • JongMan
    JongMan

    오오 간지 ㅋㅋ 우왕ㅋ굳ㅋ 에디토리얼 기대할께용~


    15년 전 link
  • 김우현
    김우현

    output(n) = a10* N^10 + a9*N^9 + ... + a0
    이라 가정을 하고 문제에 접근했습니다..
    각 a10, a9, ... , a0는 가우스 조던 소거법을 이용하여 구할 수 있습니다.
    가우스조던을 구하는데 필요한 10개의 방정식은 brute force하게 구했습니다.
    단, ai가 유리수인 경우가 있으니 frac class를 이용해 값을 얻었습니다.
    그리고 구한 ai값들을 이용해서 역으로 솔루션 n을 구하는 프로그램을 작성했습니다.
    그런데 뭔가 더 깔끔한 솔루션이 있을것 같네요... oTL..


    15년 전 link
  • wookayin
    wookayin

    작년 12월[..] 에 풀고나서 뭔가 에디토리얼이라던가 기록같은걸 남기지 않았네요. 그래서 리플 올라온 김에 저희 팀에서 접근한 방법을 간단하게 적어놓고 갑니다.
    일단 김우현님께서 말씀해 주셨듯이 문제의 답은 다항식으로 나옵니다. 자세히 기억은 안나는데 10차였나 12차였던가로 기억.. 계수는 가우스 소거법으로 해도 되지만, 임의의 다항식은 처음 몇 개의 항을 구함으로써 일반항을 구할 수 있습니다. 방법인즉, 계차수열을 구하고, 그것의 2차 계차수열을 구하고, 3차 계차수열을 구하고, ... 를 반복하다 보면 언젠가 공차가 0인 수열이 나오는데, 이때까지 얻은 k차 계차수열의 초항을 a[k] 라고 하면 이 다항식은 a[k] * nCk 의 합으로 나타낼 수 있습니다.
    이렇게 하면 손으로 Closed formular 를 구할 수 있고, 문제는 10007 로 나눈 나머지를 구해야 하므로 10가지의 factorial 값의 법 10007에 대한 역원을 구하면 답을 구할 수 있습니다.


    15년 전 link
  • wookayin
    wookayin

    음 저렇게 적어놓고 보니 왠지 작년에 쓰다..만 에디토리얼의 존재가 기억나서(-_;;;)
    조금 보충하여 올려봅니다. 참고하세요~ (주의 : 솔루션+저질 개그가 들어있음)
    dhakaJ.pdf


    15년 전 link
  • Megalusion
    Megalusion

    아니 ㅋㅋㅋㅋㅋ 추석에 광주까지 내려가서 새벽 2시에 이런 짓이나 하고 있었던 건가요 ㅋㅋㅋㅋㅋ


    15년 전 link
  • mickey
    mickey

    아니 ㅋㅋㅋㅋㅋ 추석에 광주까지 내려가서 새벽 2시에 이런 짓이나 하고 있었던 건가요 ㅋㅋㅋㅋㅋ


    15년 전 link
  • JongMan
    JongMan

    간지 ㅋㅋㅋㅋㅋㅋㅋㅋ


    15년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.