Codeforces 라운드 # 588 (사업부. 1)

경연 대회 페이지

특별한 이유가 그래서 더 ...... 매우시의 적절하지 않기 때문에

에이

어려운 일이 아니다 찾을 때 그는 삭제해야하는 경우 다른 사람이 모든 사람이 diss.

사람의 수는 큐를 넣어 DISS 때 다른 사람이 diss의 나머지 $ -1 $와 같은 수, 각 팀은 수의 첫 번째 업데이트를 취할 때 많은 사람들이이 diss 어떻게 어떤 사람을, 유지한다.

암호

하나의 결론 : 시퀀스 $의 A_1를 들어, A_2, ..., a_n $, $ GCD $ 접두사는 $ 종 $ log_2a_i를 초과하지 않습니다. 동일한 또는 적어도 $ 2 $ 하나의 값으로 나눈 $의 GCD $를에게 $ I-1 $ I는 $ $ $ GCD의으로부터 $ 다음, 입증 된 프리픽스 $의 GCD $으로 계산 앞뒤로 간주된다.

그래서 각각 $의 GCD의 $ 정비를 DFS과 대답의 루트 경로에 미치는 범위의 모든 점을 고려 할 수 있습니다.

암호

우선 운영자 답변 삼중 $ (난, J, K)을들 수있다 $ $ A $의 J는도 수를 이용하여 응답의 개수를 업데이트 할 수있다. : 실현하는 것은 직접적으로 Kichiku지도 업데이트 폭력이 맞다,하지만 내 쓰기 비교를 위반 보이는

정도의 $ \의 당량의 \의 SQRT 루트 파티션의 정도에 따라 {N} $ 폭력, n은도 $ \의 GEQ의 \의 SQRT {에 } $도, $ \ GEQ의 \의 SQRT {n 측 폭력 사이 $}, n은도 $ \의 GEQ의 \의 SQRT {대} $ {사이도, $ \ 당량의 \ SQRT N $ 에지} 차수 $의 \ GEQ의 \의 SQRT $ \ 당량의 \의 SQRT {N}의 하부 번호 {N} $ 포인트 큐 기록 $의 그것에 포인트 큐 변형 요소를 클리어 할 때마다. 이러한 복잡성은 분명히 $ O (q를 \의 SQRT는 {n은 }) $ 을 수행합니다.

도 직접 안티 복잡도 분석 : 내장 각 포인트를 설정하는 것은 $ \ 당량의 \ {N} SQRT의 정도를 들면, 그 점의 수의 위치 에너지 함수에 접속되어 $의 그 에너지 함수 $의 \의 SQRT의 값을 초과하지 않는 점 { N}는 그렇게 동작마다 복잡도 $ \ SQRT {N} $를 초과하지 않는 $, 차수 N $의 \ GEQ의 \의 SQRT 대한 {} $의 소수점 연산은 아니라는 것을이 점 $ \ 이상 증가에 대한 포텐셜 에너지 함수의 각 SQRT {N} $는 똑같이 그렇게 $ \ SQRT {n은} 달러 (A $) 공유됩니다. 따라서, 복잡도가 $ O (q 개의 \의 SQRT {n은 }) $.

암호

표준 관행를 첫번째 고려. 거짓말 Kangtuo 먼저 다수 압입 각 행을 확장 한 다음 $ I $ $ 어디 될 단일 변환기 후에 교체 J $ $ 통해 구성을 도시 F_ $ {I, J를 설정}. 이 $ O 할 수 있습니다 ((K를!) ^ 2K ^ 2) $ 않습니다.

바로 포인트 $ r에 $ 모든 왼쪽 지점에 대한 답을 계산 열거입니다. 우리는 교체가 이미에서 $ I $의 $ j에의 $ 심지어 에지 $ 변경 고려할 수있는 경우 (난, J) $, 모든면에 대한 모든이 후 왼쪽 필요한 포인트 그래서 지금 동등한은 $ 0 $의 목록에 추가 유니콤 블록 크기.

그룹 이론 및 라그랑주의 정리에 따르면, 우리는! 가장 유용한 교체 $는 $ log_2k입니다 종을 $를 간격 $ (1, R)에 대한 것을 알 수 있으므로 각 지점에 대한 권리에 대한 기록은 마지막에 나타나는 각 교체 모든이 $ 0 $를 얻을 수 인물을 가장 오른쪽 순열 순열 그룹이 추가로 표시되는 위치, 배열과 대답의 기여에 대한 BFS 업데이트로 도달 할 수 있습니다. 복잡성은 $ O해야한다 ((K) ^ 2K ^ 2 + NK (K + log_2k)!) $ 입니다 ......

그러나 위의 접근 방식은 매우 Kichiku입니다, 우리는 새로운 접근 것을 고려 :

우리는 믿는다 가장자리 $ (I 우측 J) $ 정렬 될 수 발생의 최신 시간 $ I $을 $ j에 $으로 교체 배치되는 에지 만 그래프 최대 스패닝 트리 명확 유용하다. 때마다 우리는 오른쪽 끝 지점에 $ K를 추가하는 것과 동일한 결과를 얻을 이동! $ 가장자리의 크루스 칼이 그것을 유지하고이 점은 시간의 길이와 같은보다 작은 경우 최대 스패닝 트리에 $ 0 $, 그때 왼쪽 각 지점에 병목 경로 길이를 찾을 사용 이러한 배치가 발생할 수 있습니다. 그래서 우리는 라인의 모든 병목 경로 길이와 기여 답변을 사용했다. 이러한 복잡성은 $ O해야합니다 (NK! Log_2k!) $ 의? 어쨌든, 나는 기록하지 않았다.

코드 (첨자 연산자)

E1

만나 - 인 - 더 - 중간. $ $ F_i 바로 $ R_1, R_2, 3 점의 왼쪽에 맞게 설정할 수 R_3 $, 난 $이 $의 \의하기 Binom 여기서 $으로 $ I $ 확률 세배 나타내는 배치 {6} {3 } = 20 $ 비트 이진수는 제 자리가 일치 $ 0 $ $ (L_1, L_2, L_3)를 나타낸다 $은 $ 1 $는 제 일치 $ (L_1, L_2, L_4)를 나타낸다 $을, 등등과. 이 일이 O를 $ 할 수 있습니다 (2 ^ {\ FRAC {N ^ 2} {2}} \ {N} {3}하기 Binom) $ 버스트 검색.

$ $ G_i은 제 1 비트가 $ 0 일치를 나타내는 위치를 나타내는 것을 $ R_4, R_5가 R_6 $는 트리플 $ I $ 확률 세트 왼쪽의 보수에 일치 될 수있다 나타내는 권리 설정 $ $ (L_4, L_5, L_6 ) $ $ 1 $은 첫 경기의 $ (L_3, L_5, L_6)을 나타냅니다 $, 등등하고있다.

우리 limits_ {I} f_i의 \ $ \ 주장 \ 합계 \ limits_ g_j을 $ {나 랜드 J = 0 \} 프리픽스의 후방 부와 것은 고차원의 합계를 산출 할 수있다.

나는 코드를 작성하지 않았다

E2

현재 $ $으로 L의 서브 세트를 나타내는 설정 $ 128 $ $ K $ 비트는 현재의 R $ $으로 일치 할 수있다. 다양한 요인에 의한 홀 정리, 이분 그래프의 수는 $ K $ 단지 $ S = 64,184 $ 종의 일치 조건을 충족하기 위해, 우리는 이러한 상태가 발견 고려하십시오. 우리는 현재 $의 R의 $에 새 점을 추가하는 것을 고려하는 때마다 $ K $를 저장 비트 세트 사용, $ R은 $ 경우 에지도 열거하고 $ K $의 값을 업데이트합니다. 이 부분의 복잡성은 $ O (S의 \의 FRAC {N2 수행 할 수 있습니다 $ {w} ^ {2N를}}), 어쨌든 오버 실행 약간 더 큰 문제가되지 않습니다.

새롭게 추가 기록을 함께 unordered_map도 상태를 검색하여 해시 과정에서 이들이 어느 상태에 전송한다 언제라도 인 경우 우측 가리. 이어서 DP : 세트의 F_ $ {I, J는} $ $라도 $ $ I $의 에지 점 전에 결정된 현재 R & LT는 현재 상태와 일치 $ $ J. 확률을 나타내고있다 전송 폭력은 현재 전송 포인트를 열거.

(S의 \ {N2 FRAC의 복잡성 $ O $ + NS2는 N ^ {w} ^ {2N}}).

암호

에프

$ $ $ I x_i로부터 제공 $ 코인 수가 $ I + 1 $가 $ x_i로부터 경우 <0 $가 $에서 $ I $, $ x_0 = x_n 행 I + 1 $ 경화의 개수를 나타낸다 나타낸다 을 $. 음표 $의 X_1, X_2, ... x_n 경우 $는 우리가 쉽게 $ \ 합 \의 limits_ {I = 같이 다수 생성 할 수 있다고 판정 x_i로부터 | | 1} ^ N $의 프로토콜 (및입니다 x_i로부터 - 하한) 내가 FORALL, A_I $ \를 만족하는 대상이된다 + X_ {I-1} \의 $ \ 합계 \ limits_ {I = [l_i가 r_i] $ 케이스 최소화 케이스 1} ^ N | x_i로부터 | $.

열거 $ $으로의 X_1 및 DP : 세트 $의 F_는 {난 J} $는 $ X_1 결정 나타내고, X_2, ... x_i로부터 , x_i로부터 = j 개의 $ 때 $ \ 합계 \ limits_ {K = 1} ^ I | x_k | $ 최소 값입니다. 이어서 F_ $ {I, J}는 $ {F_의 I-1, K에 $ 에}, k 개의 \ [l_i - A_I + J, r_i - A_I + J] $ 로 옮겼다. $ F_ {1, X_1}의 초기 값 = | X_1 |, F_ {1, 다른} = INF $.

하여 $ F_는 {난, J} $ $으로의 J $를 인수로 이산 함수 $ f_i 간주 (X) $ 다음 $의 F_ {I-1} ( x)는 $ $ F_에 {I} (X) $ 이러한 것들을 수행해야 1은 $ F_ {I-1} ( x)는 $ 왼쪽 병진 $ (l_i - A_I) $ 부 길이가 2이므로 $ g를 (X) = \ 분 \ limits_ {I = X} ^ {X + (r_i -l_i)} F (I) $ 3, 그래서 $의 F_ {1} + I ( X) = g (X) + | X | $.

이 경우 $ F_ {I-1} (참고 X)가 $ 볼록 선체 것은 너무 $ f_i (X) $ 볼록 선체이다. 그리고 우리는 가정 할 수 $ F_1 $ 만 $ X_1 $의 도메인, 그래서 $ f_i (x)는 $ 볼록 선체이다. 매우 실용적인 방법 볼록 선체 전체 볼록 선체로 설명 될 수 있도록, 그 권리를 유지하기 위해 직선의 기울기와 변곡점의 횡축을 유지하는 것이다.

글로벌 운영 횡축 $ 1 $ 라인에 마크 $ 2,3- 어려운 비트 $ 종사하는 동작을한다. $ 2 $에 $ P $으로 응시 지점에서 최소값을 가정 조작의 내용을 분석 한 후 $ [PT, P] $ $는 $ 0 경사 구간을 삽입하는 것과 동일하고 자루의 좌측 볼록 $의 t 남아 $. $ 3 개 $ 라인의 기울기가 $ 1 $의 저하의 기울기의 모든 세그먼트 모두 $ 1 $ <0 증가 0>에 대응하는 위치를 조작.

$ X $으로 간격 전역 최소 문제를 추구 경사 범위 동적 삽입 변곡점의 좌표 감소, 증가 또는 감소를 수행한다. 이것은 명백 Treap는 해결할 수 있지만,보다 우수한 방법은 두 스택의 모든 굴곡 GEQ 글로벌 태그를 동작 $ 0과 <$ 0 $ 및 $ 1 $, $ 2 $ 동작 <$ 0 $에 대응 광고 경사 $의 \ 오른쪽 유지 사용하는 많아야 단지 $ $ 1 선분 스택 다른 스택 도달하도록 $ X를 $으로 스택 마크 좌표 재생 동작을 마킹 $ 3 $이 시점에서,도이다.

우리는 $ O (nlogn) $ 시간이 질문에 대해 특정 $ X_1 $에 대한 찾을 수 있습니다, 우리는 지금 $ X_1 $의 답변 최소의 모두를 해결해야합니다. 다음 마법의 시간은 :

1, $ X_1 $ 실제 최적의 솔루션 변경됩니다. 당신처럼 하부 및 상부 경계 네트워크 흐름 문제로이 문제를 넣을 수 있습니다 사탕 배달 . 당시로서는 내가 정리를 증명하는 방법을 모르는에 따르면 용량과 비용이 비용 흐름의 정수 모든 측면 흐름이 다음 $ X_1 $ 변하지 최적의 솔루션은 실수이며, 정수 만족하는 최적의 솔루션이 있어야합니다. 보조 정리는 우리가 $ 실제 도메인에 정수 필드로 구성 $ X_1의 범위를 확장하는 데 도움이 될 것입니다.

2 개의 가능한 $와 (X_1, X_2, ... x_n) $ 의 값 : $ (P_1, P_2, ... , p_n) (q_1, q_2, ... q_n) $ 다음 $ (c_1과 FRAC = \ {P_1 + q_1} {2}, C_2 FRAC = \ {P_2 + q_2} {2}, ..., c_n = {2} {FRAC p_n + q_n} \) $가 있다 가능한 $ 세트 (X_1, X_2, ..., x_n) $. 고려 보여준다 : $ A_I-p_i + P_ { I-1} l_i, r_i, A_I에서 \ - q_i + Q_ {I-1} l_i, r_i]를 $ \, 및 $ A_I - C_I + C_ {I -1} = \ {FRAC 2a_i - (+ p_i q_i) + (I-P_ {1} + {Q_ I-1})} {2} = \ FRAC {1} {2} (A_I-p_i + {P_ I-1} + A_I - q_i + Q_ {I-1}) $, 범위의 두 숫자는, 그 평균은 또한 이들의 간격이 명백하게된다.

3 세트 $의 F (x)는 DP가 최적의 솔루션에 표현 $ $ X_1 =는 $을 X 유도 2 경우 $ X_1 = P_1 $ $ (P_1, P_2, ... 경우 p_n) $ 가장 얻을 바람직 $ X_1 = q_1 $ 시간 $ (q_1, q_2, ... q_n) $ 다음 $ (R_1, R_2, ..., 최적 얻을 r_n) $는 반드시 가장없고, 해결책들의 가능한 세트는 바람직하지만, $ 때문에 | r_i | = \ FRAC { | p_i + q_i |} {2} \ 당량 \ FRAC {| p_i | + | q_i |} {2} $는, 즉 $ \ 합계가있을 것이다라고하는 것입니다 | r_i | \ 당량 \ FRAC {\ 합 | p_i | + \ 합 | q_i |} {2} $, 즉 $의 F (\ FRAC {+ P_1 \ 당량 \ FRAC {F (P_1) + F {2} q_1}) ( q_1)} {2} $. 젠 슨 불평등 $ f를 $ 함수는 최소값을 갖는다 단조 증가 볼록 함수의 제 1 차 미분 값이다.

그래서 우리는 그것에 정수 필드에 $의 F (x)는 $ 최소를 찾을 수 3 분의 2의 규칙을 사용해야합니다. 복잡성 $ O (nlognlog의 \ 합계 A_I) $.

코드가 기록되지 않습니다

추천

출처www.cnblogs.com/Itst/p/11621057.html