原创 UOJ#214. 【UNR #1】合唱隊形

我們令fifi 表示使得ii ~i+L−1i+L−1 合法的期望次數,題目要求的其實就是min(f1,f2....fn−L+1)min(f1,f2....fn−L+1) 的期望 我們先考慮怎麼求fifi ,設共有UU 種課程,其中

原创 LOJ#2331. 「清華集訓 2017」某位歌姬的故事

將序列離散化後,可以給每個點確定一個取值的上界wiwi 對於限制(lj,rj,cj)(lj,rj,cj) ,只有[lj,rj][lj,rj] 中wi=cjwi=cj 的點能貢獻 對於一個cjcj ,將所有wi=cjwi=cj 的

原创 CCPC2019 秦皇島站部分題解

雖然已經過去了很久,而且我也沒寫補題的代碼(咕咕咕&寫了不知道交到哪裏),但是感覺這場比賽的題目質量還是不錯的,還是寫一下題解 C: 大致題意: 定義一個序列a1,a2,...ana_1,a_2,...a_na1​,a2​,...

原创 BZOJ5212: [Zjoi2018]歷史

一個LCT,已知每個點的Access次數,每次Access點x時,往上遇到的輕邊數會產生貢獻,求最大貢獻和 先不考慮修改 我們定義輕邊的父親節點爲產生這次貢獻的節點 可以發現每個點產生的貢獻只和其子樹裏相鄰的Access操作是否

原创 BZOJ4770: 圖樣

我們令f[n][k]f[n][k] 表示n個點,每個點點權在[0,2k+1)[0,2k+1) ,MST邊權和的期望 轉移的時候,我們枚舉有i個點第k位爲1,n-i個點第k位爲0,則最後的MST一定是i個點和n-i個點之間連一條邊

原创 5.30聯考題解

A. 給出n個m維空間中的點,對於點A(x0,x1....xm−1),B(y0,y1....ym−1)A(x0,x1....xm−1),B(y0,y1....ym−1) (0<=xi,yi<4)(0<=xi,yi<4) ,兩點的距

原创 5.23聯考題解

A: 發現一個合法的圖一定是一個n-2個偶數度點,2個奇數度點的圖,這兩個奇數度點之間有邊就刪,沒邊就加,對應的歐拉回路圖是唯一的 我們反着考慮這種對應關係,假設我們已知對圖操作後得到的歐拉回路圖G,可以發現對於這n個點完全圖

原创 BZOJ3585: mex

實際這題只需要考慮<=n的值 區間mex有兩個經典做法,一個是莫隊+對權值分塊,另一個就是主席樹 我們對1~i建立主席樹,位置j維護1~i中,j最後一次出現的位置 查詢l rl r 時,在第rr 棵主席樹上找到第一個<l<l

原创 2017 ACM-ICPC World Finals 題解

先貼官方題解:http://www.csc.kth.se/~austrin/icpc/finals2017solutions.pdf Problem L Visual Python++ bzoj4959 不難發現匹配是唯一的,

原创 2016 ACM-ICPC World Finals 部分題解

Problem A Balanced Diet 令S=∑aiS=∑ai ,對於nfi−1<si<nfi+1nfi−1<si<nfi+1 ,當nfi是非整數時有2個合法取值,nfi是整數時僅有1個合法取值,nfi是整數當且僅當n是S

原创 BZOJ5308: [Zjoi2018]胖

一個點每被更新一次最短路都會對t貢獻1 我們考慮所有和宮殿有邊相連的瞭望塔,考慮他能更新到的區間,一定是連續的一段 我們可以二分這一段的左右端點,假設左端點在ll ,這個瞭望塔在ii ,那麼就是要求[2l−i,i−1][2l−

原创 BZOJ4764: 彈飛大爺

和彈飛綿羊類似的,那題是維護一個內向樹,這題是維護若干棵基環內向樹和一棵內向樹 同樣的用LCT維護就好了 內向樹可以直接維護,對於基環內向樹,隨便找環上一點x做根,記錄他指向哪個點to[x] 對於Cut操作,不在環上可以直接斷

原创 UOJ#129. 【NOI2015】壽司晚宴

要求A,B選的數兩兩互質,其實就是把1~n的質因子分配給A,B兩個人(可以都不給) 一種樸素的想法是直接狀壓所有質因子,O(n2n)O(n2n) 注意到實際上在一個數中>n−−√>n 的因子至多隻會有1個,把他們壓到狀態裏很浪

原创 2014 - ICPC - Beijing 補

把訓練時沒過的題補了一下 E - Everlasting L (HDU - 5116) 訓練的時候因爲沒給數據組數,一直不敢寫的做法其實是正解… 這題問的是有多少對不相交的優秀的L,優秀的L定義爲豎的長度和橫的長度互質 我們把L左

原创 UOJ#273. 【清華集訓2016】你的生命已如風中殘燭

問題相當於有和爲0的m個數aiai ,求ii 有多少種排列使得任意一個前綴和都>=0 先給序列末尾加上一個-1,變成m+1個和爲-1的數,要求前m個前綴和>=0 發現對於這m+1個數的每一種圓排,在他能夠旋轉得到的m+1種排列中