原创 百度之星2016初賽(第二場) -- Astar Round2B

1003   簽到題,其實就是輸出一個取模後的組合數,需要用到乘法逆元。 #include <iostream> #include <stdio.h> #include <cmath> #include <

原创 2016.5.8 PKU校賽總結

  必須感謝PKU的包容,使得我這種沒有書讀的文盲得以參加off-line比賽,十分excited!下面是流水賬。   上個月在羣上得知了這個比賽,然後順便在羣上找到了一位高中生隊友absi2011,這位同學CF分和我差不多,也是2k出頭

原创 Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 - Elimination Round 2)

  比賽的時候過了3題的pretest,結果systest怒跪2題。。rank幾乎墊底。但是這場題目確實比較簡單。 A. Road to Cinema   cf特別愛出的二分題。。二分汽油容量,得到一個最小的能跑完的容量,然後在滿

原创 Codeforces VK Cup 2017 - Round 2

A. Voltage Keepsake 二分答案。 B. Volatile Kite 把問題轉換爲求每個點到相鄰2點組成的線段的距離。 C. Vulnerable Kerbals 這題有點意思。我們可以推出這樣的結論,當前綴的積(

原创 hdoj 3507 Print Article

  我的第一道斜率優化dp。   首先,O(n^2)複雜度的dp是很容易想到的。現在我們需要用斜率優化把每次轉移的複雜度優化到O(1)。考慮從dp(a)和dp(b)轉移到dp(i),若從dp(a)轉移要優,則有dp(a)+(sum(i)-

原创 Codeforces Round #349 (Div. 1)

A. Reberland Linguistics   此題重在理解”in a row”的含義。意思是不能有連續相同的兩截。正確理解了題意以後,隨便dp一下,答案塞到set裏面即可。 #include <bits/stdc++.h>

原创 Codeforces Round #351 (VK Cup 2016 Round 3, Div. 1 Edition)

A. Bear and Colors   模擬一下就完了。 #include <bits/stdc++.h> using namespace std; #define ll long long int a[5010];

原创 Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition)

A. Little Artem and Matrix   沒什麼好說的,逆向模擬一下。 #include <bits/stdc++.h> #include <unordered_map> using namespace std;

原创 Codeforces Round #358 (Div. 2)

C. Alyona and the Tree   dfs。看看哪些節點需要刪去,刪掉它爲根的子樹即可。 #include <bits/stdc++.h> using namespace std; #define ll long

原创 TopCoder Open 2016 R2B

300   這題讓計算三條邊分別不超過a ,b ,c 的三角形有多少個,數據範圍1e9 ,比賽時寫了個O(1e9) 的,悲慘爆零。   正確的做法是利用容斥原理O(1) 。如果三條邊可以是不超過a ,b ,c 的任何數,答案就是

原创 快速傅里葉變換(FFT)

  首先說一下我用FFT做什麼,我要做的是多項式乘法,或者說,加速多項式乘法。   考慮多項式A(x)=∑j=0n−1ajxj ,它一共有n 項,我們稱它的次數界爲n 。假設我們有兩個次數界爲n 的多項式A(x) 和B(x) ,

原创 2016 計蒜之道 複賽 A

  這場比賽對我來說最有價值就是這題。。讀完題肯定會有一個樸素的想法,枚舉不能使用的k 跑n 次floyd,也就是O(n4) 的複雜度,無法通過。實際上,在跑那麼多次floyd的時候,有很多操作是不必要的。所以可以分治來做,每次k

原创 zoj 2342 Roads

  在最優策略中,我們只會減少石頭路的費用,增加爛泥路的費用,設這個改變量爲l(x) 。由於前n−1 條邊是生成樹,對第n ~m 條邊中的每一條,它的加入會形成一個圈。在最優解的情況下,圈中的任意一條石頭路費用不大於爛泥路的費用。

原创 Educational Codeforces Round 13

D. Iterated Linear Function   線性遞推。按照我以前的做法,就是矩陣快速冪了。後來我發現,其實這題可以不需要矩陣。遞推一下找找規律x2=a∗x1+b ,x3=a∗a∗x1+a∗b+b ,x4=a∗a∗a

原创 Codeforces Round #360 (Div. 1)

B. Remainders Game   如果兩個數模所有ci 結果一樣,這兩個數的差一定是LCM(ci) 的整數倍。要使得能夠唯一確定一個xmodk ,LCM(ci) 必須是k 的整數倍。 #include <bits/stdc