图论一顿套模板
_Shmily
这个作者很懒,什么都没留下…
展开
-
2020 Multi-University Training Contest 1 ---- HDU--6756、Finding a MEX(图上根据度数分块)
题目链接 题面: 题意: 给定一张图,点有点权,有两种操作: (1)将 x 点的点权 改为 y。 (2)查询与 x 相连的点的点权的 mex 。(这里的mex就是找没有出现过的最小非负整数) 这个图应该是简单图,没有自环和重边。 题解: (1)每次查询点 x 的mex一定出现在 0–d [ x ] 之间,其中 d [ x ] 表示 x 的度数。 (2)度数大于等于n\sqrt{n}n的点的一定小于n\sqrt{n}n个。 对于每个度数大于等于n\sqrt{n}n的点,我们维护一个 d [ x ] 大原创 2020-08-25 08:52:28 · 138 阅读 · 0 评论 -
2020牛客暑期多校训练营(第一场)E、Counting Spanning Trees (图论、结论题)
题目链接 题面: 题意: 给定一张图,有左部和右部两部分顶点,对于每一个左部顶点 uiu_iui 都与右部顶点v1,v2,...vjv_1,v_2,...v_jv1,v2,...vj右部顶点的一个前缀相连。 问这张图生成树的个数。 题解: 我们设 uiu_iui 的度数为 λi\lambda_iλi,vjv_jvj 的度数为 λj′\lambda _j ^\primeλj′,且满足 λi>=λi+1,λi′>=λi+1′\lambda_i>=\lambda_{i+1},\原创 2020-08-25 08:49:20 · 206 阅读 · 0 评论 -
2020牛客暑期多校训练营(第一场) I、1 or 2(一般图的最大匹配)
题目链接 题面: 题意: 给定一张图,然后给定一些点的度数,问能不能通过删边来使得图中每个点的度数与给定的度数相等。 题解: 考虑一般图的最大匹配。 如果点 i 给定的度数是 di,那么我们把 i 拆分为di个点。 这样如果这di个点都在最大匹配当中,那么说明 i 点的度数符合要求。 如果原图中 i 与 j 有边相连,那么 di 个 i 点与 dj 个 j 点分别相连。 通过观察发现,如果di,dj不全大于等于2,那么这样连边是符合要求的。 假设 di = 1,dj = 2 那么 i – j,i – jj原创 2020-08-25 08:43:18 · 194 阅读 · 0 评论 -
Codeforces Round #288 (Div. 2) D. Tanya and Password (有向图欧拉路)
题目链接 题面: 题意: 给定 n 个长度为 3 的串,问能不能由这 n 个串组成一个长度为 n+2 的串。 题解: 这类题目好像之前做过,就是形成一张图,然后判定是不是有欧拉路。 因为是 n 个长度为 3 的串,形成一个长度为 n+2 的串,那么中间的重叠的地方一定是某个串的后两位和某个串的前两位。譬如说 abb bbc 形成长度为4的串,一定是 abbc。 我们可以由每个串的前两位向后两位连边。然后判断是否存在欧拉路径。 若存在欧拉路径,则说明可以一笔画画完整张图,则说明可以形成一个n+2长度的串原创 2020-08-24 22:03:05 · 143 阅读 · 0 评论 -
Codeforces Round #287 (Div. 2) E. Breaking Good (最短路)
题目链接 题面: 题意: 给定一张n个点m条边的无向图,保证没有自环和重边。 每条边是好边(z=1),或者坏边(z=0). 现在要求一条从1–n的最短路,在最短路上的坏边要修改成好边,在最短路以外的好边要修改成坏边,这个修改次数为最短路的修改权值。 若有多条最短路,则选择修改权值最小的一条最短路。 修改权值=最短路上的坏边+最短路以外的好边 修改权值=最短路上的边 - 最短路上的好边 + 全图的好边 - 最短路上的好边 修改权值=最短路上的边 + 全图的好边 - 2*最短路上的好边 要想使修改权值最小,原创 2020-08-24 22:02:05 · 98 阅读 · 0 评论