原创 [DP優化] POJ 1160 Post Office

另解:四邊形不等式優化 考慮這個最優解關於段數是凸的,那麼我們不限制段數,而是給每段一個額外的權值,隨着這個權值單調變化,最優解的段數也會單調變化,二分出最優解是 m 段就好了 這個的本質是二分出那個凸函數在 m 上的斜率

原创 [期望] UOJ #214. 【UNR #1】合唱隊形

首先考慮如果要完成指定 k 個課程,那麼期望應該是 Fk=∑k−1i=01k−i 令 ft 表示 t 時刻之前 要求未被完成的概率 令 pS,t 表示 t 時刻之前 位置集合 S 未被完成的概率 然後瘦腿一發

原创 [二分圖匹配 線段樹] Codeforces 573D Round #318 [RussianCodeCup Thanks-Round] (Div. 1) D. Bear and Cavalry

如果沒有限制,顯然根據排序不等式 當每個點最多有一個限制不能選的時候,有一個很重要的性質 性質:i對應的點與i的距離<=2 證明: 設有一種情況i對應i+3 i—–(i+3) i+1—(i+2)

原创 [計數] 美團 CodeM 複賽 排列

#include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; typedef pair<int,int> abcd; typedef lo

原创 [高斯消元 矩陣的秩] 51Nod 1356 代數數的次數

請教了比利 首先 2n 次項是沒有問題的,比如2√+3√ ,可以構造f(x)=(x+2√+3√)(x+2√−3√)(x−2√+3√)(x−2√−3√) 這個不是最優解 最優解應該是構造這樣一個矩陣 每一行代表一個質因子 每一列代表

原创 高三日誌

原標題 高三志 又標題 看看這隻傻叉高三幹了啥 開坑 2017.09.02 23:47 高三,還是記錄一下吧。 07.22 退役 07.25-07.27 CodeM Final,Beijing 點贊 08.04-08.18

原创 [中等題] Project Euler 608 Divisor Sums

這個題怎麼Difficulty rating 80%80% 啊,送經驗的感覺啊 D(m,n)=======∑d|m∑k=1nσ0(kd)∑d|m∑k=1n∑a|k∑b|d[(a,b)=1]∑a=1n⌊na⌋∑d|m∑b|d[(a,b)=

原创 [數學 FFT] Codechef July Challenge 2017 #APRPS Irrational Root

跟 51Nod 1356 代數數的次數 是一樣的 不過這裏都是質數 也就是就是 2n 關鍵是輸方案 這個不一定有二次剩餘 感謝sxt 一個一個數加進答案 轉化成 已知F(x) ,求F(x+a√) 和F(x−a√) 的係數 這個推一

原创 [簡單題] Project Euler 601 Divisibility streaks

(k+1)|(n+k) 就是 (k+1)|(n−1) 這個函數就是最大的 k 使得 1,2,⋯,k 都整除n-1吧 隨便容斥下咯 #include<cstdio> #include<cstdlib> #include<algor

原创 [整體二分] Codechef January Challenge 2018 #MONSTER Killing Monsters

整體二分,然後問題變成,子集加,單點查詢,然後像CTSC吉夫特 可以用經典的二進制分高位低位的搞搞。調個參,大概是高5位低12位。 不知道在線怎麼做。 #include<cstdio> #include<cstdlib> #includ

原创 [FWT] UOJ #310. 【UNR #2】黎明前的巧克力

這是若干個 2xai+1 的東西的卷積 然後這個FWT一下發現每一項只有 −1 或 3 那麼卷積的FWT每一項就是若干個 −1 和 3 的乘積 這個不好求 直接加在一起FWT,那麼我們得到了每一項 −1 和 3 的和

原创 [雜題] Codechef SnackDown 2017 Onsite Final #MINIMAX Minimax

最小值的最大值小於等於最大值的最小值 那麼只要有一行一列最小值等於最大值,那麼矩陣就合法 如果我們枚舉這一行和這一列,那麼最小值最大值一定就是他們的交點 那麼再枚舉交點最後的值是多少 這樣複雜度是O(n4) 換一下 先枚舉值 再

原创 [雜題] Codechef July Challenge 2017 #MULDIG Multiplication Program

大意是把二元運算化成一元運算 感謝sxt的幫助 剩下的看代碼註釋吧 //我覺得蠻清楚了 唯一不爽的是 沒想到臨時變量這麼多 mmp #include<cstdio> #include<cstdlib> #include<algorit

原创 [DP] UOJ #311. 【UNR #2】積勞成疾

fi,j 表示長爲 i 的區間 最大值是j 的答案 轉移就枚舉最左邊的最大值在區間的位置 前綴和優化下就好了 好像也可以fi,j,k 表示前 i 個,末尾 K 箇中最大值在 j ,最大值是 k ,有點複雜? #include<

原创 [後綴數組 後綴樹] Codechef January Challenge 2018 #KILLKTH Killjee and k-th letter

建出後綴樹,記錄每個子串的出現次數,然後二分下答案在哪個子串中就好了 退役選手不會寫後綴自動機 #include<cstdio> #include<cstdlib> #include<algorithm> #include<vector>