原创 [BZOJ1858]序列操作 線段樹

BZOJ1858 這題是不錯的線段樹練習題. 注意查詢的時候返回一個節點而不是一個具體的數,否則無法做到合併信息並上傳. 還好一個小時就寫完啦 #include<iostream> #include<iomanip> #in

原创 [BZOJ1801] 中國象棋 dp

我們可以考慮到每一列都是互不影響的 於是乎可以定義狀態f[i][j][k] 表示第i行,j列已經被填了兩次,k列已經被填了一次,轉移則可以直接由上一行轉移過來。 1. 不填 即f[i][j][k]=f[i−1][j][k]

原创 [BZOJ2301]Problem b 莫比烏斯反演+容斥

題意明確,就是求∑i=ab∑j=cdgcd(i,j)==k 首先容易發現容斥定理,轉化爲求 ∑i=1n∑j=1mgcd(i,j)==k 我們設f(d)=∑i=1n∑j=1m(gcd(i,j)==d) F(d)=∑i=1n∑

原创 [Atcoder ARC085 F] NRE 線段樹優化dp

Atcoder ARC085 F NRE 海明距離好像不知道是什麼東西,這道題目還是直接看DOFY dalao的題解的。 似乎這道題目只能有一種設計狀態的方法,其他方法都會GG。 設f[i][j]表示[a(i+1),aj]中

原创 [Atcoder ARC088 D]Wide Flip

Atcoder ARC 088 D 想了半個小時的結論,結果沒想出來。 我們可以考慮第k 位和第k+1 位,若這兩位不同的話,說明我們至少要進行一次不同時包括這兩個字符的flip 操作,而觀察這個操作,flip [1,m]和f

原创 [NOIP模擬] 跨時代 狀壓DP

題意 (背景省略) 演唱會的第一站,公司臨時跟當地的消防局借了n個欄杆,打算用這n個欄杆圍出一個矩形。而麻煩的是,這些欄杆有長有短,這就給圍場地帶來了一些難度。(每個柵欄可用可不用) 所以公司聘請你來寫一個程序,計算用這n個欄

原创 [Luogu2158] 儀仗隊 線性篩歐拉函數

Luogu2158 #include<iostream> #include<iomanip> #include<algorithm> #include<cmath> #include<cstring> #include<cstdi

原创 [網絡流24題]最長上升子序列問題

PowerOj1741 對於第一個小問我們可以跑一遍dp,求得ans1,和f[]數組,f[i]表示以i結尾的最長上升子序列 對於第二問和第三問,我們考慮把第i個數拆成兩個點,ai與bi。 考慮這樣建邊: 1. 連接ai,b

原创 [網絡流24題] 星際轉移問題

Luogu2754 由於這題每一天飛船所在的位置都不一樣,所以一開始想了很久,不知道如何建邊,不過後來突然一想,既然每天都不一樣那就以每天建邊。 1. 把源點向每天的地球連inf 邊,每天的月球向匯點連inf 邊 2. 對於

原创 [BZOJ2763] 飛行路線 dijkstra+堆

BZOJ2763 我們發現該題最棘手的問題就是如何處理k了. 於是乎我們可以這樣考慮,把一個點拆成k個點,即k層.其中第i層第j個點表示當Alice和Bob花費了i個免費機會,到達了j點. 那麼連邊跑一個dijkstra就行

原创 [BZOJ1412]狼和羊的故事

BZOJ1412 其實很容易想到割啦.然後再想一想就可以想到最小割啦. 割就是你選定一些邊,把這些邊去掉使得源點與匯點不連通.完全符合題目的意思呀. 又最小割等於最大流,跑一遍最大流就行啦 #include<iostream

原创 [網絡流24題] 軟件補丁問題

Luogu2761 似乎這不是一道網絡流的題目qwq,發現n很小,於是我們可以考慮狀態壓縮,也只是220 種狀態,對於狀態a可以到達狀態b,則連接一條時間的邊。跑一遍spfa就行了 但是這題更加坑的是卡空間,我們發現一條一條邊

原创 [Luogu2014]選課 樹形DP

Luogu2014 其實一眼就秒掉了這個樹形dp,然後想了想轉移,然而有些細節還是調了很久 首先整個圖不一定是聯通的,那麼我們考慮把森林轉化爲樹,即建立一個”源點“,然後把0向所有入度爲0的點加邊,就變成了一棵樹。 我們又發

原创 概率期望動態規劃

原文地址:https://www.cnblogs.com/Paul-Guderian/p/7624039.html 雖然概率DP有許多數學期望的知識,但是終究無法偏離動態規劃的主題。動態規劃該有的特點

原创 [JXOI2018模擬] way 樹形dp+啓發式合併

題目大意:給n個點的有根樹,每個點有個權值和大小,q個詢問,每個詢問爲x,s,意爲在x子樹中,選出大小之和不超過s的點,其中最大權值和是多少。 考場上寫個暴力,考後順便就學了啓發式合併。 啓發式合併也就是一種思想,即把小的合併到大的上去