next_permutation STL함수 이용해서 돌렸는데 테케4에서 타임리밋 떠서 못품 ㅠ
다음으로 생각난건 비트마스크 비슷하게 하는거랑 절반으로 짤라서 prev_permutaiton 으로 하는거였는데
비트마스크는 어케할지 모르겠고
절반으로 짤라서 prev_permutation 해보니까 20 100 넣으니까 이상한값나와서 포기함 ㅠ
next_permutation STL함수 이용해서 돌렸는데 테케4에서 타임리밋 떠서 못품 ㅠ
다음으로 생각난건 비트마스크 비슷하게 하는거랑 절반으로 짤라서 prev_permutaiton 으로 하는거였는데
비트마스크는 어케할지 모르겠고
절반으로 짤라서 prev_permutation 해보니까 20 100 넣으니까 이상한값나와서 포기함 ㅠ
이분탐색 돌려서 b 위치 찾았음
이분탐색으로는 어케해요??
long long int 선언해서 (n-1)(n-2) / 2가 k보다 큰지 작은지 판단해서 첫 번째 b위치를 찾음
n이 아니라 mid
1 2 3 4 이렇게증가하는게 N(n-1)/2 이구나 스벌 난 병신임 while로 구함 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 고등수학 생각이 안나네
넥퍼뮤 무조건 타임리밋이고
수학적으로 b 두개 위치 찾으면 됨
https://codeforces.com/contest/1328/submission/74411892
front가 맨 뒤에서 앞쪽 b까지 , back이 뒤쪽까지 거리
max가 가장 작도록해야 하니깐 xi가 1일 때 ai을 1로 해주고 밑에 부분은 0, b의 밑에 부분은 x랑 같게
C말고;;
아 미안 C구나
bb 의 왼쪽이 찍히는 순서가 t =1 일때 n-1 위치 t=2 일때 n-2 위치 t =4 일때 n-3 위치 1 2 3 4 증가하는거 while로 미리계산해서 b b 찍엇음.
읽어도 뭔소린지 모르겟네;;
비트마스크라고 생각하면될듯?
솔까 a,b,c,d중에 b가제일어려웠다
d는 짝수 홀수 구별하는걸 생강글 못햇다 ㅜ
홀수 짝수랑 상관있었나 난 고려안했던 것 같음
수학적으로 찾으면 쉬운데
ㅇㅇ ㅇㅈ 2 / 1 3 / 1, 2, 4 / 1, 2, 3 b의 위치를 다음과 같다고 하고 뒤집으면 사전정렬이 되므로 k에 대해서 수학적으로 찾으면 됨
1,3,6,10,15,21,28... 이 중에 k가 어디 범위에 속하는지 찾으면 둘 중 더 앞에 있는 b 어디있는지 구할 수 있고 그럼 두번째 b도 위치 쉽게 나옴
ㅋㅋ 나랑 같네