原创 [LOJ2541] 「PKUWC2018」獵人殺(分治+NTT)

題意 有nnn個人,每個人有一個權值wiw_iwi​,每次隨機殺一個人,殺第iii個人的概率是wi∑j[j is alive]\frac{w_i}{\sum_j[j\ is \ alive]}∑j​[j is alive]wi​

原创 [51nod 1237] 最大公約數之和 V3(莫比烏斯反演+杜教篩)

題意 ans=∑i=1n∑j=1n(i,j),(n≤1010)ans=\displaystyle\sum_{i = 1}^n\sum_{j = 1}^n(i,j),(n\le10^{10})ans=i=1∑n​j=1∑n​(i,

原创 [BZOJ1555] KD之死(貪心+堆)

題意 給你nnn個盒子,每個盒子有重量www和可以承受的最大重量ttt兩個屬性,有些盒子是必選的,你現在要在把所有的必選的盒子選定的基礎上,使選擇的盒子最多,最開始你有一輛能承重vvv的車,如果不能選完必選的盒子就輸出Fooli

原创 CodeForces1010 D. Mars rover 位運算相關?

題意 給你一棵以111爲根的二叉樹,每一個葉子節點有一個[0,1][0, 1][0,1]範圍內的權值,每個非葉子節點上有一個運算符,非葉子節點的權值爲它的所有子節點進行該運算的結果,求每個葉子節點的值改變後111號點的權值 這

原创 [LOJ2019] 「AHOI / HNOI2017」影魔(離線+線段樹)

題意 每次詢問一個區間的貢獻,一個區間的貢獻可以這樣計算,每存在一個點對(i,j)(i,j)(i,j)滿足ki,kjk_i,k_jki​,kj​分別爲區間[i,j][i,j][i,j]的最大值和次大值就有p1p1p1貢獻,滿足(

原创 [BZOJ4828] [HNOI2017]大佬(DP+搜索)

題意 4828: [Hnoi2017]大佬 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 82  Solved: 47 [Submit][Status][Discuss] Des

原创 [LOJ2523] 「HAOI2018」奇怪的揹包(數論+DP)

題意 有一個奇怪的揹包,揹包的重量是放入其中的物品總體積對PPP取模後的結果。現有nnn種體積不同的物品,第iii種佔用體積爲ViV_iVi​,每種物品都有無限個。qqq次詢問,每次詢問給出重量wiw_iwi​,你需要回答有多少

原创 [LOJ2736] 「JOISC 2016 Day3」回轉壽司(分塊+堆)

題意 給出一個有 NNN 個點的環,環上各點有一個初始權值 aia_iai​,給出QQQ個詢問,每次詢問給出一個區間 [l,r][l,r][l,r] 和一個值 AAA ,對於 AAA 的變動定義如下(rrr 可能會小於 lll

原创 [51nod 1766] 樹上最遠點對(線段樹+樹的直徑)

題意 多次詢問一個點在[a,b][a, b][a,b], 另一個點在[c,d][c, d][c,d]內的樹上最遠距離。 有一個結論對於兩個聯通塊S,TS, TS,T,設d(S)d(S)d(S)表示聯通塊直徑的兩個端點,那麼d(

原创 [LOJ2434] 「ZJOI2018」歷史(DP+LCT)

題意 給你一顆樹上每個點的accessaccessaccess次數,計算輕重鏈切換次數的最大值。 首先要發現一個性質,那就是一個點的選擇是無後效性的,就是對於每個點貢獻的時候,只跟它的所有子樹的大小有關,然後每個點的貢獻就可以

原创 [LOJ2334] 「JOI 2017 Final」JOIOI 王國(二分答案)

題意 JOIOI 王國是一個 HHH 行 WWW 列的長方形網格,每個 1×11\times 11×1 的子網格都是一個正方形的小區塊。爲了提高管理效率,我們決定把整個國家劃分成兩個省 JOI 和 IOI 。 我們定義,兩個同省的

原创 [BZOJ1415] [NOI2005]聰聰和可可(期望DP)

題意 在一個魔法森林裏,住着一隻聰明的小貓聰聰和一隻可愛的小老鼠可可。雖 然灰姑娘非常喜歡她們倆,但是,聰聰終究是一隻貓,而可可終究是一隻老鼠, 同樣不變的是,聰聰成天想着要吃掉可可。 一天,聰聰意外得到了一臺非常有用的機器,據

原创 [Tsinsen A1210] 光棱坦克(動態規劃+前綴和優化)

題意 一個平面直角座標系上,有NNN個點,標號爲111到NNN,其中第iii個點的座標爲(x[i],y[i])(x[i], y[i])(x[i],y[i]),求滿足以下兩個條件的點列p[i]{p[i]}p[i]的數目(假設p[i

原创 [UOJ164] 【清華集訓2015】V(線段樹)

題意 給你一個序列,支持區間加上一個數,區間減去一個數,區間賦值,單點查詢,單點歷史最大值查詢。 首先發現三種操作可以轉化爲同樣的形式,定義(x,y)(x,y)(x,y)爲區間加上xxx後與yyy取max的標記,那麼區間加就是

原创 [BZOJ4355] Play with sequence(線段樹)

題意 給你一個序列,有三種操作, 111是區間賦值,222是區間加法後區間取對000取maxmaxmax,333是詢問區間內000的個數。 首先111操作可以轉化爲區間加上−inf-inf−inf後取maxmaxmax,那麼我