- 博客(5)
- 收藏
- 关注
原创 poj2488A Knight's Journey
很简单的题,不过粗心RA了很多次。就是一个DFS的题目,不过回溯的时候记得把实现不了的这一分支所做的标记“抹掉”。另外,记得是lexicographically first path(最小字典序),p, q哪个作行或列并不重要,记得p对应1,2,...而q对应A,B,...就行了。 #include #include #define max 27 const int jump1
2017-12-18 00:28:09
149
原创 poj3268
Dijkstra算法的变形。初步看确实直接想到用Floyd,提交后直接TLE,没有注意到时间只有2000ms。最后改进了一下Dijkstra算法,从Party定点x到各定点距离好求,而从各点到x的多源单点问题就需要一点小技巧了。把所有的边全部反向,求x到各顶点距离,这样结果就得到了各顶点到x的最短距离。用领接矩阵的话很好做,无需直接的把边反向操作,用存边矩阵E[i][x](表示定点 i 到定点 x
2017-12-16 23:54:48
203
原创 poj1502
#include #include #include const int INF = 0x3f3f3f3f; int G[101][101]; int Floyd(int n){ int max; for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(G[i][j] > G[i][k]
2017-12-16 16:11:49
263
原创 poj1125
水题,读题时间比coding还久...不过还是要注意Floyd算法里三个循环是以中间节点为基础开始的。 #include #include const int INF = 0x3f3f3f3f; int G[101][101]; int N;//股票经纪人数量 int number, min; //最短时间开始经纪人编号 和 最短时间 // void Floyd(){ for(
2017-12-16 14:33:16
265
原创 poj2387
写一个这么简单的dijkstra算法居然找bug找了了几个小时。在寻找未入集合的“最小”节点时,漏了最后全部入集合找不到的情况,导致最后队列无法结束,造成runtime error。但是很奇怪,在自己的dev-cpp中测试运行却没事,但调试时就出现了这个死循环,难道软件执行到一定次数会自动跳出? 另外,由于OJ中并没有提供测试数据(除了samle),很难知道自己错在哪,刚才用了一点小手段,在可能
2017-12-08 23:56:43
285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅