http://acm.hdu.edu.cn/showproblem.php?pid=1385
求最短路,要求输出字典序最小的路径。
spfa:拿一个pre[]记录前驱,不同的是在松弛的时候,要考虑和当前点的dis值相等的情况,解决的办法是dfs找出两条路径中字典序较小的,pre[]去更新。把路径当做字符串处理。
我只用之前的pre去更新当前点,并没考虑到起点到当前点的整个路径...
分类:
其他好文 时间:
2014-05-19 22:49:45
阅读次数:
383
给了你n个村庄把,然后m条路径,q个询问,问你两个点之间的最短距离
分析:由于按照题意来说本图是没有环的,所以求a,b的最近公共祖先 到他们的各自的距离之和就是 那个他们的最短路啦,用的是tarjan来做的,我的方法定义了一个dis数组来随时记录路径的长度,其它大神各有自己的神奇之法
#include
#include
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-05-13 07:48:39
阅读次数:
303
如果你想要在Chrome中进行GWT调试,需要安装“gwt developer plugin
for chrome”,但是普通安装模式下,会提示:This application is not supported on this computer.
Installation has been dis...
分类:
Web程序 时间:
2014-05-10 00:12:24
阅读次数:
507
我们用w[i][j]表示i到j的最短路的数量,dis[i][j]表示i到j的最短路,那么我们在floyd的时候,如果dis[i][k]+dis[k][j]==dis[i][j],根据乘法原理我们就w[i][j]+=w[i][k]*w[k][j],小于的时候我们就重新对w[i][j]赋值。
因为...
分类:
其他好文 时间:
2014-05-08 10:27:13
阅读次数:
249
非常经典的贪心题目,没有严格证明的话,肯定是YY着做的,题意:
约翰要从A到B,途中会经过N个村庄,他会带N只猪,然后卖掉,每个村庄卖一只,第i个村庄的人出价pi 每斤,从A到第i个存在的距离为disi,而且运一只猪需要话花费t * disi每斤,t一开始会给定
输入第一行n,t
接下来第一行 n个数,代表各个猪的重量
在接下来第二行n个数,代表每个村庄距离A的距离dis
在接下来第三行...
分类:
其他好文 时间:
2014-05-07 07:07:13
阅读次数:
392
DataInputStream和DataOutputStream
往二进制文件中读和写入java基本数据类型
public class BinaryReadWrite {
private DataInputStream dis = null;
private DataOutputStream dos = null;
private String s_FilePath = "config\...
分类:
编程语言 时间:
2014-05-06 21:12:07
阅读次数:
567
求矩形和圆是否相交或相切。
#include
#include
#define judge(x,y) x<y||fabs(x-y)<0.00000001
double dis(int x,int y,int a,int b)
{
return (x-a)*(x-a)+(y-b)*(y-b);
}
int main()
{
int T;
scanf(...
分类:
其他好文 时间:
2014-04-30 22:45:38
阅读次数:
365
本文出自:http://blog.csdn.net/svitter
题意:给你n个营地,每个营地最多Cn个人,然后告诉你i~j个营地中,最少有k个人。让你求一共有多少个士兵。
本题目为差分约束,差分约束的关键就在于解线性不等式。
把线性不等式转换为图中的松弛操作思想。
简单的例子:dis[v]
做这个题目的时候其实没有仔细想想为什么,就只是单纯的列出不等式然后导入到边的关系,...
分类:
其他好文 时间:
2014-04-30 22:25:40
阅读次数:
293
floyd求最短路。
注意图是有向图。。。
#include
#include
#include
using namespace std;
struct node
{
int x,y,id;
}edge[205];
int dis[205][205];
int main()
{
int c,T,n,a,b,op;
while(scanf("%d",&T...
分类:
其他好文 时间:
2014-04-29 13:21:23
阅读次数:
313
当油量不够时从走过的油站中选最大加油量的
#include
#include
#include
#include
using namespace std;
#define MAX_N 10005
struct node{
int dist,fuel;
}t[MAX_N];
bool cmp(const node &a,const node &b)
{
return a.dist<b.dis...
分类:
其他好文 时间:
2014-04-28 10:44:43
阅读次数:
335