原创 Codeforces 839C Journey(期望dp)

傳送門 題意:給一棵大小爲n,邊長都爲1的樹,從1號點開始每次等概率地走向某個非父節點,走到葉節點爲止,求走的長度的期望。 題解: Sol 1. 定義f[x]爲從x出發走到不能再走的期望,dfs一次,用子節點更新父節點。 Sol 2. 正

原创 Codeforces 1101D GCD Counting(點分治)

傳送門 題意:給一棵n個點的數以及n個點的點權,一條路徑(x,y)合法當且僅當從x到y的路徑上所有點權的gcd大於1(一條路徑也可以是一個點),問所有合法路徑經過的點的數量最大的經過了多少點。 題解:就是求最長的合法路徑再+1。這種在樹上

原创 Codeforces 1209D Cow and Snacks(並查集)

傳送門 題意:有n個點心,m個客人,每個客人有兩個喜歡的點心,現需要給客人安排一定順序,每輪到一個人,他喫掉所有剩下的他喜歡的點心(有一個喫一個,有倆喫倆)。一個都喫不到的人就會傷心。請問合理安排後最小的傷心人數是多少。 題解:我們需要儘

原创 Codeforces 1093D Beautiful Graph(二分圖染色+組合數學)

傳送門 發這篇只是爲了記錄一個容易TLE的坑點:對於這種多組數據,所有數據n之和不超過3e5的題,初始化的時候要for 1 to n,而不能memset,否則比如30000組數據每組n爲10,那麼如果memset進行30000次的複雜度就

原创 Codeforces 1132F Clear the String(區間dp)

傳送門 題意:給一個長度不超過500的字符串,每次可以消掉字符串中連續相同的一個子串,消去之後剩下的兩個串自動連在一起,問最少消多少次使字符串清空。 題解:區間dp,一看應該使的但是第一把居然寫出來個的。過了樣例交上去果然WA了,原因是沒

原创 Codeforces 1336A Linova and Kingdom(樹上貪心)

傳送門 題意:一棵大小爲n的有根樹上,要求將K個節點設爲工業城市,其餘爲旅遊城市。只有工業城市對總收益有貢獻且每個工業城市的貢獻爲從它到根的路徑上旅遊節點的個數。求合理安置K個工業城市後最大化的收益。 題解: 這就是傳說中的“正難則反”嗎

原创 Codeforces 1324F Maximum White Subtree(樹形dp)

傳送門 題意:給一棵n個點的已黑白染色的圖,對於每個點,求出一個包含它的,白點個數與黑點個數差值最大的連通圖 題解:定義f[p]表示p點的子樹(題目中的"subtree"其實是連通圖而非子樹)內包含p點的白點個數與黑點個數差值最大值。從下

原创 AtCoder Beginner Contest 172 總結

頹了三天端午回來打比賽,還是秒切前幾道水題但做不動後面的難題,任重道遠啊。 前四題思路都比較簡單,C枚舉一個數組的前綴和並用差值在另外一個數組裏二分查找,D可以線性篩約數個數函數然後暴力算,也可以分析每個數的貢獻來搞,複雜度都爲O(n)。

原创 待填的算法坑--

分塊 數位dp 字符串(KMP,Manachar,AC自動機......) 博弈論 ......

原创 Codeforces 721C Journey(DAG上dp)

傳送門 題意:n個點m條邊的有向無環圖,每走一條邊消耗一定時間,問從1走到n,消耗時間不超過T的情況下最多經過多少個點 題解:由於n,m範圍不大所以對於這個DAG可以做的dp,定義f[i][j]表示走到i點,經過了j個點消耗時間的最小值,

原创 Codeforces 1295D Same GCDs(歐拉函數)

傳送門 題意:給定,若,求有多少個x滿足 題解:如果滿足gcd相同則x必須爲gcd(a,m)的倍數,設,則若,有多個w滿足。因爲d是最大公因數所以。到這裏(憑藉豐富的騙分經驗?)就可以直接猜一波答案是phi(v)了。所以求個gcd再求個歐

原创 Coursera “機器學習 - Andrew Ng”(前7.5周)總結

有幸在曠視科技的大佬推薦下自學吳恩達(Andrew Ng)的機器學習課,小小地總結一下最近都學了點啥~ Week 1 1. 單變量線性迴歸(Linear Regression with One Variable) 2. 梯度下降法(Gra

原创 UVa 1593(字符串/模擬)

傳送門 題意:輸入若干行代碼,要求各列單詞的左邊界對齊且儘量靠左。單詞之間至少要空一格。每個單詞不超過80個字符,每行不超過180個字符,一共最多1000行 說實話補幾個空格就完了,但是因爲一個很容易忽視但很致命的細節RE了一個小時...

原创 Python - List/Tuple性質及常見操作

List:Python的一種線性可變數據結構 常見操作:(目前就會這麼多...(//▽//)) 1. L[st:ed]:得到下標從st到ed-1的sublist 2. L1+L2:得到兩個list--L1和L2連接的新list 3. L*

原创 Luogu 2949(倒序貪心)

傳送門 題意:n個工作,每個工作有DDL和收益,每個時間點最多跟一項工作(該工作只消耗該時間點),求選擇某些工作能獲得的最大收益 題解: 1. “後悔法”:(留坑待填) 2. 蜜汁倒序貪心: 按時間倒着排序,DDL大的放前面,然後每一輪把