- 博客(19)
- 资源 (5)
- 收藏
- 关注
原创 hdu2813解题报告
比较简单的KM算法...这里也一个自己对二分及KM算法的误区..那就是自己老是不知道用哪一个点集合作为左集合,哪一个作为右集合..一老觉得会多或少的匹配..
2013-09-23 21:11:40 1177
原创 小白学习KM算法详细总结--附上模板题hdu2255
x小白理解KM算法学习总结,归纳各位大神的总结,结合自己辛苦画的图,详细的模板解说,希望自己以后回头看能一目了然,也对刚接触Km的人有帮助..
2013-09-10 15:43:23 2841 2
原创 poj3259解题报告
比较简答的回路判断我们把最后的几个是虫洞的单向路的W权值置为负数,其他的就是模板啦// AC 248k 141ms#include#includeusing namespace std;struct node{ int to,time,next;}edge[5202];int head[502];int tol;void add(int st,int end,int
2013-09-09 20:32:26 1001
原创 hdu1501-poj2192详细解题报告
自己是刚开始dp 的学习,觉得这个对于刚刚接触dp的人的思维很有帮助,这里结合图形给出详细的dp状态转移过程,思路分析。。。希望对刚做dp不久的人有帮助,也希望自己在此基础上有提升.....
2013-09-04 18:44:53 1295
原创 poj2676解题报告
题意:有一个9*9的格子 分成了9个3*3的小子格,一些位置上的已有一些数字。。现在要求你把没有数字的位置填上数,要求这个数没有出现在这个位置所在的行、列以及所在的子格分析:那么我们对于所有的未填写位置就可以进行一次dfs,对于每个位置枚举1~9九个数字看能不能填写,(能填写的就是符合题目的要求),对于行列比较容易,但是对于当前位置 (x,y) 所在的子格...借鉴了前辈的方法:如下:it
2013-09-02 15:33:19 1051
原创 poj1321解题报告
哎哎..对自己还是蛮失望...刚开始看这个题目知道用dfs ....但是就是不知道怎么处理...纠结了好久,最开始用一个for 循环老得不出正确答案...因为这个dfs有事递归调用...都不知道错在哪里....好久之后在看...这里想到了用一个两重循环去判断....第一,我们需要对于棋盘中的每一个位置考虑,第二因为我们要对当前的一个位置考虑在这个位置开始填写第一个....我们是不是能在其他的位置填
2013-09-01 18:56:37 955
原创 hdu2553解题报告
经典的dfs:N皇后,开始看了刘汝佳前辈的书..代码简单明了...就是理解起来有点....哎哎...于是就自己用dfs模板加了一个判断,还有就是这里用到打表...对于N因为是逐行填写,,那么就只要考虑下图的三个方向(红的的)上马:#include#includeint N;int ans;int map[14][14];int vis[3][2]={{-1,1},
2013-09-01 17:44:40 1180
原创 pku2243马棋到达最短路解题报告
八个方向访问的bfs模板:#include#includeusing namespace std;int map[8][8];bool flag[8][8];int xs,xe,ys,ye;起点和终点int vis[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};struct node{ in
2013-09-01 16:49:35 1070
原创 hdu2425解题报告
题意很明了,就是找起点到终点的最短用时,但是因为每种不同的地带,用时不同,那么这里可以用到优先队列,来处理总共用时,我们每次总是把用时最短的坐标点出队,访问四周,那么,就总能选择用时最短的去走,直到达到目的地:上马:0MS244K#include#includeusing namespace std;#define MAX 22struct
2013-09-01 16:42:55 1268
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人