原创 Codeforces 1348 E Phoenix and Berries —— 思維,兩種DP方法

This way 目錄題意:題解:第一種方法:第二種: 題意: 現在有n個灌木,每個灌木上有a[i]個紅色的果實,b[i]個藍色的果實,現在有一隻不死鳥,他有很多籃子,每個籃子要麼只能裝同一個顏色,但是允許不同灌木上的果實,要麼只

原创 Codeforces 1343 F Restore the Permutation by Sorted Segments —— 枚舉

This way 題意: 現在有一個長度爲n的排列,然後有n-1個序列,每個序列是對應源排列的某一個子串的排序,每個序列的長度>=2,並且每個序列在源排列中的右端點不同。讓你構造源排列。 題解: 它的數據範圍很小,那麼首先看能不能

原创 Codeforces 1325 F Ehabs Last Theorem —— dfs樹

This way 題意: 給你一張圖,你有兩種選擇: 1.找到裏面一個大小爲⌈n⌉\lceil\sqrt{n}\rceil⌈n​⌉的獨立集 2.找到裏面一個長度大於等於⌈n⌉\lceil\sqrt{n}\rceil⌈n​⌉的簡單環

原创 Gym 101174 E - Passwords —— AC自動機+狀壓DP

This way 題意: 給出 n 個字符串黑名單,要求組成長度爲 a−ba-ba−b 的字符串,其中不能包含這n個字符串的任意一種,並且至少有一個大寫字母,一個小寫字母,一個數字,並且所包含的所有字符也只能是字母與數字。其中相似

原创 Codeforces 1296 F Berland Beauty —— 樹鏈剖分,lca

This way 題意: 給你一棵樹,每條邊都有一個權值,告訴你m條路徑上的權值的最小值,讓你反推每條邊的權值的任意一種情況。 題解: n2n^2n2也能做啊,但是標準應該是樹鏈剖分。權值存邊變爲存點,存到兒子上。然後其實就只需要

原创 Gym 101655 D Delta Quadrant —— 樹形DP

This way 題意: 給你一棵樹,每條邊都有權值,你必須從一個點開始,包括這個點走上n-k個不同的點再回到這個點,問你走的路徑權值和最小是多少。 題解: 比賽的時候被C卡住了,寫了200行,,結果想法錯了,當場爆炸,賽後發現這

原创 Codeforces 1328 F Make k Equal —— 貪心

This way 題意: 給你n個數,你每次可以讓最大的數-1或者讓最小的數+1,問你最少需要多少步使得有至少k個相同的數。 題解: 好像沒什麼必要去寫這個題解,因爲它太水了,怎麼獲得2400的評分的 首先我們枚舉k個相同的數是什

原创 ICPC Pacific Northwest Regional Contest 2019 K. Computer Cache —— 離線,線段樹

This way 題意: 給你n個空位 m個數據集 和q個查詢 一開始所有空位數據都是0,每個數據集都有一些數,接下來有3種操作 1 i p 就是把第i個數據集覆蓋再從p開始的空位上 ,保證位置合法 2 p 把第p個位置的

原创 Codeforces 1290 C Prefix Enlightenment —— 帶權並查集,有丶東西

This way 題意: 給你一個長度爲n的01串,m個幾何,每個集合包含1-n的一些數,並且 對於第i個集合,如果你選擇了它,那麼01串中對應的集合裏面的位置的數就會取反。 問你到第i個位置時,前面i個位置都是1,後面的位置隨

原创 Codeforces 1146 F Leaf Partition —— 樹形DP,分割葉子結點使得每個集合路徑無交集

This way 題意: 給你一棵樹,讓你將它的所有葉子結點劃分成若干個集合,每個節點只出現在某一個集合中,並且設G(x)表示將葉子結點x集合連通的最小連通子圖。你所劃分的這些集合的連通子圖互不相交,問你有多少種方法。 題解: 我

原创 Codeforces 1305 F Kuroni and the Punishment —— 概率,隨機化

This way 題意: 給你n個數,你可以對每個數進行任意次操作,每次操作要麼+1,要麼-1,並且要使得每個數是正整數,問你最少進行多少次操作可以使得最終所有數的gcd>1 題解: 好像有幾次做到過隨機思想的題目了,然而這次還是

原创 Gym 102419 I Another Query Problem —— 線段樹

This way 題意: 現在有n個操作,有兩種操作: 1 l r 查看l-r區間所有數是否相同 2 l r a b 區間l-r第i個位置加上a+(i-l)*b 題解: 這種題目遇到好幾次了,估計下次就懶得寫題解。首先區間問題考慮

原创 Codeforces 1304 F1 Animal Observation (easy version) —— DP+線段樹

This way 題意: 給你一個n*m的矩陣,每一行你都可以放置一個2k大小的矩陣,連着i和i+1行,第n行只能放置一個1k的矩陣。問你最終被所有矩陣包括的值得和最大是多少。 題解: 明顯是個DP,因爲它之後做的決策對之前無影響

原创 Codeforces 1327 F AND Segments —— dp,前綴和,有丶東西

This way 題意: 需要你構造長度爲n的序列,要求是,每個數的大小<2k2^k2k,並且有m個區間,每個區間 題解: 那麼一般來說可以按位分解的題目是枚舉每一位去做的,而且這道題每個位置上的數的每一位都是互不影響的,那麼肯

原创 Codeforces 1310 B Double Elimination —— 記憶化搜索,有丶東西

This way 題意: 現在有2n2^n2n個隊伍,第一次每相鄰兩個隊伍比賽,然後剩下2n−12^{n-1}2n−1個勝利者和2n−12^{n-1}2n−1個loser,勝利者會進行下一場比賽,同時loser也會進行下一場比賽,