![](https://img-blog.csdnimg.cn/20190521163228188.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
victor的图论专练
收集各种图论的题目
少侠,慢点走
与其在失败后后悔,不如在失败前成功
展开
-
D. Maximum Distance(图论)最小生成树从(前向星写法待补)
题意: 给一张图,定义一条路径的长度为这条路径上的边权最大的边的边权。 定义两点间距离为这两点间路径的最小长度。 给出k个特殊节点,求对于每个特殊节点,距离它最远的点到它的距离。 思路: 可以知道,这个距离一定出现在最小生成树上。 所以先跑一遍kruskal,然后取第一个特殊节点dfs求出每个特殊节点到它的距离d[i],所有节点的最远距离都是 max (d[i])。 题解: 我们可以发现答案一定是...原创 2019-05-30 11:35:29 · 296 阅读 · 0 评论 -
A. Oh Those Palindromes(思维结论题)
题意:给一个字符串,让你重新把字符串重新排,使他从左到右把他顺便分成子串,让他可以成回文的子串最多; 思路:当然是按升序排最多回文 结论题。 考虑个连在一起,此时有 个回文子串。 再在其中插入一个其它的字符,答案一定会变小。因为此时把原串拆成了两部分。 那么sort一遍就好了 #include<bits/stdc++.h> using namespace std; typedef ...原创 2019-05-25 00:27:05 · 226 阅读 · 0 评论 -
D. Minimum Diameter Tree(思维)树的直径
树的直径 题目链接:https://codeforces.com/contest/1087/problem/D 题意:给你n个点,n-1条边,构成一颗无向树,树的总权值为s,现在让你构造一颗直径最小的树,一颗树的直径是最大的两点路径权值之和。最后输出直径。 题解:因为某些边的权值可以为0,那么我们只要将度数为1的边赋值,其它不赋值,这样的话,这棵树的直径就是两条度数为1的边的权值和(因为这两之间的...原创 2019-05-24 19:05:41 · 309 阅读 · 0 评论 -
Educational Codeforces Round 56 (Rated for Div. 2) D. Beautiful Graph(二分图判定+计数)
题意 给一个图,图上的点可以被染成权值为1,2,3 令边权=两个点的点权和,求令边权为奇数的所有方案数%998244353 题解 首先二分图判定一下,分奇偶层; 奇层染奇数,偶层染偶数; 或奇层染偶数,偶层染奇数。 对于每个连通分量,其方案数为(modpow(2,奇层点数,MOD)+modpow(2,偶层点数,MOD))%MOD 这个modpow是快速幂。 然后整个图的就是所有连通分量的乘积%MO...原创 2019-05-23 10:12:33 · 164 阅读 · 0 评论