好可惡卡常卡死我了。
t1我們點分治。
對於每乙個位置按照到點分中心的所有子樹節點劃分不同路徑。
二分答案(最小的使得大於其的路徑個數為k的長度)。
只需要給點分資料排序。
雙指標掃一掃再加乙個求有多少個大於等於當前二分長度的路徑。
輸出答案即可。
t2維護乙個線段樹。
維護區間與綴和,或綴和。
考慮判斷當前區間\(and\ or\)某乙個數之後,其變化的位是否均相同。
如果相同打標記下傳,否則向下遞迴。
查詢直接查詢區間最大值即可。
t3比較有意思。
我們求得乙個質數使得:
\[p\equiv 1\ (mod\ k)
\]這樣\(k|phi\)。
所以這樣的乙個質數\(p\)是存在\(k\)次單位根了。
設其\(k\)次單位根為\(g\)。
那麼有:
\[g^k\equiv 1\ (mod\ p)
\]對於每乙個\((i,j)\)隨機出來乙個\(rd_\)。
那麼給每乙個位置設乙個權值\(w_=rd_x^}\)。
當然如果這個位置沒有利是,權值自然為0.
這樣我們每次代入乙個\(x=g^i\)求行列式。
對於\(i\in[0,k)\)我們求\(k\)次行列式,把值累加。
那麼對於乙個合法排列(不含有\(a_=-1\))\(p\)來說,設\(\sigma(p)\)為其逆序對個數。
其對最終和的貢獻即為:
\[w=(\sum\limits_^g^^a_})(-1)^\prod\limits_^rd_
\]設:\(s=\sum\limits_^a_\)。
那麼當\(s\equiv 0\ (mod\ k)\)的時候。
我們的\(g^s\equiv 1\ (mod\ p)\)
前面那部分,如果我們的\(s\equiv 0\ (mod\ k)\)的話,值必然為\(k\)。
否則我們用等比數列求和公式:
\[\frac-1}-1}
\]這樣必然為0。
然而如果求和為0的話,很大概率是不存在解。
如果求和不為0的話,必然存在乙個解。
(題解鍋的太厲害了吧。。。
省選模擬50
看到前k大很容易想到類似超級鋼琴那樣的做法。所以問題就轉化成了給定乙個點和乙個區間,求點到這個區間中的點的最遠路徑。這個東西可以用直徑合併簡單的維護出來,也就是用線段樹維護每個區間的直徑。然後用乙個堆來維護當前的最優決策,不斷取出堆頂並且更新即可。看到只有or和and應該就能想到勢能線段樹了,但是考...
考試 省選96
t1 這個題就是考慮去大力分類討論。首先可以知道 k 3 的情況答案肯定是0.那麼分類討論 3,2,1,0 的情況。首先是 k 3 的情況。這個情況很簡單。首先 m 必須為3。就是我們考慮一下用總的方案去掉鈍角三角形的方案。那麼答案就是 ans binom n sum limits 1 i 這很簡單...
考試 省選95
t1 大神說是打個表找規律啥的。我利用生成函式 吉夫特那個題的結論推出來類似的結論。就是說對於所有深度為 i 的點,其對答案有貢獻,當且僅當 t i 0 這樣的話就可以直接用乙個 orfwt 來做了。t2生成樹計數原題。比原題還簡單。可以把 a i 抽象成乙個點變成乙個含有 a i 個點的連通塊。然...