题意:给你一个图。 问图中 有多少点 和起点的最短距离是len。边上的点也算。
做法:
把点最近距离 算好。
然后 边上 分两种情况。
if(l1<len&&l2<len&&l1+l2+dis==2*len)
ans++;
这种情况是,两边到这个点都是最短的。这个点只用计数一次。
if(l1len&&l2+(dis-(len-l1))>len)
ans++;
if(l2len&&l1+(dis-(len-l2))>len)
ans++;
这...
分类:
其他好文 时间:
2015-08-30 19:35:30
阅读次数:
170
题目传送门 1 /* 2 最短路: 不仅扫描边,还要扫描点;点有两种情况,一种刚好在中点,即从u,v都一样,那么最后/2 3 还有一种是从u,v不一样,两种的距离都是l 4 模板错了,逗了好久:( 5 */ 6 #include 7 #include...
分类:
其他好文 时间:
2015-07-19 23:26:55
阅读次数:
170
转载请注明出处:http://www.cnblogs.com/fraud/ ——by fraudMissile SilosA country called Berland consists of n cities, numbered with integer numbers from 1 to n....
分类:
其他好文 时间:
2015-03-15 00:39:42
阅读次数:
189
最近开始学verilog数字硬件语言编程,然而用什么解释器好呢?
有推荐modelsim+quart但太大了,决定要silos...
分类:
其他好文 时间:
2014-10-27 01:48:36
阅读次数:
738
题目大意:
给出一个图,一个源点s,问距离这个源点的最短距离恰好为 l 的点有多少个(这个点可以在边上,可以在节点上)。
做法:
首先用dijkstra算法求出每个节点到s的最短路d[]数组,然后对于每条边w(u,v)来说有下面三种情况是合法的:
1:d[u]l
2:d[v]l
3:d[v]
对于上面每种情况,ans++,另外每个d[i]==l 的...
分类:
其他好文 时间:
2014-08-31 15:55:01
阅读次数:
182
题意:
给出一张图和图上的一个顶点,求距离这个点距离为s(最短距离)的顶点或边上的点总共有几个(边上的点要保证也是最短距离)
分析:
先用DIJ求出最短路
然后对所有顶点,距离为s的点都算上
枚举每条边
边上的两个顶点如果距离不够,则看在边上能不能找到一个点,顶点上的距离加上这个顶点到点的距离能为s(注意保证这个距离是最小距离(即这个点通过另外一端的顶点距离源点的距离小...
分类:
其他好文 时间:
2014-08-31 15:54:01
阅读次数:
190