原创 排列中的數值問題(改編自NOIP2018程序填空第2大題)

題目描述 對於一個 \(1\) 到 \(n\) 的排列 \(p_1, p_2, \ldots, p_n\)(即 \(1\) 到 \(n\) 中每一個數在數列 \(p\) 中出現了恰好一次),令 \(q_i\) 爲第 \(i\) 個位置之後第

原创 BZOJ3732 Network 題解 Kruskal重構樹入門題

題目鏈接:https://hydro.ac/d/bzoj/p/3732 題目大意: 給定一個圖,每次詢問兩個點 \(u\) 和 \(v\),在 \(u\) 到 \(v\) 的所有路徑中找一條路徑,且這條路徑上的所有邊的邊權最大值最小。 解題

原创 洛谷P3038 [USACO11DEC] Grass Planting G 題解 樹鏈剖分

題目鏈接:https://www.luogu.com.cn/problem/P3038 題目大意: 一棵樹維護兩種操作: 一條路徑上每條邊邊權 \(+1\); 查詢路徑上的邊權和。 解題思路: 樹鏈剖分模板題。 示例程序: #inclu

原创 P2292 [HNOI2004] L 語言 題解 AC自動機 + 狀態壓縮 + dp

題目鏈接:https://www.luogu.com.cn/problem/P2292 題目大意: 給定 \(n(\le 20)\) 個模式串 \(s_i(|s_i| \le 20)\),有 \(m(\le 50)\) 次詢問,每次詢問給出

原创 洛谷P3808 【模板】AC 自動機(簡單版)題解 AC自動機模板題

題目鏈接:https://www.luogu.com.cn/problem/P3808 AC自動機模板題。 示例程序: #include <bits/stdc++.h> using namespace std; const int maxn

原创 洛谷P2503 [HAOI2006] 均分數據 題解 模擬退火

題目鏈接:https://www.luogu.com.cn/problem/P2503 模擬退火 + 貪心。 #include <bits/stdc++.h> using namespace std; int n, m, a[22], s[

原创 博弈論之SG函數 學習筆記

在許多地方曾經行過這樣一個小遊戲,擺出三堆硬幣。分別包含3枚、5枚、7枚。兩人輪流行動每次可以任選一堆,從中取走任意多枚硬幣,可把一堆取完,但不能不取。取走最後一枚硬幣者獲得勝利。 這類遊戲可以推廣爲更加一般的形式: 給定 \(n\) 堆

原创 洛谷P4178 Tree 題解 樹上點分治

題目鏈接:https://www.luogu.com.cn/problem/P4178 解題思路: 點分治模板題。 設當前重心爲 \(u\),一共有三種不同類型的路徑: 路徑的一個端點恰好是重心 \(u\); 路徑的兩個端點在 \(u\)

原创 POJ2117 Electricity 題解 tarjan點雙連通分量 割點

題目鏈接:http://poj.org/problem?id=2117 題目大意: 給定一個由 \(n\)個點 \(m\) 條邊構成的無向圖,請你求出該圖刪除一個點之後,連通塊最多有多少。 解題思路: tarjan,判斷 \(u\) 的子節

原创 CF402E Strictly Positive Matrix 題解 tarjan強連通分量

題目鏈接:http://codeforces.com/problemset/problem/402/E 題目大意: 給出一個矩陣 \(A\),問是否存在一個正整數 \(k\) 使得 \(A^k\) 的所有元素都是正數。 解題思路: 根據矩陣

原创 和與積 題解 簡單二分查找

題目大意: 給定兩個整數 \(a(2 \le a \le 2 \times 10^9)\) 和 \(b(1 \le b \le 10^{18})\)。 判斷是否存在兩個正整數 \(x\) 和 \(y\),同時滿足如下兩個條件: \(x +

原创 CF1398E Two Types of Spells 題解 set

題目鏈接:https://codeforces.com/problemset/problem/1398/E 題目大意 你有一個集合,初始爲空。 有兩種類型的元素,一種是普通元素,一種是強化元素,兩種元素都有一個數值。 有 \(n\) 次操作

原创 CF6E Exposition 題解 ST表+倍增

題目大意: 求所有極差不超過 \(k\) 的最長連續子序列。 解題思路: 先開一個 ST 表方便求解區間最大值和區間最小值。 然後基於倍增思想(詳見 cal 函數)求極差不超過 \(k\) 的最長連續子序列。 示例程序: #include

原创 CF1196F K-th Path 題解 floyd

題目鏈接:https://codeforces.com/problemset/problem/1196/F 題目大意: 給定一個包含 \(n\) 個節點 \(m\) 條邊的無向圖(\(n,m \le 2 \cdot 10^5\))。 圖中任

原创 CF1821D Black Cells 題解 貪心

題目鏈接:https://codeforces.com/problemset/problem/1821/D 題目大意 在一條數軸上有無窮個點,下標爲 \(0, 1, 2, \ldots\),初始時每個點都是白色的。 你控制着一個機器人,初始