2012年7月17日
摘要: http://poj.org/problem?id=1724居然直接Dfs+剪枝就可以过 受不了啦!!!!!!!题目大意:n个城市间有单向路 路有长度和花费两个参数问在总花费不超过特定值的情况下从1到n的最短路 包括到不了的情况代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<set>using 阅读全文
posted @ 2012-07-17 11:39 夜-> 阅读(162) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3411题目大意:n城市 m条路(可能重)每条路两种情况付费 a b c p r如果已经经过了c城则可以付费p 否则只能付费r求从1到n最小花费思路:记录各种花费 然后Dfs枚举 但是本题某一点可以多次不过由于边的数量是最多10 所以某一个点最多经过4此(自己想吧 亲!)快乐深搜 注意n=1的情况#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<q 阅读全文
posted @ 2012-07-17 10:48 夜-> 阅读(182) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1699题目大意:给你n个字符串 可以让他们任意首尾合并相连求包含所以字符串的最短总字符串长度注意:只能首尾合并相连像 ACTG 和 CT 是不可以的思路:求出所以成对字符串合并会增加多少长度 并记录在表中然后Dfs搜索就可以啦 剪枝效果更好代码及其注释:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<a 阅读全文
posted @ 2012-07-17 09:08 夜-> 阅读(273) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2406题目同 poj 1961代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<set>using namespace std;const int N=1000010;char s[N];int next[N];int ans[N];void 阅读全文
posted @ 2012-07-17 08:01 夜-> 阅读(155) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1961此题直接上代码:#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>#include<queue>#include<algorithm>#include<set>using namespace std;const int N=1000010;char s[N];int next[N];int ans[N];void findnex 阅读全文
posted @ 2012-07-17 07:53 夜-> 阅读(135) 评论(0) 推荐(0)