按解決順序排列
目錄
- F
- A
- I
- D
- H
- E
- C
- K
- J
- G
- B
F
二分答案ans,放最小的前ans個bi(變成必須放完)
因為bi=2^k,所以小的放了可能會拆散大的空間,大的把小的地方佔了的話小的可以塞其他地方,所以先放大的
然後暴力能放則放,最多log次指標回到開頭
所以一次求解O(nlogn),總複雜度log^2
A
模擬,暴力列舉暴力異或
注意X串要多留k-1位
I
把限制Pa!=b變成叉掉點(a,b),畫一下發現問題等於求多少個內部沒有叉的合法矩形 (a~b,L~R)
經典問題(疑似),列舉R,維護每個點(x,R)左邊的最大長度,那麼一對a0,b0對應 min L[x] (x in (a0,b0)) 個 (a0~b0,某L,R) 的矩形,單調棧維護,在彈掉時可以求出跨過某x的方案
D
列舉r,倒著列舉l,依次把a[l]在權值數軸上點亮
然後經典問題維護連續區間個數,個數=點-邊,邊就是相鄰兩個都點亮了的,個數<=2合法
(tips:可以做到O(nlogn)……)
H
題意:每次把當前圖的x->y->z->...->x且權值和<=3的環的權值變為0,然後持續操作直到不能變為止,求最短路
一開始會把三元環給邊0,然後 三元環點->x->(y)->三元環點 的點變0,如此反覆
可以發現權值變為0等於縮點,縮得的團內的邊都是0,團外邊位1,現在要模擬縮點的過程
記點x的入邊對應團集合為In[x],出為Out[x],那麼 團內點->x->(y)->團內點 的判定條件為 In[x]&Out[y]!=0,列舉x,y(若沒有y則會列舉y=團內點,也可以判到),bitset最佳化判斷即可
一共縮n次,每次列舉m條邊,check複雜度n/ω,所以總複雜度O(n^2m/ω)
E
神題,我懂得欣賞
https://www.cnblogs.com/gmh77/p/18550020
C
(咕)