原创 cf 600f Educational Codeforces Round 2 F Edge coloring of bipartite graph 匈牙利板子理解

題意:一個二分圖,兩邊各1e3個點,1e5條邊。求最小染色種類(染色邊)方案使得同一個點相連的邊沒有相同染色。 思路: 二分圖沒有奇環 1000個點n*m的時間剛好夠 考慮匈牙利算法,我們每次更新一條邊,然後強行配偶,被綠的那個

原创 拓撲排序學習筆記

1. 輸出字典序最小的拓撲序:在BFS算法方法中用優先隊列 2. 題意: N個點M條邊 DAG 求刪去每個點後1-n最短路 N,M 3e5 做法:  首先在DAG中可以跑拓撲排序,跑完拓撲排序有什麼好處呢? 拓撲序上的一個點k作爲劃分線,

原创 錯誤cnt

ap: 初始化inf與INF: 1 多組輸入:2 輸出格式問題:1 板子正確性:1 1e9長度10:1 int-ll:1 檢查:1 數據範圍:1 函數傳遞TLE:1 st: 加速IO:1

原创 codeforces刷題日記(無題解)

4.19 題數110 4.28 10天我只刷了20題 從今天起開始對比我關注的kmjp刷題量,另外每天目標先3道題。 題數130 5.10 題數153 5.18 這兩天強度有點低 171題 5.30 沒好

原创 cf 36e Two Paths

此題標難度2500,場內ac4人,因爲是一開始的cf,段位都不高就給的分低了。可能有2700分。 歐拉路徑好題 題意:給你一個無向圖,問能否輸出兩條路徑,使得遍歷所有邊。 思路:很顯然,一眼能想到歐拉路徑,但是兩條看似簡單,其實要

原创 CF 1245F Daniel and Spring Cleaning 數位dp

題意:給你一個二元組(l,r),問在[l,r]內有多少組二元組(a,b)滿足a+b==a^b。(1,2)和(2,1)算兩組。 思路: 1. 很容易想到當且僅當兩數每一位同爲1纔會出問題,也就是說異或是沒有進位的。所以a+b==a^b的條件

原创 bzoj 2342-manacher板子理解O(n)

題意:給一個5e5的字符串,求最長滿足雙迴文的子串的長度。雙迴文的定義爲:一個字符串長度爲4,迴文,且前半段和後半段單獨爲迴文串。 思路:若已知條件的迴文邊界超過覆蓋了新統計點,且該點的迴文半徑可以達到上一次的點,那麼統計一次答案

原创 19icpc網絡賽補題記錄及題解

南京網絡賽 A 題意:一個蛇形矩陣,每個數美麗值等於十進制各位的權值相加,標記一些點,每次問一個矩陣內美麗值之和 思路:可以通過根據x,y推出被標記的點數值,再利用二維偏序按x排序,樹狀數組維護y。每次查詢爲二維平面的矩陣差分。

原创 cf 510c Fox And Names 拓撲排序

題意: n(100)個字符串長度不超過100,按照題目給出的順序能否重新定義一下字典序。如果可以輸出這26個字母 思路:拓撲排序 代碼: #include <bits/stdc++.h> using namespace std;

原创 Luogu P2731 騎馬修柵欄 Riding the Fences

圈套圈板子題,詳解推薦看這位大佬的博客:https://www.cnblogs.com/acxblog/p/7390301.html #include <bits/stdc++.h> using namespace std; #d

原创 Codeforces Round #590 (Div. 3) 訓練總結及A-F題解

總結:A5mins ac,B過的慢22mins ac,接着就被c卡了一小時1小時ac,寫到了d題,因爲打星練了下手速,無板子17mins ac還算不錯,e是個差分,f思維題。 總結: C題想多一點,就節省了很多代碼量。 E題要靜

原创 Codeforces Round #227 (Div. 2) George and Interesting Graph

題意:有向圖500個點,1000條邊,刪除和添加一些邊使得除了一個點以外每個點的入度和出度爲2,剩下那一個點跟所有點都有連邊,問最小操作數。 思路:枚舉中心點,然後將剩下的點拆成2個點,入度和出度(精神分裂)。然後二分圖跑最大匹配

原创 19上海icpc網絡賽 G Substring哈希好題

這道題乍一看不能hash實際上最多sqrt(1e5)種長度,所以1e4*sqrt(1e5)就可以了 但這種hash第一次見 #include <bits/stdc++.h> using namespace std; #define

原创 bzoj3531 樹刨+線段樹動態開點

題意:一棵樹,每個點有顏色,4種操作,1.單點修改權值 2.單點修改顏色 3.查詢路徑顏色相同的點權和 4.查詢路徑顏色相同的點權最大值。 思路:樹刨+線段樹動態開點,開1e5個線段樹。 代碼: #include <bits/st

原创 Codeforces Round #486 (Div. 3) A-F題解

A.題意:100個數字,大小100,問可否從中選出k個不同數字,輸出位置 思路:map.count 代碼: #include <bits/stdc++.h> using namespace std; #define ll long