上一页 1 ··· 8 9 10 11 12 13 14 15 下一页
摘要: http://poj.org/problem?id=1679开始想取巧,根据kruscal的思想,如果有两条边连某一点A,并且这两条边相等的话,就一定有相等的最小生成树,结果是错误的,按照我的思路这两条相等的边是用来连A点的, 所以任选一条可生成最小生成树。但事实上,这两条相等的边有可能都用的上,具体的。。。求最小生成树是否唯一 ,搜了一下 ,就是用次小生成树 次小生成树思路:记录最小生成树的各个边,然后依次去掉每一个边,再求最小生成树,看与原来的生成树是否相等代码:#include<iostream>#include<cstdio>#include<string 阅读全文
posted @ 2012-02-02 02:16 快乐. 阅读(211) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=3013看到这个题还以为很一般的最短路 dijkstra第一次用矩阵存边 直接不运行 数据太大,换成链表运行了 TLE ...好吧 看别人的解题报告 dijkstra+优先队列 还有用spfa的 spfa比dijkstra快吗 不清楚 明天写个spfa试试dijkstra代码 顺便学一下大数的定义 输出#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<queue>using name 阅读全文
posted @ 2012-01-31 03:09 快乐. 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 这么纠结的一道题,两天。。。光题目就杀死人,题意是t->s,而样例是s->t 无语,求k条最短路,通过这个题了解了A*算法 光代码敲了两遍 错错错 还以为是系统有问题 ,最后发现自己出现bugf(x)=g(x)+h(x)启发函数 具体还涉及到反向边求h(x)估计函数 g(x)等 cnt[t]==k找到第K条边等很神奇!这个题 还得再做 还是不错的先贴个代码吧#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#d 阅读全文
posted @ 2012-01-31 03:02 快乐. 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 网络流题目集锦(转)最大流POJ 1273 Drainage DitchesPOJ 1274 The Perfect Stall (二分图匹配)POJ 1698 Alice's ChancePOJ 1459 Power NetworkPOJ 2112 Optimal Milking (二分)POJ 2455 Secret Milking Machine (二分)POJ 3189 Steady Cow Assignment (枚举)POJ 1637 Sightseeing tour (混合图欧拉回路)POJ 3498 March of the Penguins (枚举汇点)POJ 108 阅读全文
posted @ 2012-01-29 21:09 快乐. 阅读(193) 评论(0) 推荐(0) 编辑
摘要: http://acm.nankai.edu.cn/p2121.html南开的24道网络流里的第一个 汉语题目 哈哈 二分匹配,增加一个源点S 一个汇点T 然后按最大流算 dinic下面用矩阵和链表加边做的,两种写法目前当模板了(一)用矩阵存储 运行时间 0MS代码:#include<iostream>#include<cstdio>#include<string>#include<queue>#include<cstring>#define Min(a,b)a<b?a:b#define inf 100000using names 阅读全文
posted @ 2012-01-29 20:44 快乐. 阅读(283) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1258把N个村庄连在一起,求最小花费,纯最短路 借这个题整理一下最短路的两种方法 prim kruscalprim代码(16MS):#include<iostream>#include<cstdio>#include<string>#include<cstring>#define inf 100002using namespace std;int map[102][102],dis[102];bool vs[102];int N,SUM;void prim(int x){ int i,k,ma 阅读全文
posted @ 2012-01-24 23:39 快乐. 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 纯最短路 借这个题整理一下三种最短路方法dijkstra代码:#include<iostream>#include<cstdio>#define inf 999999;using namespace std;int dist[12],map[12][12],sea[12];int N;void dijkstra(int x){ int i,j,min,mark; for(i=1;i<N;i++) { dist[i]=inf; dist[i]=map[x][i]; } for(i=1;i<N;i++)//控制次数,怎么感觉跟prim一样呢... 阅读全文
posted @ 2012-01-22 01:48 快乐. 阅读(177) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2054题意:给出n个节点和r根节点 给这些节点涂色,除根节点外每个节点都有一个父节点(and there is a unique path from the root to each of the other nodes.),每涂一个节点花费一个单位时间,涂子节点;每个节点都有权值ci, 涂完一个节点后花费的时间ti,那么该节点的花费为ci*ti,题目要求按怎样的顺序涂色花费的最少,求出最少的花费开始觉得贪心肯定不行,因为每次找出最大的,局部优化不一定达到最终优化,至于搜索,广搜肯定不行,深搜也现实。最后搜到了解题报告,是巧妙的贪心,把子. 阅读全文
posted @ 2012-01-19 00:20 快乐. 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 原来国际象棋中的骑士是“马”啊 给出一个小于8*8的棋盘,从任意一点开始,以任意一点结束,走遍整个棋盘;很明显,可也有多种走法,题目要求写出字符串最小的一个 晦涩难懂的题意,光题目读了半天,最后还是问别人题目的意思关键是输出字符串最小的,都写出来比较输出最小肯定不现实,那就是搜索的时候有处理了,注意根据样例3 横的是ABC 竖的是123(根据样例确定,mygod这样也可以!!!)然后就可以写出八个方向的顺序int dir[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2}, {1,-2},{1,2},{2,-1},{2,1}};还有一个问题,记录路径和结束控制,cxl教. 阅读全文
posted @ 2012-01-18 23:44 快乐. 阅读(151) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2492题意:一专家假设:一种昆虫,是不是性别不一样才会组合到一起 。给出n个昆虫,m个组合,验证是不是 性别相异的才会组合开始的思路,想到并查集了,可是想到最后可能会分成两组以上,没什么思路后来用的dfs 也写了好长时间思路:点和边形成的图形如果没有回路肯定假设正确,即只有性别不同的才会组合到一起 如果有回路,回路中点的个数为奇数 则假设错误 如果为偶数则假设正确 这些是在纸上画了画得出的结论,下面的代码就是按这个思路写的这么多代码就是围绕这一点思路if(visit[t]&&(s_step-step[t])%2==0 ... 阅读全文
posted @ 2012-01-18 22:50 快乐. 阅读(204) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 下一页