0w1

Entries from 2017-02-01 to 1 month

IOICJ 89 Tool Man ( DP )

Problem Description: You are given an array A consisting of N elements. You know that they are K different people's orders, where some consecutive elements are what they have ordered. You also know that every order was ordered by some one,…

IOICJ 31 Repeated String ( KMP )

Problem Description: Given string S, find A with minimum length, such that S is equivalent to A being concatenated several times.Constraints: 1≤T≤100 1≤|S|≤1e5 TL: 1000 msSample Input: 3 ababab aaabaaab aaabaaaSample Output: 2 4 7Solution:…

CFR 442 B. Andrey and Problem ( Math, Probability, Greedy )

Problem - B - Codeforces題意: 你有一件事情要完成,但你太懶所以想請你朋友做。你可以同時請很多朋友做,但是如果兩個以上個朋友同時做出來,他們會覺得你把他們當工具人,不特別看待他們。求最佳策略下,可以不讓朋友傷心而完成這項作業的機率是多少。資…

CFR 484 B. Maximum Value ( Math, Binary Search, Harmonic Series )

Problem - 484B - Codeforces題意: 給 N 個數字的數列 A。求最大的 A[ j ] % A[ i ],滿足 A[ j ] ≥ A[ i ]。資料規模: N ≤ 2e5 max{ A } ≤ 1e6解法: 首先發現相同的值是沒有用的,所以 unique() 一下。此時就能因為 Harmonic Series 想到每個數的倍數數…

CFR 567 D. One-Dimensional Battle Ships ( Sqrt Decomposition )

Problem - 567D - Codeforces題意: 有 1 * N 的棋盤,K 艘長度為 A 的船,不接觸且不重疊地擺放在其中。你接著對 M 個相異位子依序開槍,但你的朋友每一次都說你撲空。求第幾次開槍後是可以確定你的朋友說謊。若無解輸出 -1。資料規模: N ≤ 2e5 M ≤ 2e5解…

CFR 303 A. Lucky Permutation Triple ( Math, Modulo )

Problem - 303A - Codeforces題意: 求長度為 N 的三個排列 A, B, C,使得所有 ( A[ i ] + B[ i ] ) % N = C[ i ]。若無解輸出 - 1。資料規模: N ≤ 1e5解法: 先算一下總和:Sigma( i % N, for all 0 ≤ i 時間 / 空間複雜度: O( N ) #include <bits/stdc++.h> using names</bits/stdc++.h>…

CFR 380 C. Sereja and Brackets ( Segment Tree, D&C, Bracket Sequence )

Problem - 380C - Codeforces題意: 給一個括弧序列,和若干筆詢問。詢問給 L, R,問原序列的 [ L, R ] 區間裡最常的合法匹配序列 ( 可間斷 ) 多長 。資料規模: 序列長度 ≤ 1e6 詢問數 ≤ 1e5解法: 考慮基於分治的預處理。如果我們知道一個區間分別的最長合…

CFR 248 B. Chilly Willy ( Periodic, Observation )

Problem - 248B - Codeforces題意: 給長度 n,求長度為 n 的最小的數字,可以整除 2, 3, 5, 7。若無解輸出 -1。資料規模: 1 ≤ n ≤ 1e5解法: 打表,發現規律,週期為 6。時間 / 空間複雜度: O( 1 ) /*#include <bits/stdc++.h> using namespace std; #define int long lo</bits/stdc++.h>…

CFR 449 A. Jzzhu and Chocolate ( Math, Sqrt Decomposition )

Problem - 449A - Codeforces題意: 給一個 n * m 的巧克力板,要割 k 次,每次只能割還沒割過的整數水平線或鉛直線,求最小的塊面積最大可以為何。測資規模: A single line contains three integers n, m, k (1 ≤ n, m ≤ 1e9; 1 ≤ k ≤ 2e9).解法: 貌似有…

POJ 1180 Batch Scheduling ( Slope Optimization DP )

1180 -- Batch Scheduling題意: 有 N 個工作,用 T[ i ], F[ i ] 描述第 i 個工作需要花費的時間,以及單位時間的價值。第 i + 1 個工作不能在第 i 個工作完成之前被完成。每次可以選擇 k 個,未完成的工作中編號最小的工作,花費其 T 的總和,令之 P,的時…