- 2024-09-11GYM 104114 F
题目描述有\(N\)个参赛选手,将进行\(N-1\)场比赛,第\(i,j\)个选手进行比赛有\(P_{i,j}\)的激烈程度。每当选手\(i\)打败选手\(j\)时,\(P_{i,x}\leftarrow\max(P_{i,x},P_{j.x})\)。在这些比赛中,编号小的选手总是打败编号大的选手。求最终\(N-1\)场比赛的激烈程度之和
- 2024-09-02线段树分治
前置知识:可撤销化并查集注意:可撤销化并查集的作用和删边不一样,其只能撤销最近的一次操作。既然只需撤销,那么只需在合并并查集时用个vector记录下合并的哪两个点,撤销时就直接还原就行了。这里要强调一下,可撤销化并查集不能路径压缩,只能启发式合并。代码intf[MAXN],sz[MAXN
- 2024-07-09数据结构——并查集 学习笔记
数据结构——并查集学习笔记并查集是一种用于管理元素所属集合的数据结构,实现为一个森林。并查集中,每棵树表示一个集合,树中的节点表示对应集合中的元素。其思想是,把集合属性绑定到根节点上,避免多余的处理,因此一般难以分离。普通并查集并查集支持两种操作:合并(Union):合并两个元素
- 2024-03-16Codeforces 1948G MST with Matching
因为贡献是两个之和,考虑固定下一个,求解另一个的最优。\(\text{MST}\)似乎找不到什么好的办法固定,便考虑固定下最大匹配。对于树的最大匹配,考虑到因为树也是二分图,所以树的最大匹配\(=\)最小点覆盖。考虑如果知道了最小点覆盖内的点,那就说明如果一条边两个端点都不在点集中,是
- 2024-02-29打击犯罪(题解)
题目题目描述样例输入722531342242233167257256样例输出1关于本题这个题反着想会很简单,也就是复活犯罪,但是这个反着的思路不好想到(比如我就没想到)。看其他blog基本上都是反着来的,确实复杂度小不少,但是别人写过的我就不写了,我就给出正着来的解
- 2023-10-15ARC167D Good Permutation 题解
题意给定一个长度为\(N\)的排列\((P_1,P_2,\cdots,P_N)\)。称一个排列\(P\)为“好排列”当且仅当对于所有\(1\leqx\leqN\),都能通过不停地使\(x\leftarrowP_x\)将\(x\)变成\(1\)。通过最小次数操作将\(P\)变成“好排列”,每次操作为交换\(P\)中的两个数\(P_i\)
- 2023-10-07CF506D Mr. Kitayuta's Colorful Graph
好久没更新这个单题系列了,主要是最近没啥CF比赛空闲时间又少,今天忙里偷闲写了两个题这个题就比较典了,两点是否连通一般都是想到并查集维护,现在的问题是要对每种颜色的边把贡献算清楚很容易想到枚举所有颜色的边,每次求出所有连通分量后遍历一遍询问统计答案,这样正确性显然但复杂
- 2023-07-10Atcoder ARC164B Switching Travel
称\(c_u\not=c_v\)的边\((u,v)\)为普通边,\(c_u=c_v\)的边\((u,v)\)为特殊边。能发现若满足条件则这个环应该是由一条特殊边和若干条普通便组成的(从特殊边的一个顶点出发一直经过普通边,最后走到特殊边的另一个顶点再走回来)。于是若这个特殊边的两个顶点能只通过普通
- 2023-07-09「NOIP 模拟赛 20230709」T3 - 与行星相会 题解
题目大意原题有一个\(n\timesn\)的点阵,将相邻的点连边得到一个\((n-1)\times(n-1)\)的网格。\(q\)次操作,每次删掉一条边,求删掉后边两端的点是否仍在一个连通块内。强制在线。题解显然,由于对偶图的性质,原图的一个割对应对偶图中的一个环,所以只需要删掉一条边时在对偶图中
- 2023-06-07CF1559D2 Mocha and Diana (Hard Version) 题解
Luogu|Codeforces题意给定两个森林\(A\)和\(B\),均有编号\(1\)到\(n\)的节点,边数分别为\(m_1,m_2\)。现在进行加边操作,但是有两个要求:如果在第一个森林加一条\((u,v)\)的边,第二个森林也要进行同样的操作。反之同理。加边后两个森林依旧是森林。一棵树也是森林。
- 2023-06-02Codeforces 1833E Round Dance
看到shortestpaths来做的,但是好像没啥关系也没啥难度。首先能知道一个连通块肯定一次就能跳完,所以可以把连通块缩出来。然后有一个性质,记\(cz_i\)为\(i\)连通块内点种通过已知边推出的度数为\(1\)的个数为\(cz_i\),则\(cz_i\bmod2=0\)。记点\(i\)通过已知边推出
- 2023-02-27CF813F - Bipartite Checking
线段树分治。我们发现这个形式就是线段树分治,那么我们就线段树分治。我们考虑如何在按秩合并并查集上维护二分图的关系。假设我们现在在同一个并查集中的\(x\)和\(y\)
- 2023-01-092023寒假训练Week1
Day1今天主要在补之前各种比赛的题目AcWing4653.数位排序#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;int32_tmain(){intn,m;
- 2022-12-19[C++]LeetCode 1971 寻找图中是否存在路径
[C++]LeetCode1971.寻找图中是否存在路径题目描述Difficulty:简单RelatedTopics:深度优先搜索,广度优先搜索,并查集,图有一个具有n个顶点的双向图,其中每个
- 2022-10-26又双叒叕写挂了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
线段树别忘了pushdown并查集建议单独写merge,实在不写也一定要检查fa[getfa(x)]=getfa(y)是否有问题vector<char>纯属有饼,到现在还是233333qz同学的标签
- 2022-10-11P1194 买礼物
P1194买礼物普及的题目,而且一眼就能看出该用什么做法。我主要是决定这道题建图的思想值得借鉴,每样东西原本的价格是a,所以新建一个节点0,0向i连边,边权为a,这样一共就有b
- 2022-09-04简单计数 P6008
题目传送门题目大意:给定一张边框确定的图,在其中空地放水并满足物理要求,求总方案数题目分析:首先注意到,满足物理需求就是满足在一个连通块内从高度为\(h\)放水,则满足对