原创 【LOJ2330】[清華集訓2017]榕樹之心

題面 LOJ 題解 感性理解一下,榕樹之心最後要停在一個節點就是要使得它的不同子樹作用效果互相抵消, 而要想使其最後停在一個點\(x\)的最大困難就是如何消除重兒子的影響最好辦法就是微笑着去面對它 我們要想辦法量化這一個過程。 令\(cnt

原创 【UOJ424】count

題面 UOJ 題解 \(m>n\)顯然無解。 建出這個序列的笛卡爾樹(如果大小相同則取最左的點),那麼一顆笛卡爾數對應且只對應一種序列。 考慮這棵笛卡爾樹的性質,就是往左兒子走它的數的大小必然減小至少\(1\),而往右走是不一定減一的。 那

原创 【LG3687】[ZJOI2017]仙人掌

題面 洛谷 題解 實際上是各個環之間的森林上的鏈不重複覆蓋邊的問題。 原問題是不能覆蓋重邊的,但是我們這裏假設可以覆蓋重邊,一條邊不覆蓋就等價於覆蓋一條重邊, 那麼問題轉化爲覆蓋樹上所有邊有多少種方法。 注意到樹上某個點的方案數與其他點無關

原创 【Codechef】CNTL

題面 vjudge 題解 第一問直接考慮一下\(N,K\)的奇偶性即可,當他們奇偶性相同,答案就是\(2^K-1\),否則是\(2^K-2\)。 第二問因爲是排列問題考慮指數型生成函數,那麼當答案爲\(2^K-1\)時,答案爲\([x^n]

原创 ZKW費用流

分析 記\(D_i\)爲\(S\)到\(i\)的最短路,那麼對於所有邊\((i,j)\),都要滿足\(D_i+cost_{i,j}\geq D_j\)。 我們考慮普通的費用流,它的原理是沿着一條\(s\rightarrow T\)的最短路徑

原创 [跟風]2019年年終總結

THUWC Day2+ : NMSL 沒約咕了

原创 【AGC005F】Many Easy Problems

題面 洛谷 題解 這當前處理的點集大小爲\(k\),那麼考慮將每個點的貢獻拆開來算,那麼如果這\(K\)個點都在以\(x\)爲根的一棵子樹內,這個點就沒有貢獻 令\(size_x\)表示\(x\)子樹的大小,有 \[ f(k)={N \ch

原创 【AGC013D】Piling Up

題面 洛谷 題解 將每一輪操作之後的狀態看作一條折線,其中橫座標是第\(i\)輪操作,縱座標是剩餘黑球的個數。 那麼構建一條折線的方案就對應了一類不同的放球序列, 但是如果幾條折線你可以上下平移得到就算重了,要保證不重的話,直接讓最低點在\

原创 JSOI部分題解

JSOI部分題解 JSOI2018 戰爭 問題轉化爲給定你兩個凸包\(\mathbb S,\mathbb T\),每次獨立的詢問將\(\mathbb T\)中的每個點移動一個向量,問\(\mathbb S,\mathbb T'\)是否有交。

原创 【AGC005D】~K Perm Counting

題面 洛谷 題解 將這個排列放到一個\(n\times n\)的棋盤上,那麼一個排列問題可以轉化爲每行每列只填一個數的放置方法問題。 對於這題的限制,我們將一列不能放的位置塗黑,那麼每一列就會有\(1\)至\(2\)個地方不能填(塗黑)。

原创 【CF961G】Partitions

題面 洛谷 題解 顯然對於所有點對答案的貢獻都有一個相同的係數,設這個係數爲\(X\),那麼\(ans=X\sum w_i\)。 枚舉一個點所在集合的大小,有 \[ \begin{aligned}\\ X&=\sum_{i=1}^n i{n

原创 【Codechef】CNTDSETS

題面 vjudge 求出\(n\)維空間中的點集數目,滿足其直徑恰好爲\(D\)。點集的直徑是點集中最遠一對 點的切比雪夫距離。如果兩個點集可以通過平移相互轉換,則這兩個點集是相同的。 題解 直接蒯Anson爺的題解了: 平移的限制可以理解

原创 線性常係數齊次遞推總結

線性常係數齊次遞推總結 本文爲作者的一些理解,如有錯誤之處請指出。 概念 其實就是這樣一個式子: \[ a_n=\alpha_1a_{n-1}+\alpha_2a_{n-2}+\alpha_3a_{n-3}+...+\alpha_ka_{n