自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天羽屠龙舞

只盼来日登蜀道,再续出师表。。。

  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 poj1308+HOJ1325,判断是否为树

POJ 应该是判断是否为简单无环连通图,用并查集直接秒杀即可,而HOJ的是有向树,还需判断所有点的入度必需小于2,用一个类似hash【】数组判断一下即可, ////判断树之一:入度 #include //判断是否是树 0MS #include #include using namespace std; int fa[100001]; int mark[100001];

2014-01-28 16:50:31 750

原创 poj3532求生成树中最大权与最小权只差最小的生成树+hoj1598俩个点之间的最大权与最小权只差最小的路经。

#include //219MS #include //最小生成树有一个很重要的性质:在构造生成树时有可能选择不同的边,但最小生成树的权是唯一的!所以在用kruskal算法时第一次加入的必然是最小生成树的最小边权值,最小边确定后,最小生成树的最大边的权值是所以生成树中最小的,于是只要枚举最小边,然后求最小生成树,就可以得到最大边,只要每次更新最优解就行了。 #include #incl

2014-01-28 12:59:02 958

原创 hdu1875kruskal简单应用。

标记是dificulty 2,水,开始kruskal时练手题,只需开始时数据处理下,不符合要求的边不要,要理解并查集和Kruskal,就简单了,判断下是否联通图,(只需在记加入有效边时候统计连通分支数即可),生成树必是n-1条边,有效加入次数为n-1次,少与之便不连通了,在杭电总能1A。。。在POJ从未1A。。。。 #include #include #include #include #inc

2014-01-25 20:46:34 716

原创 Minimum Spanning Tree.prim/kruskal(并查集)

开始了最小生成树,以简单应用为例hoj1323,1232(求连通分支数,直接并查集即可) prim(n*n) 一般用于稠密图,而Kruskal(m*log(m))用于系稀疏图 #include //prim n^2 #include #include using namespace std; const int inf=0x3f3f3f3f; int a[102][

2014-01-25 18:35:48 795

原创 poj3635 FULL tank(TLE) 有限制的最短路(BFS搜索)。

用的BFS+优先队列+二进制压缩状态判重+链式前向星, TLE,好像有人这样过了。。。好像要用A*算法,还不太会,所以暂时放弃。但是也学会了很多,学习了链式前向星,更深理解了BFS求最优的时候,什么时候是第一次搜到结果就是最优,该题,通过枚举加的油量,每次加一个单位,从够下一条路开始到满容量,枚举所有路,花的钱少的在队优先(头),故先出队找到目标结点的必然最优,因为后面的都是前面再加钱的。。。。好

2014-01-24 11:17:08 1139 1

原创 poj 1062 昂贵的聘礼 dijkstra

关键1是把转为一张图,有向图,可以换,就为一条边,最后加上点的权重比较大小即可。 关键2是题意的理解上,主要的等级限制,酋长肯定要在区间内,(有等级比酋长还高的),枚举大小为m的区间,从酋长最大,到酋长最小(等级),在每个区间内的点用DIJKSTRA,取最小的一个即可。 #include #include #include using namespace std; // 等级,每

2014-01-22 17:53:25 628

原创 hdu 1596 floyd

直接FLOYD即可,但是WA了好几次,发现犯了低级错误!三个FOR循环顺序不能乱换!必需先枚举中间经过的点,后俩个随意。。。 #include #include #include using namespace std; double a[1002][1002]; int main() { int n; while(~scanf("%d",&n)) {

2014-01-21 19:54:10 727

原创 poj3259,简单判断有无负环,spfa

英语能力差!百度的题意才读懂!就是一个判断有无负环的题。SPFA即可。,注意重边情况!! #include //判断有无负环,spfa #include #include #include using namespace std; int mark[503];int a[503][503];int d[503];int num_in[503]; bool spfa(int n) {

2014-01-21 12:08:30 775

原创 hdu 1496 hash

hash?判重,是否一样?相等?等式!没有想到,这次题做玩后,学到了HASH这一功能!当数据量在数组允许大小范围内时候即可!判断等式俩边是否相等,从而获得解的个数!从复杂度,n*m*k****,降到 2*....,本题从n^4,降到:2*n^2; #include #include using namespace std; int hash[2002000]; int main() {

2014-01-21 10:21:19 650

原创 hdu 1429 bfs+二进制状态压缩

开始时候只用了BFS,显然超时啊,必然在结构体里加一个数组什么的判重啊,开始用的一个BOOL数组,显然还是不行,复杂度高,每次都要遍历数组来判重;后百度之,学习了二进制状态压缩,其实就用一个二进制数来表示当前状态,然后就可以用简单快速位运算来操作了。 #include #include #include #include #include using namespace std; cha

2014-01-20 21:38:25 741

原创 poj1376 bfs,机器人

开始时候有点怕, 感觉什么也不会,不过静下来思考思考也就想出来了,一个简单的BFS即可,但是由于队列没有重判,一直爆队列(MLE!)下次一定要注意! (bfs第一次到达便最优?) #include #include #include #include using namespace std; int a[52][52]; bool mark[52][52][5]; //三个状

2014-01-18 19:05:31 720 1

原创 poj1190,DFS/已知一个等式,求另一个最小值

7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。  设从下往上数第i(1 Ri+1且Hi > Hi+1。  由于要在蛋糕上抹奶油,为尽可能节约经费,我们希望蛋糕外表面(最下一层的下底面除外)的面积Q最小。  令Q = Sπ  请编程对给出的N和M,找出蛋糕的制作方案(适当的Ri和Hi的值),使S最小。  (除Q外,以上所有数据皆为正

2014-01-17 18:43:19 754

原创 poj2243+poj1915骑士问题

2243是骑士问题,八个格子的,BFS,因为要最短路经,所以没有用A*,A*跑不出来,太慢了,因为要搜索到所有解啊!一直更新最优,而BFS,一层一层搜索,第一次得到的便是最短的了!300格子,标记的话,BFS遍历所有时间复杂度也算可以!500MS过!稍微剪枝即可!时间注意!要标记每层已经走过的情况时候要在入队的时候标记!大大降低复杂度!因为出队的时候,有些已经在队里了,但是还没有被标记,现在又让他

2014-01-16 18:03:24 786

原创 由八数码问题引入。对BFS有更深考虑

12号到今天共研究八数码问题poj1077,首先用的是普通BFS,遇到很多问题,开始用一个二级指针作为结构成员,知道了二级指针与二维数值名的不同!http://write.blog.csdn.net/postedit!讲得不错。发现自己代码能力渣死!进入正题,用BFS过不了,先学习了八数码问题有解条件,并扩展到N数码有解问题。做到奇数偶数剪枝,过不了,太慢,于是学习了HASH判重,学习了康托展开(

2014-01-16 16:44:07 836

David Silver的强化学习Reinforcement Learning课程讲义PPT

David Silver的强化学习Reinforcement Learning课程讲义PPT 2017最新版

2018-05-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除