05 2015 档案
摘要:Problem Description作为一个强迫症患者,小 Y 在走游戏里的迷宫时一定要把所有的宝箱收集齐才肯罢休。现在给你一个 N *M 的迷宫,里面有障碍、空地和宝箱,小 Y 在某个起始点,每一步小 Y 可以往上下左右走,当然前提时没有走出迷宫并且走到的点不是障碍。如果小 Y 走到了某个为宝箱...
阅读全文
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1566题意还是蛮难懂的,至少对于我来说,需要认真读题。输入矩阵的每一个数字换成2进制后,顺时针围一圈,用1表示墙,0表示空,这样就可以表示出一个迷宫,现在就是判断这个迷宫属于4种类型中哪种类型。参考了...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1254题目意思很简单,只要思路对就好。首先考虑搬运工能否到达推箱子的那个点,这个可以根据箱子前进方向得出搬运工需要到达的目的地,用另一个bfs判断,然后就类似两个点的bfs那样用一个数组标记状态,需要注意箱子在边上...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1226难以想到怎么去bfs,还是对状态的划分不明确,知道了之后感觉还是挺简单的。这题关键是密码可能很长,然后判断是否整除用到了一点技巧,确保不会溢出,输出的时候是用递归回溯输出。因为同一个数可以取多次,而最终取的是...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1195这道题虽然只是从四个数到四个数,但是状态很多,开始一直不知道怎么下手,关键就是如何划分这些状态,确保每一个状态都能遍历到。得到四个数之后,分三种情况处理,每次改变一个数之后都要加入队列,最先输出的就是步数最少...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1072遇到Bomb-Reset-Equipment的时候除了时间恢复之外,必须把这个点做标记不能再走,不然可能造成死循环,也得不到最优解。#include #include #include using names...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1240开始没仔细看题,看懂了发现就是一个裸的bfs,注意坐标是三维的,然后每次可以扩展出6个方向。第一维代表在第几层。后两维代表行和列。 1 #include 2 #include 3 #include 4 ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1728这两道题花了一下午的时候调试,因为以前做过类似的题,但是判断方向的方法是错的,一直没发现啊,真无语。每个状态除了坐标外还需要记录步数,和方向。还要注意输入格式。并且每一个点并不是走过了就不能在走,只要到达这个...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2216zjt和sara在同一个地图里,zjt要去寻找sara,zjt每移动一步sara就要往相反方向移动,如果他们相邻或者在同一个格子里就算相遇。输出最少步数。注意zjt每次必须要有能移动的点才移动,否则不能移动,...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1180注意点就是楼梯是在harry移动完之后才会改变方向,那么只要统计到达这个点时间奇偶性,就可以知道当前楼梯是水平的还是垂直的。并且我们需要知道当前到达楼梯这个点的方向,这样才知道下一个往哪个方向走,可以根据di...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2102题目还是不难,注意起点一定是(0,0,0),然后到达P点时间 2 #include 3 #include 4 #include 5 using namespace std; 6 char field[2...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1026求起点到终点的最少花费,输出路径的时候麻烦一点,借鉴了别人的思路,用dfs 递归打印出路径。用额外一个二维数组标记当前点的前驱,因为点是一个坐标,那么可以用 s=x*m+y 映射成一个点就可以了。这样知道这个...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1242感觉题目没有表述清楚,angel的朋友应该不一定只有一个,那么正解就是a去搜索r,再用普通的bfs就能过了。但是别人说要用优先队列来保证时间最优,我倒是没明白,步数最优跟时间最优不是等价的吗?就算士兵要花费额...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1010这题就是问能不能在t时刻走到门口,不能用bfs的原因大概是可能不一定是最短路路径吧。但是这题要过除了细心外,还需要强力的剪枝。奇偶性剪枝:参考http://www.cppblog.com/Geek/archi...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1258关键点就是一次递归里面一样的数字只能选一次。 1 #include 2 #include 3 4 int n,t; 5 int b[15],c[15]; 6 bool flag; 7 void dfs(...
阅读全文
摘要:http://poj.org/problem?id=2386http://acm.hdu.edu.cn/showproblem.php?pid=1241求有多少个连通子图。复杂度都是O(n*m)。 1 #include 2 3 char filed[110][110]; 4 int n,m; 5...
阅读全文
摘要:给定整数a和b,请问区间[a,b)内有多少个素数?a 2 #include 3 #include 4 using namespace std; 5 typedef long long ll; 6 const int maxn = 1000005; 7 bool is_prime[maxn]; 8...
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34870求n内的素数个数。 1 /* *********************************************** 2 Author : zch ...
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=45524NY在自己的花园里养了很多猫。有一天,一个巫婆在N个点设置了魔法,然后有M条关系,每一条在两个点之间有栅栏。NY需要损坏这些栅栏但是需要栅栏长度这么多神奇的水,因为这种水...
阅读全文
摘要:http://poj.org/problem?id=1258FJ为了竞选市长,承诺为这个地区的所有农场联网,为了减少花费,希望所需光纤越少越好,给定每两个农场的花费,求出最小花费。最小生成树。#include #include using namespace std;const int maxn =...
阅读全文
摘要:http://poj.org/problem?id=2377bessie要为FJ的N个农场联网,给出M条联通的线路,每条线路需要花费C,因为意识到FJ不想付钱,所以bsssie想把工作做的很糟糕,她想要花费越多越好,并且任意两个农场都需要连通,并且不能存在环。后面两个条件保证最后的连通图是一棵树。输...
阅读全文
摘要:http://poj.org/problem?id=3723windy需要挑选N各女孩,和M各男孩作为士兵,但是雇佣每个人都需要支付10000元的费用,如果男孩x和女孩y存在亲密度为d的关系,只要他们其中有一个已经被选中,那么在选另一个人需要的费用为100000-d,给定R个关系,输出一个最低费用,...
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=45523有一个国王想在首都与各个城市之间修建公路,但是他的预算太高,所以必须要降低预算。为了降低预算,必须要有新计划,新计划必须满足每两个城市都连通,首都和城市的最短距离不会改变...
阅读全文
摘要:http://poj.org/problem?id=3268每头牛都要去标号为X的农场参加一个party,农场总共有N个(标号为1-n),总共有M单向路联通,每头牛参加完party之后需要返回自己的农场,但是他们都想选一条最近的路,并且由于路是单向的,去的路和来的路选择可能不一样,问来去时间之和最大...
阅读全文
摘要:http://poj.org/problem?id=3259农夫john发现了一些虫洞,虫洞是一种在你到达虫洞之前把你送回目的地的一种方式,FJ的每个农场,由n块土地(编号为1-n),M条路,和W个 虫洞组成,FJ想从一块土地开始,经过若干条路和虫洞,返回到他最初开始走的地方并且时间要在他离开之前,...
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=78207看懂题就好。求某一办公室到其他办公室的最短距离。多组输入,n表示n条关系,下面n次每次输入 x y d表示x到y的距离是d。输出办公室的编号和距离。因为 顶点数小于10,...
阅读全文
摘要:http://poj.org/problem?id=3255bessie 有时会去拜访她的朋友,但是她不想走最快回家的那条路,而是想走一条比最短的路长的次短路。城镇由R条双向路组成,有N个路口。标号为1到N,问1号路口到N号路口的次短路长度是多少?次短路是比最短路长度长的次短的路径。同一条边可以经过...
阅读全文
摘要:给定一个具有n个顶点的图,要给图上每个顶点染色,并且要使相邻的顶点颜色不同,问是否能最多用2种颜色进行染色,题目保证没有重边和自环。1#include#includeusing namespace std;const int maxn = 1010;int V,E;vectorG[maxn];int...
阅读全文
摘要:http://acdream.info/problem?pid=1726官方题解:http://acdream.info/topic?tid=4246求n个数里面能不能选一些数出来让它们的和等于k。因为k很大,不能用背包,但是n很小,最大为40,所以拆成了2部分,之后最大为2^20次方 2 #inc...
阅读全文
摘要:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=45522给定一棵树的n个节点,每个节点标号在1到n之间,1是树的根节点,有如下两种操作:M v :把编号为v的节点标记。Q v :查询与v节点距离最近的被标记的点的编号。最初只有...
阅读全文
摘要:http://acdream.info/problem?pid=1735官方题解:http://acdream.info/topic?tid=4246因为主干线是平行于x轴的直线,那么跟x坐标其实没关系,考虑两个点时直线是位于两点的中部,三个点时有一个点会位于直线上,那么,奇数个点是一定有一个点位于...
阅读全文
摘要:http://poj.org/problem?id=2236由于发生了地震,有关组织组把一圈电脑一个无线网,但是由于余震的破坏,所有的电脑都被损坏,随着电脑一个个被修好,无线网也逐步恢复工作,但是由于硬件的限制,一台电脑和另一台电脑能够相连当他们之间的距离小于d,或者还有一台电脑当中介,分别与两台电...
阅读全文
摘要:http://poj.org/problem?id=2010"Moo U"大学有一种非常严格的入学考试(CSAT) ,每头小牛都会有一个得分。然而,"Moo U"大学学费非常昂贵,并非每一头小牛都能支付的起,很多小牛都需要经济援助,但是学校只有有限的资金F。"Moo U"大学只会从C个学生里选N个学...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1829http://poj.org/problem?id=2492臭虫有两种性别,并且只有异性相吸,给定n条臭虫(编号1-n)和m对关系,判断是否是出现同性恋的情况。这题跟食物链的题类似,这里只有两种关系,关系是同...
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1264三角形的有向面积:a.x*b.y+b.x*c.y+c.x*a.y - a.x*c.y - c.x*b.y - b.x*a.y;上面得到的即是以点A,B,C三点组成的三角...
阅读全文
摘要:http://poj.org/problem?id=3614有c头奶牛在沙滩上晒太阳,每头奶牛能忍受的阳光强度有一个最大值(max_spf) 和最小值(min_spf),奶牛有L种防晒霜,每种可以固定阳光强度在某一个值,每种的数量是cover[i] ,每头奶牛只能用一瓶防晒霜,问最多有多少头奶牛能在...
阅读全文
摘要:http://poj.org/problem?id=1182关于并查集 很好的一道题,开始也看了一直没懂。这次是因为《挑战程序设计竞赛》书上有讲解看了几遍终于懂了。是一种很好的思路,跟网上其他的不太一样。因为N和K很大,所以必须高效维护动物之间的关系,并快速判断是否产生了矛盾,并查集是维护 "属于同...
阅读全文
摘要:并查集的特点:1.可以高效查询元素 a 和元素b是否属于同一组2.合并元素a和元素b所在的组 (无法分割)初始化:n个节点来表示元素,最开始没有边。合并:从一个组的跟向另一个组连边,这样两棵树就变成了一棵树,也就把两个组合并为一个组了。查询:为了查询两个节点是否属于同一个组,我们需要沿着树往上走,来...
阅读全文
摘要:书上实现:二叉搜索数的特点:高效实现 插入一个数值,查询是否包含某个数值,删除某一个数值。所有的节点都满足左子树上的所有节点都比自己的小,而右子树上的所有节点都比自己大的特点。查询:如果当前数值等于根节点返回true,比根节点小,就往左儿子走,否则往右儿子走。插入:按照查找数值的方法去找其所在位置,...
阅读全文
摘要:http://poj.org/problem?id=2431你需要驾驶一辆卡车做一次长途旅行,但是卡车每走一单位就会消耗掉一单位的油,如果没有油就走不了,为了修复卡车,卡车需要被开到距离最近的城镇,在当前位置和城镇之间有n个加油站可以加油。为了减少危险,需要最少的加油次数,卡车的油箱可以看作无限大,...
阅读全文
摘要:基本思想: 两种操作都跟树的深度成正比,所以复杂度 O(log(n)) ;push():在向堆中插入数值时,首先在堆的末尾插入该数值,然后不断向上提直到没有大小颠倒为止。pop(): 从堆中取出一个数值时,首先把堆的最后一个节点的数值复制到根节点上,并且删除最后一个节点,然后不断向下交换直到没有大小...
阅读全文
摘要:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1231直接递推。在保存最大值的时候同时保存有多少条到达最大值的路径,注意第一行第一列的情况即可。别忘了 取模。 1 #include 2 #include 3 #inclu...
阅读全文

浙公网安备 33010602011771号