原创 CodeForces - 1247E Rock Is Push【線性DP】

題目鏈接:https://codeforces.com/problemset/problem/1247/E 題意:一個n*m的矩陣,有個別位置會有小球,小球受到撞擊會沿着方向撞到牆爲止(每個小球會佔一個格子)。你從左上角出發,只能向右或者

原创 CodeForces 915E Physical Education Lessons 線段樹動態開點

題目鏈接:https://codeforces.com/problemset/problem/915/E 題意:q次操作,每次將一段區間置0或者置1,然後輸出1~n中0的個數 思路:由於n太大,所以我們考慮線段樹動態開點,可以大大減少點的

原创 數列分塊入門題集 LOJ 6277 ~ LOJ 6285

這幾天把LOJ的分塊專題刷了個大概,總結一下。   LOJ 6277 數列分塊入門一 給出一個長爲 n的數列,以及 n個操作,操作涉及區間加法,單點查值。 思路:這個還是比較容易的,我們只需要快內暴力修改,再記錄一個標記就可以了。 #i

原创 POJ 1200-Crazy Search【滾動哈希】

描述 許多人喜歡解決難題,其中一些難題可能會使他們瘋狂。一個這樣的難題可能是在給定的文本中找到隱藏的素數。該數字可以是文本中存在的給定大小的不同子字符串的數量。您很快就會發現,您確實需要計算機的幫助和良好的算法來解決這一難題。 您的任務是

原创 BAPC 2019 G. Gluttonous Goop 線段樹掃描線

題目鏈接:https://nanti.jisuanke.com/t/44323 題意:有若干個小方塊,每秒會往八個方向擴展,問k秒後有多少個區域被覆蓋 思路:k秒後每個格子都擴展成了一個矩形,所以也就是求矩形面積並,用掃描線很好解決。 

原创 BAPC 2019 A. Appeal to the Audience 貪心 + DFS

題目鏈接:https://nanti.jisuanke.com/t/44317 題意:給你一棵樹和k個值,要把這k個值放在k個葉子結點上,而對每個非葉子結點來說 它的值爲兒子結點的最大值,求除了根節點外所有結點的最大權值和 思路:無疑是貪

原创 BAPC 2019 F. Find my Family set + 二分

題目鏈接:https://nanti.jisuanke.com/t/44322 題意:給你n個數的序列,問你是否存在ai > aj, aj < ak, ai < ak, i < j < k 思路:我們貪心的想,由於要是ak最大,所以我們從

原创 51nod 1202 子序列個數 【計數DP】

子序列的定義:對於一個序列a=a[1],a[2],......a[n]。則非空序列a'=a[p1],a[p2]......a[pm]爲a的一個子序列,其中1<=p1<p2<.....<pm<=n。 例如4,14,2,3和14,1,2,3都

原创 NOIP / ACM 選手必知的編程技巧及常用C++頭文件模板

前言       平時做題或者比賽掌握一些有用的技巧會方便我們調試,使程序可讀性更強,另外模板也比較省時,所以我就從網上整理了一下。   重載運算符 重載運算符是通過對運算符的重新定義,使得其支持特定數據類型的運算操作。 有的時候,我們構

原创 Codeforces Global Round 7 D2. Prefix-Suffix Palindrome (Hard version) 馬拉車

題目鏈接:http://codeforces.com/contest/1326/problem/D2 題意:給你一個字符串,找到該字符串的前綴s和後綴t連接,使得組成的字符串是迴文串且最長 思路:因爲一個是前綴一個是後綴,所以我們先找到兩

原创 Codeforces Round #620 E 1-Trees and Queries LCA

題目鏈接:https://codeforces.com/contest/1304/problem/E 題意:給你一顆樹,多次詢問,每次給你一條連邊x,y的機會,問你a到b是否存在k條邊的路 其中某些邊可以重複任意次 思路;不加邊時只要k>

原创 Codeforces Round #636 (Div. 3) D. Constant Palindrome Sum 線段樹區間修改 差分

題目鏈接:http://codeforces.com/contest/1343/problem/D 題意:給你n個元素的序列,你可以每次將一個數變成[1, k]的值,現在要求a[i] + a[n - i + 1] = 定值 問最少修改幾個

原创 Codeforces Round #636 (Div. 3) E. Weights Distributing BFS + 枚舉

題目鏈接:http://codeforces.com/contest/1343/problem/E 題意:給你一個圖和邊權集合讓你分配每條邊的權值使得a->b->c的路徑和最小 思路:枚舉經過的中間點x,也就是a->x->b->x->c,

原创 Codeforces Round #637 (Div. 2) D. Nastya and Scoreboard 線性DP

 題目鏈接:http://codeforces.com/contest/1341/problem/D 題意:0~9的數字是由圖中的木棒組成的,現在給你若干個顯示屏,你可以恰好添加k個木棒 問你能夠組成的最大數字是多少 思路:num[i][

原创 CodeForces 161D Distance in Tree 點分治

 題目鏈接: http://codeforces.com/problemset/problem/161/D 題意:給你一棵樹,讓你求有多少對點的距離等於k  點分治裸題,每次分治子樹記錄經過當前根節點的距離 #include<bits/