原创 20200521模擬賽A. island(笛卡爾樹||分治+分類討論計數)

    題解: 毒瘤分類討論題 我們先把所有格子縱向互相走的總貢獻 直接記錄一下前綴和就O(n)了 設F1(x)表示 設F2(x)表示 然後再把跨過0號點的路徑的貢獻算出來 (這裏的L[i]是負的) 然後我們需要做的就是計算左邊

原创 20200521小結

(1)求數組(或矩陣)k次前綴和帶修改 可以發現前綴和多次只是對原數組每一位對應乘上一個係數(其實就是組合數) 組合數可以轉化爲下降冪的形式,然後利用斯特林數轉爲普通冪,用k個樹狀數組維護ai*i^k之和即可 第一類斯特林數s上升冪\下降

原创 20200515省選模擬賽B、幻化成風(毒瘤容斥題+構造容斥係數+生成函數+hash狀壓DP+Trie樹優化揹包)

    題解 花了一上午+一中午終於把這道題A了   首先,我們要求的是bi互不相同的合法方案數 我們可以枚舉一個a的集合S,來強制裏面的b全部都相同,然後其它的隨便放 由於這個題的n的約數非常多,我們可以把它質因數分解一下再來做

原创 20200516小結

(1)組合數上指標求和大法 (這個可以畫一下楊輝三角,把最上面C(a,a)的移動到C(a+1,a+1),即可證明) (左式相當於枚舉第a+1個球在n+1個球中的位置,其實就是在n+1個球中選擇a+b+1個球) (把兩堆球放在一起選)

原创 20200513小結

20200512考試總結 (1)遇到最優化(F(i)*G(j)-G(i)*F(j))形式的式子要敏銳地聯想到向量叉積,可以考慮數形結合,化爲求凸包面積 (2)求凸包時要限制先求出來的前半部分凸包不被彈出 (3)選擇一個區間加上某個數---

原创 Union on Tree(毒瘤數據結構題)(點分樹+虛樹+樹點覆蓋去重)

There is a country whose road system is a tree, the nodes in the tree represent cities and the edge is the road between

原创 20200511小結

(只挑選了幾道可以啓發思維的題) (時間緊迫,寫得可能比較簡略) Count on a Treap 一句話題解:李超線段樹模擬treap Treap中一個點的深度就是它在dfs序上向左單調上升序列長度與向右單調上升序列長度之和 兩個點的L

原创 CF407E k-d-sequence (線段樹+單調棧)

題面:https://codeforces.com/problemset/problem/407/E     題解 這道題坑了我3個小時 都是因爲網上有一個set做法 #include<cstdio> #include<cstring>

原创 20200505省選模擬賽A (回滾莫隊)

  題解 回滾莫隊裸題 然而我在考試的時候一直在想對vl,vr進行莫隊,腦子進水了。。 直接對l,r進行莫隊,就變成了線段樹單點加,區間求最大值 這樣的複雜度是O(nsqrt(q)*logm+q*logm)的 我們可以根號平衡一下,用

原创 20200508小結

(1)、求n次多項式的冪P^k(x) 正常的多項式快速冪:(假設最後需要mod x^lim) 1、快速冪+FFT/NTT優化乘法:O(lim*loglim*logk) 2、P^k(x)=exp(k*lnP(x)):O(lim*loglim

原创 20200507省選模擬賽A(序列自動機+重鏈剖分+鏈上倍增)

      題解 好題 其實序列自動機也不是什麼高級的東西 但是重鏈剖分+鏈上倍增基本上就很難想得到了 還有巧妙的輸出方案的方法:先輸出後面再輸出前面,如果夠了就return 官方題解已經講得很清楚了 注意要先把所有的f初始化爲1,表

原创 20200501省選模擬賽 a(概率生成函數+推式子)

  題解 好題,但是這個解法適用範圍比較窄,也沒有多大的用處    ____by   Freopen 我們先把p數組寫成概率生成函數的形式,設 我們發現x^i的係數表示我們走一步到位置 i 的概率是多少 那麼P^2(x)中x^i的係數

原创 20200502省選模擬賽 C、人生吧(莫隊+數值分治)

【題目描述】 給定一個長度爲N的序列A1, A2, ⋯ , AN。你需要回答M個詢問,第i個詢問給定 一個區間[Li , Ri ],請你求出這個區間中所有非空子集的最大公約數的乘積。由於 答案可能很大,每次詢問請你求出其對99824435

原创 LOJ#6073. 「2017 山東一輪集訓 Day5」距離 (可持久化樹鏈剖分)

題面:#6073. 「2017 山東一輪集訓 Day5」距離   題解 好題 又是原題重測的題 大概就是讓我們求 感覺一點思路都沒有啊。。。   那我們先來看一個超級弱化版的題目([LNOI2014]LCA) 它是讓我們求 這個題目相

原创 LOJ#6038. 「雅禮集訓 2017 Day5」遠行 (LCT維護兩點距離+並查集維護樹的直徑)

題面:https://loj.ac/problem/6038     題解 居然再原題重測(原題重錯、新題爆錯)的考場上切了一道LCT的題(對於我這種菜雞來說這是新題) 一看就是維護森林中每棵樹的直徑 以爲可以用倍增LCA來求兩點距離,發