原创 bzoj P1072 [SCOI2007]排列perm

傳送門 果然一遇到dp就瞬間失去了思考能力。。 整沒看出來這是狀壓dp,思路也很不錯。 我們可以發現s長度很短,所以很容易想到狀壓來枚舉,我們枚舉一些數字是否使用,用狀壓記錄一下,也就是設f[s][i]表示狀態爲s的膜d爲i的方案數,然後

原创 bzoj P1042 [HAOI2008]硬幣購物

傳送門 這道題算我寫的第一道容斥原理。 大概瞭解了容斥原理的思想。 首先這題要求付款方案數,一道計數問題,然後我們就可以用容斥原理玩轉的求一些計數問題。我們考慮先dp,設F[i]爲不考慮每種硬幣的數量限制的情況下,得到面值i的方案數。然後

原创 bzoj P4870 [Shoi2017]組合數問題

傳送門 炒雞強的dp啊,原來組合題還可以這麼做,用組合的意義來dp,只做過用組合優化dp。 我們考慮一下那個式子的意義: nk個東西中取r個的方案數+nk個東西取k+r個的方案數+nk個東西取2k+r個的方案數+... 然後進一步轉化問題

原创 NOI 2018—遙遠的夢

希望一年後的我不負自己。

原创 洛谷 P2178 品酒大會(bzoj P4199 [Noi2015]品酒大會/uoj P131【NOI2015】品酒大會)

傳送門 這道題一看就是一種非常噁心的感覺,事實的確如此噁心到我飯都吃不下去。。 我恐怕真的不適合這個競賽。。 這道題我想的是sa+單調棧然後全世界都比我快,全世界都用的是並查集。。 好吧說下zz的做法:首先我們想想求lcp的過程兩個後綴的

原创 bzoj P3172 [Tjoi2013]單詞

傳送門 做完這道題終於知道了什麼叫做絕望。。 首先,這道題的讀入坑到我wa了一頁,然後這道題的讀入坑了我一晚上,最後這道題的讀入吧我玩廢了。。 用血寫出來的經驗最後一個字符要賦'\0'。。 好了說說這道題後綴數組的做法: 把每個單詞拼在一

原创 bzoj P3531 [Sdoi2014]旅行

傳送門 這道題學到了動態開空間線段樹的寫法,感覺跟主席樹有一定的類似。 說一下怎麼動態開吧。 首先回憶一下線段樹的過程,我們發現對於這題,每一顆線段樹都有很多的子結點是0,也就是說這些節點都是沒用的,所以我們考慮對於每一個非0葉子結點到根

原创 洛谷 P3338 [ZJOI2014]力(bzoj P3527 [ZJOI2014]力)

傳送門 很難受,不會輸公式,於是手寫了一份,比較醜,希望不要介意。fft的套路果然深。。照着網上模板學習了一下。。 代碼: #include<iostream> #include<stdio.h> #include<string.h>

原创 bzoj P4027 [HEOI2015]兔子與櫻花

傳送門 好吧這題我也沒想出來。我果然是個zz。。 很妙的貪心,(其實我也知道貪心,但是姿勢不對),我們觀察數據n<=2000000,如果樹形dp要o(n)很難yy到簡便的狀態和轉移方程,很自然的想到貪心。我們取一個子樹分析,發現兒子刪除對

原创 洛谷 P3773 [CTSC2017]吉夫特(bzoj P4903 [CTSC2017]吉夫特/uoj P300【CTSC2017】吉夫特)

傳送門 昨天寫的,額這題應該算ctsc2017最水的了吧,連我都會。 這題一看組合數取模直接上lucas定理啊,知道lucas的應該都A了吧。。還有那個樣例提示的太明顯了吧。。還有不是很懂網上爲什麼有人要用exlucas,2難道不是質數?

原创 uoj P35 後綴排序

傳送門 妥妥的後綴數組裸題(主要是樓主菜只會打這種題目),還有拓展lucas還沒調對qwq菜飛了。。。 求sa和lcp,就是後綴數組求sa和height。 代碼: #include<iostream> #include<stdio.h>

原创 洛谷 P3723 [AH/HNOI2017]禮物(bzoj P4827 [Hnoi2017]禮物)

傳送門 當初省選時看這題一臉懵逼,打了70分的代碼事實滿分還是很容易的(啪啪啪,自己wa了十次還說容易?? 好了說下題解吧,這題就是求循環卷積,我的代碼是0~n-1,式子是1~n(主要是博主FFT習慣寫0~n-1),照樣發圖片(博主太蠢,

原创 洛谷 P3745 [六省聯考2017]期末考試(bzoj P4868 [Shoi2017]期末考試)

傳送門 很妙啊,一開始只想着貪心。看了題解才知道三分。 因爲每個學生都必須知道自己的所有排名,所以只要結束時間固定那麼就能o(n)算出所需價值,再看這個函數,老師不滿意度是一條單調上升的曲線;學生則是下降;那門合成兩條線一定是一條二次函數

原创 bzoj P1036 [ZJOI2008]樹的統計Count

傳送門 嗯,一道裸裸的樹剖。 代碼: #include<iostream> #include<stdio.h> using namespace std; const int Maxn=30005; const int oo=214748

原创 bzoj P3195 [Jxoi2012]奇怪的道路

傳送門 這道題好難啊,不會(這個菜雞博主什麼都不會 這道題就是狀壓dp啦(跟主旋律那題一樣都是圖的狀壓dp都是以點作狀態壓縮,那到題是枚舉圖的點的集合(子集dp),這道題是枚舉點的奇偶性) 說一下dp方程式,設F[i][j][s][l]表