原创 百度之星2017初賽題解(A)

T1: 簡單數論,問滿足(a0+a1*B+...+an*B^n)=a0+a1+...+an(mod P)的P的個數 即滿足P|(B-1)a1+(B^2-1)a2+(B^3-1)a3+...,即P|B-1的P的個數 sqrt(B-1)暴力枚

原创 [THUWC]菜雞旅遊記

Day 0 跟司機等人來到了HangZhou,飛機上打了一會bzoj4605後發現平衡樹並不用刪除。。。(IQ--) 跟司機遊覽西湖時很不高興,不過一回到賓館後兩人立即活躍起來,就出了一道Spfa Killer。。。 順便隨手把沒打的py

原创 WXHRound#14被虐記

T2:無標號有根仙人掌計數,不會 倒是搞懂了O(n^2log n)無標號無根樹計數 先考慮無標號有根樹的計數 記dp[k]爲當我dp到i時用1~i大小的樹可以湊出k的方案數 則每次就拿dp[i]去更新dp[k],dp[k]+=[t=1..

原创 WXHRound#13被虐記

T1: ▸給定一個大小爲 n 的有根樹。有 Q個詢問,每次給出一個 k,求至少用多少條長度不超過 k 的祖先-後代鏈可以覆蓋樹上的所有點? ▸n, Q <= 10^5算法一:不同答案只有sqrt(n)種,拿分治弄一下就是O(nsqrt(n

原创 bzoj3451

這個題其實就是求 爲什麼呢?考慮一個點i,枚舉每一個j, 他對答案貢獻的條件是在j作爲點分樹根 即i到j之間上沒有點被選爲點分樹根 於是就點分,這個東西就是一個卷積,用fft即可 爲什麼我一寫就是第一頁... #include<c

原创 [FR#12]被虐賽

A題題意:有一個序列a1...an,您需要回答m個詢問,每個詢問給一個b,使刪除儘量少的數使得任意時刻前綴和都>=b(m<=10^4,n<=10^3) 由於FLOJ跑的太快了,導致沒有數據可以卡掉O(mnlogn) 我倒是寫了一個整體二分

原创 BZOJ4552

O(nlogn),可分裂合併的線段樹 嗨呀,寫死我了 #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<set> #defi

原创 LOJ #6077. 「2017 山東一輪集訓 Day7」逆序對

這題(BZOJ2431的加強版)厲害了。。。 考慮從小到大加入數,則i就可以讓逆序對數+[0,i-1] 問題就變爲了現在有一個不定方程:x1+..+xn=m,且0<=xi<=i-1 考慮用容斥,於是要計算F(i,j)表示[1,n]選i個數

原创 bzoj3065

再次寫醜的我。。。(剛開始寫了個線段樹合併+fhq treap完TLE+MLE) 換成替罪羊+可持久化線段樹合併之後隨機數據1s+,不知道vfk搞得什麼新聞,bzoj運行37s+ 剛開始題意讀錯調了1h+我好菜 #include<cstd

原创 bzoj2594

這題好坑。。。 離線然後用LCT倒着維護最大生成樹,這個是一眼 但是注意:邊權是用多加一個點(類似kruskal同構樹)來實現,實際上點有m+n個,注意數組不要開小,不然會TLE。。。 附數據生成器(但是如果造小數據,每個AC程序輸出都可

原创 bzoj2959

用LCT+並查集縮點,記兩個並查集,一個是實際在樹中的編號,一個是普通的並查集 注意:access中要更新father的編號,修改點值要把點splay上去再修改 #include<cstdio> #include<cstdlib> #in

原创 關於聯通塊DP的一些問題(to be continued)

記一下這種奇妙的思路。。。 Example I:HDU 6157 題意就是給一些點(數軸上),然後你要選出其中的m個點,重新安排它們的順序,假設爲P1...Pm. 若令P0=Pm,Pm+1=P1(其實就是在一個環上) 那麼這個排列的權值

原创 bzoj2839

轉載自:iamxym http://blog.csdn.net/xym_csdn/article/details/54177123 傳送門(權限題) 題面: 一個有N個元素的集合有2^N個不同子集(包含空集),現在要在這2^

原创 動態點分治:bzoj 3730,bzoj 1095

總結一下動態點分治的模板。。。 對於一個樹,把它點分的同時記錄每個點的所有父親(logn個)並記錄點距其父親的距離。 具體實現就是dfs的時候fa[x][++dep[x]]=u,dis[x][dep[x]]=d; BZOJ1095: 您需

原创 Codeforces Round#419 (div.1)

Problem B.點擊打開鏈接 這個題找規律真是Excited...找出來是這樣的: #include<bits/stdc++.h> #define mod 1000000007 #define maxn 200100 using