
图论
文章平均质量分 62
sdclqenqwieurhlqwer
这个作者很懒,什么都没留下…
展开
-
codeforces 615B Longtail Hedgehog
本为无向图,可实际上因为要找到一条路径,使得路径上的点权递增,且 路径长度*终点度数最大。所以存图时用结构体存,调整为起点小,终点大。图的结构+dp算法上代码:#include#include#include#includeusing namespace std;const int MAX_N=2e5+20;/// 说是无向边,但由于只可以从小到大,其实为有向边,///原创 2016-01-23 15:05:25 · 394 阅读 · 0 评论 -
codeforces 616C The Labyrinth
从‘ . ’出发,相邻点作为连通块整体考虑,周围的星星要加上这堆点的个数。两次bfs,一次找连通块,一次找可达的星星‘ * ’ps:1> 记得取模。 2>要用int 取然后赋给char,一起用%s输出。——为了偷懒直接用char型字符取模结果。。。╮(╯▽╰)╭#include#include#includeusing namespace std;int m,n;cha原创 2016-01-27 14:50:57 · 369 阅读 · 0 评论 -
Cf Round #360 (Div. 1) 687D Dividing Kingdom II
题意n个点,m条无向边,q次查询。 从第l条边到第r条边形成的子图G,将G中的点分成两个集合,求两个集合内部的边的最大值(使其尽量小)。题解由于倾向于将较大边的两个端点放在同一集合中,将边按长度从大到小排序,在满足边号属于[l,r] 的前提下,分析该边的端点是否在同一集合中,若在,该边长度即为所求,否则继续遍历。带权并查集: f[i] 表示点 i 的根, re[i] 表示点 i 与 f[i]原创 2016-07-15 10:00:15 · 378 阅读 · 0 评论 -
CF Round #362 (Div. 2) 697D. Puzzles
题意一棵树,点1为根。从1开始dfs搜索,由于搜索的顺序是有多种可能的,所以按搜索顺序给节点编号,每个点的编号也都是有多种可能的。求每个点编号的期望。题解如样例一,有1->2, 1->4, 1->5 由于以2,4,5为根的子树的排列顺序不同,有六种排列 那么很容易得到ans[2] = ans[1] + (1+1+4+5+2+5) /6; 但如果有多个节点同根,那情况是不好列举的。抽离问题原创 2016-07-18 14:05:08 · 472 阅读 · 0 评论 -
bnuoj 52305 Around the World dfs+排列组合
题意n个城市,联通图,给出n-1条信息,表示城市A和城市B之间有2*C条无向路相连通。需求出从城市1开始,遍历所有边的方案数。数据范围: 2 ≤ n ≤ 1e5 路的总数量不超过2*1e6样例输入: 3 1 2 1 2 3 1 表示3个城市,1-2有2条路,2-3有三条路题解由于点数为1e5,静态链表方式存图。 求方案数的过程为深搜。 对于当前节点u来说,它有若干个字节点v1、v原创 2016-10-04 00:19:31 · 335 阅读 · 0 评论