-
#716 div2 04/19대회/코드포스 2021. 4. 20. 20:52
기분 좋은 라운드
A
하나라도 완전 제곱수 아닌 게 있으면 YES 아니면 NO sqrt를 이용해서 찾아본다. 어차피 어떤 정수의 완전제곱수라면 정수일테고 그 반대도 성립하기 때문에 그냥 (int)sqrt를 이용해서 찾으면 된다.
sqrt의 기본형이 실수형인걸 알았다.
12분 솔브
1솔브 끝
B
bitwise AND 를 each마다 했을 때 0 이되게끔 하는 줄 알고 순열을 어떻게 사용해야 할지를 생각했다 하지만 그게 아니었고 모든 수에 대해서 bitwise를 하는 거였다. 즉 모든 bit에 대해서 0이 있어야 한다는 소리이고, k개의 비트를 n개에 하나하나씩 넣으면 된다. n^k가 정답
그런데 그냥 n^k를 하는 것이 아니라
ll ipow(ll x, ll p){ ll ret = 1, piv = x; while(p){ if(p & 1) ret = ret * piv % m; piv = piv * piv % m; p >>= 1; } return ret; }
몰래 가져온 Green55님 코드
딱 봤을 때는 저게 뭐하는 코드인가 했는데 보니깐 pow를 하나하나 하는 것 보다 훨씬 빠르게 한다. logn의 속도로 하는 것 같다.
항상 뭔가를 배운다. 존경
C
이거는 윌슨 정리를 이용한다고 하는데 정리부터 무서운 기호들로 둘러쌓여 있어서 좀 공부를 해봐야겠다.
정말 오랜만에 업솔빙을 했다. 기분이 상쾌
'대회 > 코드포스' 카테고리의 다른 글
#721 div2 5/23 virtual (0) 2021.05.23 Educational 107 div2 5/14 virtual (0) 2021.05.14 #712 div2 04/03 (0) 2021.04.04 #709 div2 03/21 (0) 2021.03.22 #708 div2 03/17 (0) 2021.03.19