原创 [樹上DP] I 2019 P2634 [國家集訓隊]聰聰可可

求樹上簡單路徑長度爲2019倍數的路徑條數  解題思路 : 二維狀態dp[i][j]代表i節點的子樹上所有點到i的距離爲j的個數 考慮兩點u, v,兩點間的貢獻爲  ans += dp[u][i] * dp[v][(2019 - i

原创 [模板]BM求線性遞推式

要求第n項時,直接linear_seq::(gao,n)即可, 不放第0項的話,就是linear_seq::(gao,n-1) #include<bits/stdc++.h> using namespace std; typed

原创 [思維][虛點]Codeforces Round #597 (Div. 2) D. Shichikuji and Power Grid

題意:給定n個城市,求最小的權值使得所有城市都有電,對於每個城市要麼建電站,要麼連接到已經有電的城市,ij兩點連接邊權爲(abs(arr[i].x - arr[j].x) + abs(arr[i].y - arr[j].y) ) * (

原创 [思維][RMQ] G Parenthesis

給一合法括號序列,交換xy位置的括號問交換後是否合法 解題思路:左擴1右擴-1做前綴和數組 當且僅到pre[i] >= 0 && pre[n] == 0時合法 考慮交換, 若s[x] == s[y]交換無意義 當前爲'('後爲')'則

原创 [Python語法練習]CF 591 C - Save the Nature

解題思路:二分check 代碼比較長 所以拿來練習一下py 語法總結: 新建空list arr = []  定義函數 def (參數1, 參數2, 參數3):     return 任意類型列表 python 默認向負無窮

原创 [模板]莫隊

 https://www.luogu.org/blog/codesonic/Mosalgorithm 講的比較全面 針對例題寫 將詢問排序  bool cmp(node a,node b){ return pos[a.l]^pos[b

原创 [換根dp] Codeforces Round 67 (Rated for Div. 2) E - Tree Painting

題意:給定一顆樹,第一次選一個點塗黑,貢獻是與當前點相連的白點數量(聯通分量),剩下每次只能選與黑點相鄰的白點,直到整棵樹塗黑,問最大能貢獻多少 考慮問題本質,相連的白點就是子樹大小,不管選擇方式如何只要根固定了答案是唯一的。 並且考

原创 [模板]多邊形面積交

1.必須逆時針給出多邊形頂點 2.面積並 = 面積和 - 面積交  #include <bits/stdc++.h> using namespace std; const int maxn = 300; const double eps

原创 [可持久化權值線段樹上二分] Just h-index

求區間x,y內的h-index(最大的h有h篇論文引用量不小於h) 解題思路: 在樹上x,y區間內二分答案check #include <bits/stdc++.h> typedef long long ll; using names

原创 [大數] 組合數

解題思路:結合圖式求min(C(n, m), 1e18) 如果m > n / 2 則有 m = n - m 計算可得當m大於40的時候C必然大於1e18 所有隻用大數暴力求解m較小部分的情況,或者用C++int128邊算邊約分 ps:

原创 [樹狀數組]H千萬別用樹套樹

解題思路: 兩棵bit分別存線段的開始點和結束點 兩個數組存開始點和結束點的線段數量 針對每次詢問 用總線段數 - 區間右邊的線段(結尾小於等於x) - 區間左邊的線段(開頭大於等於x) - 當前線段內被完全包含 - 開頭結尾在當前區間

原创 [換根DP] P1364 醫院設置

其中,圈中的數字表示結點中居民的人口。圈邊上數字表示結點編號,現在要求在某個結點上建立一個醫院,使所有居民所走的路程之和爲最小,同時約定,相鄰接點之間的距離爲1。如上圖中, 若醫院建在1 處,則距離和=4+12+2*20+2*40=13

原创 基於STL實現自動貪心尋路算法的貪喫蛇小遊戲

基於STL實現自動貪心尋路算法的貪喫蛇小遊戲 寫貪喫蛇小遊戲的想法來自CometOJ-Contest#13的B題,當時用STL雙端隊列維護蛇身的時候覺得非常方便,現在用EasyX圖形庫實現一下。 運行截圖: 腦殘貪喫蛇 歡迎界面:

原创 [思維] Codeforces Round #591 D. Sequence Sorting

題意:給定一序列,每次可以選擇一個數,並將序列內所有數放在序列最前面/最後面,問使序列有序的最小操作數  考慮最差情況肯定是不同數字個數 - 1(完全無序和區間交叉) 考慮交換次數不容易思考,可以反向考慮最多的不用交換就有序的數字,

原创 [生活]咖喱雞肉飯

咖喱雞肉飯 洋蔥半個切片 半根胡蘿蔔切塊 土豆一個切塊 雞脯肉切塊 小勺料酒 澱粉 黑胡椒 醃肉十五分鐘 蔬菜翻炒三分鐘,加入沒過食材水 煮至土豆一戳就爛 加入雞肉 翻炒兩下加入咖喱塊,可以放半盒牛奶 小火收汁五分種