原创 HDU 5779 Tower Defence

求有多少個n個點的、邊權爲1的無向圖滿足從1號點到其他任意一個點的最短路都不等於k,不連通距離爲inf。 n,k≤60. 從前有個蒟蒻,連個O(n^4)的dp都寫不好,循環分不清南北== #include<set> #inclu

原创 HDU 5784 How Many Triangles

求二維平面上的n個點可以組合成多少個不同銳角三角形,有一個點位置不同即不同。 數一數銳角的數量A和直角+鈍角的數量B,那麼答案就是(A-2B)/3。 使用極角排序+two pointers就可以做到O(n2log n)

原创 HDU 5764 After a Sleepless Night

給定一棵有根樹,點權爲1~n的全排列,已知每個點子樹中權值的最大值(不妨稱爲新值),求字典序最小的點權方案。 原題開始沒有給出根的位置,然而被秒了ASC 24E(Andrew Stankevich Contest 24 E)的bb

原创 Origin SuffixArray

不成熟的後綴數組模板:P,還缺ST表、前綴和什麼的。 開始試着敲hzwer學長的模板,然而mul函數調用非常慢,滾動也略不方便。 最後還是用了標準的模板,不會拖後腿的模板感覺還好。 #include<set> #include

原创 HDU 5728 PowMod

k=∑mi=1φ(i∗n) mod 1000000007 n is a square-free number. φ is the Euler’s totient function. find: ans=kkkk..

原创 BZOJ 1005 [HNOI2008]明明的煩惱

給定一棵n個節點的樹的節點的度數,其中一些度數無限制,求可以生成多少種樹。 用到了Prufer數列的知識。 度娘: Prufer數列:是由有一個對於頂點標過號的樹(標號樹)轉化來的數列,點數爲n的樹轉化來的Prufer數列長度爲

原创 HDU 5732 Subway

給定兩棵同構的樹,要求輸出對應的點對。 Hash #include<algorithm> #include<iostream> #include<cstring> #include<cassert> #include<cstdi

原创 HDU 5771 Turn Game

給定一個n∗m 的全0矩陣,每一次可以將一個w∗h 的矩形中的數^1,其中w、h至少有一個爲1,求k次之內可以達成的局面數。 T≤600,1≤N≤4,1≤M≤10,K≤N*M 非常喜歡這道題,尤其是在看懂題解之後,覺得非常的有

原创 HDU 5770 Treasure

給定一棵樹,樹上有m個寶箱,每個寶箱都有一個把鑰匙,以及各自的價值,要先拿到鑰匙纔可以開寶箱,必須開掉所有能開的寶箱。要求選擇一條簡單路徑,使得最後獲得的總價值最大。 官方題解: 假設鑰匙在節點A ,寶箱在節點B ,C=LCA(

原创 PE 434 Rigid graphs && HDU 5729 Rigid Frameworks

給定n*m的方格,每個方格只能在其中一條對角線上加邊,求使所有的方格穩固的加邊方案數。 n,m≤10 具體:https://projecteuler.net/problem=434 轉化:求左邊有n個點,右邊有m個點的聯通二

原创 BZOJ 1006 [HNOI2008]神奇的國度

給定一個弦圖,求最小染色。 題意都奧妙重重。 陳丹琦:弦圖與區間圖 PoPoQQQ jcvb vfleaking 筆記: (0)弦圖(chordal graph):一個無向圖稱爲弦圖當圖中任意長度大於3的環都至少有一個

原创 BZOJ 2783 [JLOI2012]樹

給定一棵有根樹,每個節點有權值,求有多少鏈上的權值和爲S,要求鏈上節點的深度必須單調(即這條鏈由某個節點出髮指向根)。 看到PoPoQQQ學長用類似構造虛樹的思想虐了這題,即用棧維護一條長鏈,然而感覺複雜度不靠譜,於是老老實實寫

原创 BZOJ 2115 [Wc2011] Xor

給定邊權爲非負的無向圖,求1到n邊權異或和最大的路徑(可以重複經過點和邊)。 n≤50000,m≤100000,0≤ei≤1018 PoPoQQQ: http://blog.csdn.net/popoqqq/article/d

原创 HDU 5765 Bonds

求一個無向連通圖中每條邊在極小割中出現的次數。 n≤20,m≤n(n-1)/2. 關於極小割: s.t.沒有任何一個可行割是其子集 極小割邊集的定義下割邊集恰好會將原圖分成兩塊。 接下來要處理的是將兩個塊之間的

原创 Origin FlowNet

蒟蒻也不知道爲什麼自己的最小費用流模板這麼長。== init()+newnode(),加點應該很靈活了,變量名也起得很良心。 以後如果速度不理想再寫份新的。:P #include<set> #include<ctime> #i