08 2013 档案
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1309题意: 给出凹凸曼和小怪兽的坐标,然后求出一对最近的凹凸曼和怪兽,算出他们的距离然后除以他们的速度之和。坑爹: 最小点对的一个模板,就只是要判断一下是不同种类(超人或怪兽)的点才可以计算就行了。解法: 用二分的方法做,先将X从小到大排序,然后二分找出之间最小距离,这是算出了X最近的距离,比如这之间的点的最小距离是ans,然后我们只要把 x>=mid-ans && x 2 #include 3 #include 4 #include 5 using namespace
阅读全文
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1307题意: 找一条路径 1.这条路径中的最大的边一定要尽可能的小 2.满足1的情况下即最大的边相同的时候在找最短路径。坑爹: 一开始只用最小生成树做,发现如果给的边的权值都一样的话,那你并查集建图完全就跟你输入的顺序有关,权值都一样的话,并起来的边未必是你最短路要走的边。 找那个最大的边的时候我用递归来找最大的边中间可能有错误,现在还是不知道为什么。解法: 不用DFS来找最大的边,因为kruskal中加的边是经过排序的,所以只要加到起点和终点连通的时候就停止了,并返回那个值,这个值...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4513题意: 找出给定的序列中最长的回文串,但有一个要求,必须是从左边到中间中的每一个数字,左边的都要小于等于右边的,而中间到右边的则相反。坑爹: 如果暴力的话要O(n^2) 而n最大能到100000,所以暴力是不行的。解法: Manacher的算法的模板,大约复杂度为O(n)。 1 #include 2 using namespace std; 3 4 const int maxn = 110000 + 10; 5 const int INF = 0x3fffffff; 6 7 int str[m...
阅读全文
摘要:http://poj.org/problem?id=3159题意: 给出A , B , C 说A的糖果要比B的糖果多C个一下,也就是A - B 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 150000 + 10; 7 const int INF = 0x3fffffff; 8 9 int n; 10 int m; 11 12 struct Edge{ 13 int from; 14 int to; 15 int values; 16 int next...
阅读全文
摘要:题意: 给出多组关系,a1+a2+a3...... > k 或者 2 using namespace std; 3 4 const int maxn = 100 + 5; 5 const int INF = 0xfffffff; 6 7 struct EDGE{ 8 int x; 9 int y;10 int l;11 }Edge[105];12 int m;13 int n;14 int d[maxn];15 16 17 void AddEdge(int x,int y,char sym[],int ans,int i)18 {19 if(sym[0]...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3234题意: 给出很多组关系(异或)(点的标号是从0到n-1),然后让你求指定的关系的答案,如果求不出则输出I don't know. 若输入的关系和之前输入的关系有冲突,则输出The first i facts are conflicting. i 表示第几次输入,发生冲突时,后面就不需要继续操作了,只需要输入就行了。坑爹: 神之并查集!!!!做了这题对并查集了解更深了。而且本题也用到了异或的特性,a^b = 1 , b^c = 2 , 那么 a^c = 1^2 = 3一开始想的是,只要2个点不在同
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3986题意: 起点为1,终点为N,伏地魔会将任意一条路径删除,要求算出删除任意一条边后的最短路径中最大的一个,伏地魔的角度来说就是,想删一条路harry走到终点的距离尽可能大。坑爹: 有重边,有反向边。删边的时候要记得连反边一起删除。解法: 用了个dijkstra + 堆优化的模板,因为伏地魔要删除harry的最短路径上的边才起到干扰的效果,所以枚举删除最短路径上的每一条边,每枚举一次计算出一次最短路,只要有计算不出的就输出-1,不然就输出最大的最短路。 1 #include 2 #include ...
阅读全文
浙公网安备 33010602011771号