上一页 1 ··· 167 168 169 170 171 172 173 174 175 ··· 182 下一页
摘要: spfa,说是边的价值=承重*单位价,实际上就是把到达每个结点所需经过的边的单位价之和乘以结点重量之积加起来即可。所以我们就是要让到达每个结点经过的边的单位价格之和最小。这就变成了最短路问题。这道题用栈超时,用队列能过。所以以后用spfa还是用队列的好。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 150005struct Edge{ int v, w, next; 阅读全文
posted @ 2011-03-01 10:34 金海峰 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 普通的n^2的筛法居然比线性筛法快,不知道以后该用哪个了……View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 1000000bool prime[maxn];int main(){ //freopen("D:\\t.txt", "r", stdin); memset(prime, true, sizeof(prime)); for 阅读全文
posted @ 2011-03-01 09:30 金海峰 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 简单的考察输入输出的题。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int main(){ //freopen("D:\\t.txt", "r", stdin); int n, s; scanf("%d%d", &n, &s); s--; for (int i = 1; i <= n; i++) { s += 阅读全文
posted @ 2011-03-01 08:13 金海峰 阅读(211) 评论(0) 推荐(0) 编辑
摘要: spfa算法可以用栈代替队列,入栈时注意判断是否已在栈中。开始以为是要找最长路,其实是要找最短路。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 30005#define maxm 150005struct Edge{ int v, w, next;}edge[maxm];int n, m, head[maxn], mystack[maxn], edgenum, to 阅读全文
posted @ 2011-02-28 15:07 金海峰 阅读(427) 评论(0) 推荐(0) 编辑
摘要: BFS,因为这题是4位数,所以要判断是不是素数只需要100以下的素数,先生成100以下素数表。View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <queue>using namespace std;struct item{ int num[4];} a, b;int prime[100], primenum, cost[10000];int toint(item &a){ int ans = 0; 阅读全文
posted @ 2011-02-28 14:23 金海峰 阅读(671) 评论(0) 推荐(0) 编辑
上一页 1 ··· 167 168 169 170 171 172 173 174 175 ··· 182 下一页