原创 【51nod】1291 Farmer 【求n*m的矩形內全1的i*j的矩形個數】【dp】

題目鏈接:【51nod】1291 Farmer 去年做的題,一直沒有放出來,單調棧,O(N^2)。O(N^2logN)也能過。 #include <bits/stdc++.h> using namespace std ; #de

原创 環上k劃分的和的gcd的最大值【gcd基本性質的利用】

今早看到的題,想了下會做了,但是覺得這題挺有意思的,於是打算寫一下做法。本題利用了gcd的基本性質:更相減損法以及結合律,平時做gcd的題基本沒用到過這兩性質,而本題對這性質進行了充分利用。 思路: 首先我們考慮給一個序列,我

原创 【BZOJ】4643 卡常大水題【bitset優化bfs】

題目鏈接:卡常大水題 #include <bits/stdc++.h> using namespace std ; typedef long long LL ; typedef pair < int , int > pii ;

原创 【HDU】5899 oasis in desert 【二分匹配】

題目鏈接:oasis in desert #include <bits/stdc++.h> using namespace std ; typedef long long LL ; typedef pair < int , in

原创 可持久化二項堆

namespace Binomial_Heap { struct Node { int c[2] , x ; LL val ; } T[MAXN * 200] ; struc

原创 【HDU】5957 Query on a graph【分類討論+bfs序線段樹】

題目鏈接:Query on a graph 水題 #include <bits/stdc++.h> using namespace std ; typedef long long LL ; typedef pair < int

原创 【HDU】5426 Rikka with Game【DP】

題目鏈接:【HDU】5426 Rikka with Game #include <bits/stdc++.h> using namespace std ; typedef long long LL ; #define clr(

原创 【HDU】5566 Clarke and room【樹鏈剖分+AC自動機】

題目鏈接:Clarke and room #include <bits/stdc++.h> using namespace std ; typedef long long LL ; #define ls ( o << 1 )

原创 【HDU】5574 Colorful Tree【子樹染色,詢問子樹顏色數——線段樹+bit+lca+set】

題目鏈接:【HDU】5574 Colorful Tree 題目大意:對一個子樹染色,詢問一個子樹的顏色數。 題目分析:set 維護每種顏色所在的dfs 序區間,修改均攤nlogn 。 #include <bits/stdc++.

原创 【HDU】5960 Subsequence 【可持久化左偏樹維護K短路】

題目鏈接:Subsequence 題目分析:建出最短路圖,將最短路圖的邊全部反向,求出t 出發的任意一棵最短路樹(其中d[i] 爲t 到i 的最短路)。然後考慮i 的原向邊出邊表,任意不在最短路樹上的邊<i,j> ,設其權值爲d[

原创 【codeforces】gym 101138 K. The World of Trains【前綴和優化dp】

題目鏈接:K. The World of Trains 記錄一個橫着的前綴dp和以及斜着的前綴dp,複雜度O(n2) #include <bits/stdc++.h> using namespace std ; typedef

原创 【HDU】5420 Victor and Proposition【SCC+線段樹】

題目鏈接:【HDU】5420 Victor and Proposition #include <bits/stdc++.h> using namespace std ; typedef long long LL ; #defi

原创 【Tsinsen】1228 飛飛俠【並查集優化最短路】

題目鏈接:A1228. 飛飛俠 #include <bits/stdc++.h> using namespace std ; typedef long long LL ; #define clr( a , x ) memset

原创 【HDU】5571 tree【動態點分治】

題目鏈接:【HDU】5571 tree【動態點分治】 題目大意:給一棵N 節點的樹,每個點有點權ai ,有m 次單點點權修改,每次修改以後,輸出∑Ni=1∑Nj=1(aixoraj)⋅dis(ai,dj) 的值。 題目分析:考慮

原创 【51nod】1302 矩形面積交【優先隊列貪心】

題目鏈接:【51nod】1302 矩形面積交 因爲最後可以旋轉,所以每一組的矩形一定是短邊對短邊,長邊對長邊。 考慮短邊最短的一定在A 組,然後我們將其餘的矩形按照長邊排序,枚舉在B 組的最短長邊,逐個將矩形插入優先隊列,然後優先隊列中