6522 |
CF1168B |
\(\ast 1900\) |
two pointers |
长度大于 9 的时候必然可以,因此暴力枚举即可 |
1 |
6836 |
CF652E |
\(\ast 2300\) |
graphs-tarjan |
tarjan 缩点后跑 bfs 即可 |
1 |
6859 |
CF962F |
\(\ast 2400\) |
graphs-tarjan |
tarjan 求点双(想成边双了不过差不多),判断点双中是否只有一个环 |
1 |
6868 |
CF1422D |
\(\ast 2300\) |
graphs +shortest path |
按 \(x,y\) 分别排序,相邻连边,跑最短路 |
1 |
6916 |
CF842C |
\(\ast2000\) |
trees +dfs |
dfs,记录当前节点,父亲节点,是否选,当前最大值 |
1 |
7025 |
CF111B |
\(\ast1900\) |
number theory +brute force |
记录每个因子最后出现的位置即可 |
0 |
7033 |
CF555B |
\(\ast2000\) |
data structure-set |
用 set 存每条线段的长度与下标,将相邻区间的距离排序后,lower_bound 即可 |
1 |
7059 |
CF494B |
\(\ast2000\) |
dp +string-kmp |
跑 kmp 看是否匹配,同时 dp 即可(求二阶前缀和) |
0 |
7075 |
CF577B |
\(\ast1900\) |
dp +math |
发现 n>m 是一定是 yes,则暴力 dp 即可 |
1 |
7084 |
CF377B |
\(\ast1900\) |
binary search +data structure-set |
|
0 |
7099 |
CF1924D |
\(\ast2100\) |
dp |
|
0 |
7181 |
CF1146E |
\(\ast2400\) |
data structure-sgt |
线段树,下标代表数组中的值,维护是否取反 |
1 |
7184 |
CF120F |
\(\ast1400\) |
trees |
求每棵树的直径再相加 |
1 |
7220 |
CF1407D |
\(\ast2200\) |
dp +data structure-monotonic stack |
开两个单调栈来优化 dp |
0 |
7253 |
CF1601B |
\(\ast1900\) |
dp |
能跳到的区间为 [l,n] 维护能到达的最左边的点 |
0 |
7275 |
CF1042F |
\(\ast2400\) |
trees +greedy |
贪心,能取就取,记录子树内最深的值即可 |
1 |
7365 |
CF691F |
\(\ast2200\) |
dp |
预处理每个数对应的答案,复杂度为 log |
0 |
7513 |
CF1993D |
\(\ast2200\) |
dp +binary search |
二分中位数,把大于它的当为 1,小于它的当为 -1,并发现取模后原位置等于删完位置,dp 即可 |
0 |
7513 |
CF331B2 |
\(\ast1900\) |
data structure-sgt |
用线段树维护每个区间的答案 |
1 |
7517 |
CF431E |
\(\ast2200\) |
data structure-sgt |
二分+线段树二分 |
1 |
7517 |
CF487B |
\(\ast2000\) |
dp |
dp,最优决策点一定在最左边 |
1 |
7517 |
CF466D |
\(\ast2100\) |
maths |
分类讨论 |
0 |
7676 |
CF294E |
\(\ast2300\) |
dp +trees |
枚举断掉的边,发现将原树分为两棵,且无论连哪条边贡献都一样,则求出两树重心连边即可 |
0 |
8379 |
CF1781E |
\(\ast2300\) |
greedy +constructive |
|
0 |