문제 대충 텍스트로 적은다음 해싱해서 쌓아두고 퍼블릭 랜덤소스로 인덱싱하면되냐?
[%] 그래서 출제자 선정 어떤식으로 하는거임
ㅇㄹ(rerereq)
2019-11-16 02:13
추천 0
댓글 25
다른 게시글
-
문제 난이도가 애매하네 [2][%] ㅇㄹ(rerereq) | 19.11.16추천 0
-
GitHub 101 [32][%] 다믜(damhiya) | 19.11.16추천 0
-
주간 문제풀이 출제자 선정 [1][대회] ㅇㄹ(rerereq) | 19.11.16추천 0
-
12시 넘었는데 빨랑 출제자 공개하셈 [3][%] 다믜(damhiya) | 19.11.16추천 0
-
주간 문제풀이 존나 재밌겠다[%] Recursion(recursion) | 19.11.15추천 0
-
여기 갤러리는 출근충들 은근 없는거 같음 [4][%] Penguin(175.223) | 19.11.15추천 0
-
러스트 프로그래밍 공식 가이드 번역 괜찮음? [2][질문] 익명(1.229) | 19.11.15추천 0
-
깃허브 리포지토리 초기화하는법좀 [4][%] 익명(220.79) | 19.11.15추천 0
-
C++에 이런 매크로 있냐 [12][%] ㅇㄹ(rerereq) | 19.11.15추천 0
-
주간 러스트/하스켈 문제풀이 해보는건 어떰 [24][%] Recursion(recursion) | 19.11.15추천 1
ㄴㄴ 문제는 필요없음
각자 랜덤키 해싱해서 제출하고 다 제출하면 키 공개한다음에 키 해싱해서 출제자 정함. 그러면 출제자는 미리 써놓은 문제 공개. - dc App
아 랜덤키쓰면 되네
'키 해싱해서 출제자 정함' 이건 어떻게 정한다는거야?
공개된 키 concat해서 해싱한걸로 출제자 인원수만큼 mod 취해서 결정하는데 출제자 라벨링은 공개된 키값 사전순서 정렬인듯 - dc App
정렬이면 마지막에 출제하는놈이 해시값 맘대로 꼴수도 있잖아
출제한 순서대로 놓고 어딘가 랜덤소스에서 인덱스값 뽑아오는게 좋은거아님?
A => 키 a 해시 h // B => 키 b 해시 i // a < b // 해시(a, b) mod 2 => 0이면 A, 1이면 B - dc App - dc App
마지막 출제자가 얻을 수 있는 정보는 다른 출제자의 해시값 밖에 없으므로 순서도 추첨 결과도 모두 알 후 없음 - dc App
흠 랜덤키는 다 제출할때까진 비공개니까 키가 라벨링 과정에서 들어가면 주작 가능성이 없어지는건가?
ㅇㅇ 사실 라벨링을 키가 아니라 (이미 공개된) 해시로 한다고 해도 최종 해시 결과를 어차피 알 수 없으므로 조작에 의미가 없음 ㅋㅋㅋ - dc App
아 최종 해시값이 해시값들 모아서 해싱하는게 아니라 키값 모아서 해싱하는거야? 그러면 이미 안전했내
이제야 알고리즘 이해했다
넴 그래서 해시 모으는 기간 / 키 공개하는 기간 / 최종 합산 세 기간으로 나눠짐 - dc App
그럼 처음 말한대로 걍 최종 해시값에 mod하면 되겠네
ㅇㅇ 그리고 사전 정렬된 출제자에게 매핑 - dc App
방금 깨달았는데, 키 겹치면 해시로 미리 알 수 있으니까, 이 부분에 있어서도 안전하네 ㅋㅋ total order 구만
진짜네 ㅋㅋㅋㅋㅋ 알고리즘만 보면 ㄹㅇ 어택 벡터 하나도 안 보인다 - dc App
해싱에서 해시대신 키를 사용할 때 장점은 주작 계정을 막을 수 있다는 게 있을 듯. 애초에 이렇게까지 철저할 필요가 없겠지만…
철저하게 디자인하는거 자체가 철저하게 디자인 할 필요임 ㅋㅋㅋㅋ - dc App
문제 주작해봤자 그냥 다른 문제 푸는거잖아 ㅋㅋ
ㅇㅇ 생각해보니 다른 문제 공개해도 상관없음 ㅋㅋㅋㅋㅋㅋ - dc App
첫번째 문제 이걸로 내는거 어떰
위 알고리즘 구현하시오
이미 비슷한거 냈음