原创 [JXOI2018模擬]攻略世界樹 網絡流+建圖

Background T3 Description 這是在ALO世界線上。爲了幫助桐子救出本子娜,ALfheim Online的多個工會展開了針對世界樹的攻略活動。 但是在攻略之前,必須策劃好進攻方案。策劃進攻方案之前也要先完成基礎人員

原创 [CF600E] Lomsat gelral 樹上啓發式合併

樹上啓發式合併qwq,一聽就是很高級的算法,其實也不難。 這個算法主要也只能應用於: 子樹統計 無修改操作 算法實現過程 首先進行輕重鏈剖分,和樹剖不同的是,我們每次先dfs輕兒子,暴力統計答案大小,並且暴力刪除輕兒子產生的影響。最

原创 priority_queue 優先隊列 STL

C++優先隊列的基本使用方法  #include<iostream> #include<functional> #include<queue> using namespace std; struct node {     frie

原创 點分治 水題集合

由於考場上想出點分治可是不會寫(2333 蒟蒻花了一天寫點分治qwq 3365: [Usaco2004 Feb]Distance Statistics 路程統計Time Limit: 10 Sec  Memory Limit: 128

原创 [BZOJ3155]Preprefix sum

題目要求的是∑i=1n∑j=1iaj∑i=1n∑j=1iaj 原式=∑j=1n∑i=jnaj=∑j=1n(n−j+1)∗aj=n∗∑j=1naj−∑j=1n(j−1)∗aj=∑j=1n∑i=jnaj=∑j=1n(n−j+1)∗aj=n∗

原创 [BZOJ2427] 軟件安裝 tarjan縮點+樹形揹包

這題顯然是揹包,然而我們發現連邊後會存在強連通分量,而由於有奧妙重重的依賴關係,所以當我們選擇強連通分量中某個點的時候,整個強連通分量都要選。所以我們縮點,用一虛擬源點向入度爲0的點連邊,跑樹形揹包就行了 #include<iostrea

原创 [BZOJ1174] Toponyms 字典樹模板

剛剛學字典樹,於是乎打了一個模板。不得不說好像會卡空間。。反正寫了一個錯誤的代碼2333 Trie樹數組版: #include<bits/stdc++.h> #define maxn 500010 using namespace std

原创 [BZOJ1452] Count 二維樹狀數組

隨便翻一道題目,然後是二維樹狀數組 實際上和普通的樹狀數組也是差不多的 也是對兩維進行lowbit然後操作 求某一個矩形容斥一下就行了 #include<bits/stdc++.h> #define maxn 310 #define

原创 [BZOJ1565]植物大戰殭屍 最大權閉合圖

BZOJ1565 題目有點長qwq,讀了很久纔看懂。 這似乎是一道最大權閉合圖的裸題,但是我們發現存在植物互相保護這種情況,即建出來的圖不一定是DAG。那麼我們可以拓撲排序找環,然後把環忽略。然後把不可攻擊的點(即環上的點)不與虛擬源

原创 [BZOJ3262]陌上花開 三維偏序 CDQ分治+樹狀數組 模板

cdq分治似乎是一種特殊的分治,一般的分治中[l,mid]與[mid+1,r]是基本上沒有關係的,然而cdq分治中[l,mid]中可能會對[mid+1,r]的答案造成影響。我們可以運用排序、數據結構或者cdq來進行降維操作。 cdq分治的

原创 [BZOJ1503]鬱悶的出納員 動態開點權值線段樹模板

自己摸索着寫的指針版動態開點權值線段樹,也沒有那麼毒瘤。。 對於提高或者降低工資,我們可以移動最低工資線,同時記錄工資變化多少用於對新人的處理,那麼就不用對每個人的工資進行操作了。特別的,對於減工資的操作,我們可以寫一個clear函數,

原创 期望&概率dp總結

原文地址:http://blog.csdn.net/qq_31759205/article/details/54730101 總算刷完kuangbin期望&概率專題了,下面總結一下心得和題解!

原创 [DP]斜率優化學習小結

蒟蒻花了一個晚上研究斜率優化qwq 不過大概還是搞明白了. 斜率優化是啥 其實是一種優化動態規劃的方法.我認爲斜率優化是建立在決策單調性的基礎上的.如對於形如這樣的狀態轉移方程f[i]=min/max(f[j]+xxx(j<i)) 其複雜

原创 貪心法求樹的最小支配集,最小點覆蓋,最大獨立集

原文地址(轉自 Ashly的博客) 定義: 最小支配集:對於圖G = (V, E) 來說,最小支配集指的是從 V 中取儘量少的點組成一個集合, 使得 V 中剩餘的點都與取出來的點有邊相連.也就是說,設 V’ 是圖的一個支配集,則對於圖中的

原创 [BZOJ1305] dance 最大流+二分

據說這是一種套路qwq(霧 首先拆點,把每一個人拆成‘喜歡點’和‘不喜歡點’,從每個男生的‘喜歡點’向自己的‘不喜歡點’連接容量爲k的邊,從每個女生的‘不喜歡點’向每個女生連接容量爲k的邊。對於男生i喜歡男生j,由男生i的‘喜歡點’向女