图论
tzb592825420
这个作者很懒,什么都没留下…
展开
-
zoj3761 Easy billiards
点击打开链接首先建图,两点若能碰撞就连一条边,会有多个连通分量,一个连通分量可以最后转化为一个点,把每个连通分量转化成树,从叶子节点向上,即用每个节点碰撞它的父节点,一个dfs就能解决。#include#include#include#include#include#include#include#include#include#include#define inf 1原创 2015-04-07 17:26:07 · 381 阅读 · 0 评论 -
hdu5361 In Touch 神奇的dij,神奇的写法
In TouchTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 784 Accepted Submission(s): 217Problem DescriptionThere are n soda原创 2015-08-08 11:42:56 · 639 阅读 · 3 评论 -
Codeforces Round #Pi (Div. 2) E. President and Roads 最短路,桥
题意:有n个城市,一些单向道路,每条道路会花费一些时间。总统从s到t,他会选择最快的道路,有一些道路是一定会选的,有一些道路通过修缮可以降低通过时间(>0),使总统必然走这条路,有些路一定是不通过的。分析:从s到t和从t到s分别跑出最短路,对最短路的边新建图,图中的桥即为必然要走的。#pragma comment(linker, "/STACK:1024000000,1024000000"原创 2015-08-12 11:08:55 · 653 阅读 · 0 评论 -
zoj3811 Untrusted Patrol bfs
一张无向图,有些点有摄像头,摄像头会记录下第一次经过这个点,现在给出一系列摄像头记录下的经过的点的次序,问依次经过这些点能不能遍历所有点。parse:从第一个点bfs,标记所有能访问的且没有摄像头的点,若第二个访问的点的邻居有已经被访问的,则可以在不经过其他有摄像头的点的情况下到达这个点,从这个点再bfs,访问过的点就无需再访问了,复杂度O(m)。#include#include#in原创 2015-08-29 23:21:09 · 367 阅读 · 0 评论 -
hdu5102 The K-th Distance bfs+结构体
题意:n个节点的一棵树,任意两节点间的距离是两点间路径的长度,因此有n*(n-1)/2个长度,求前k个的和。(2≤n≤100000,0≤K≤min(n(n−1)/2,106)分析:因为k不大,直接用bfs求出前k条路径就ok了,bfs的用法很好,用结构体记录节点,父节点,长度,找到k条后就退出,只需入队k次。这样每条路径都会算重复,因此k先乘2,结果在除2。#include#includ原创 2015-08-18 21:30:30 · 433 阅读 · 0 评论 -
hdu5168 Legal path DP,最短路
Legal path Accepts: 9 Submissions: 171 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)问题描述一个有向图,给定起点终点,每条边上有权值。一条合法的路径定义为相邻边的权值之差不小于KK的原创 2015-09-06 19:50:21 · 415 阅读 · 0 评论 -
求桥,边双连通缩点
一个无向图,问最少添加多少条边使任意两点有两条不同路径。即构造一个边双连通图,边双连通缩点后是一棵树,度数为1的点为a,结论是需要添加(a+1)/2条边。#include#include#include#include#include#include#include#include#include#include#define ll long long#define原创 2015-11-12 10:01:58 · 470 阅读 · 0 评论