随笔分类 - 算法_搜索
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2624题目大意:popo要将给定数量的灯变成自己想要的颜色,有一种魔法开关,可以将一连串的灯同时变成同一个颜色。给定灯的数量和popo想要实现的状态,求最小步数Sample Input5RGBGR4RGRG7ABACADA0Sample Output334分析:令f[x][y]表示从第 x 个灯到第 y 个灯变成目标状态的最小花费,则初始时为最大值。而f[x][x]=1。 则f[x][y] =min{ f[x][k-1]+f[k][y] | x 2 # inc.
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1411题目大意:连连看,给出每次连线的两个坐标,求能消去多少方块,拐弯最多2次Sample Input3 41 1 2 23 3 4 42 2 1 161 1 1 21 3 1 42 1 2 22 3 2 43 1 3 23 3 3 40 0Sample Output12分析:连线可以从外围绕过去,用BFS求出两个坐标能够到达的最少拐弯次数。注意是最少拐弯次数,而不是最短距离这道题目坑死我了,倒不是因为它的算法难,是一些小知识点代码如下: 1 # include 2
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4707题目大意:在一个无环的,从0开始发散状的地图里,找出各个距离0大于d的点的个数Sample Input110 20 10 20 31 41 52 63 74 86 9Sample Output2分析:从0点开始BFS,给每个点一个距离0点标记,再算出大于距离d一共多少个代码如下: 1 # include 2 # include 3 # include 4 # include 5 # include 6 # define N 100010 7 using namespace std; 8 9 .
阅读全文
摘要:硬币问题 有n种硬币,面值分别为V1,V2,...,Vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值。1<=n<=100, 0<=S<=10000,1<=Vi<=S. 分析: 我们把每种面值看做一个点,表示“还需要凑足的面值”,则初始状态为
阅读全文
摘要:有向无环图上的动态规划是学习动态规划的基础,很多问题都可以转化为DAG上的最长路、最短路或路径计数问题。 嵌套矩阵 有n个矩阵,每个矩阵可以用两个整数a,b描述,表示它的长和宽。矩阵X(a,b)可以嵌套在矩阵Y(c,d)中当且仅当a<c,b<d,或者b<c,a<d(相当于把矩阵X旋转90。)例如(1
阅读全文
摘要:不要62Problem Description杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。Input输入的都是整数对n、m(0 2 # include 3 int
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3442题目大意:三国时期,刘备逃亡。给定一个最大为50*50的地图,刘备在地图中只能往4个方向走。 地图中,A代表瞭望塔,攻击范围是2,攻击伤害是1; B 代表堡垒,攻击范围是3,攻击伤害是2; C 代表火焰,对于走在该位置上的单位造成3点伤害; D 代表弓箭手,攻击范围是2,攻击伤害是4; E 代表士兵,攻击范围是1,攻击伤害是5; $ 代表刘备; !代表目的地; # 代表障碍物 . 代表地板刘备不能穿过A,B,D,E。但是可以走上C和地板。 有3条重要规则:1.刘备不能被相同的...
阅读全文
摘要:题目链接:http://poj.org/problem?id=1564题目大意:给定一个整数t,和n个元素组成的集合。求能否用该集合中的元素和表示该整数,如果可以输出所有可行解。1 2 # include 3 # include 4 using namespace std; 5 bool cmp(int a,int b){ 6 return a>b; 7 } 8 int a[15],t,n; 9 bool flag;10 int ans[15],len;11 12 void dfs(int sum,int mark){13 int i;14 if(sum == 0){1...
阅读全文
摘要:滑雪DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是...
阅读全文
摘要:Anagrams by Stack题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4题目大意:输入两个字符串序列,判断能否通过对第一个字符串进行进栈出栈操作得到第二个字符串,若能则输出所有能达到的进出栈操作过程。我通过全排列每得到一组操作过程,则用函数按照这个操作过程,判断能否得到第二个字符串,若能则表明此操作过程可行,输出。代码如下: 1 # include 2 # include 3 # include 4 # include 5 using namespace std; 6 7 string str1,st.
阅读全文
摘要:连连看Time Limit: 20000/10000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13730Accepted Submission(s): 3579Problem Description“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意
阅读全文
摘要:Knight MovesTime Limit:2 Seconds Memory Limit:65536 KBA friend of you is doing research on theTraveling Knight Problem (TKP)where you are to find the shortest closed tour of knight moves that visits each square of a given set ofnsquares on a chessboard exactly once. He thinks that the most difficult
阅读全文
摘要:又是类似骑士拯救公主,不过这个是朋友拯救天使的故事。。。不同的是,天使有多个朋友,而骑士一般单枪匹马比较帅~求到达天使的最短时间,杀死一个护卫1 units time , 走一个格子 1 unit time 。SO,杀死一个护卫到达那个格子 2units time。第一反应是广搜,就搜咧 = =。。WA了,交hdu上 AC了,hdu数据真弱啊。。。想了想,想通了,因为一般广搜的话必须都是1个时间才能搜,才能保证这个BFS树是等距离向外伸展的,而这个不是等距离的,所以需要一些处理。1、我的方法是,找到天使后,把时间比下大小,最后输出最小的。需要优化,只这么做的话,会TLE的,如果走过一个格子,这
阅读全文
摘要:The GameTime Limit:2 Seconds Memory Limit:65536 KBOne morning, you wake up and think: ``I am such a good programmer. Why not make some money?'' So you decide to write a computer game.The game takes place on a rectangular board consisting of w * h squares. Each square might or might not conta
阅读全文
摘要:Gene recombinationDescriptionAs a gene engineer of a gene engineering project, Enigma encountered a puzzle about gene recombination. It is well known that a gene can be considered as a sequence, consisting of four nucleotides, which are simply denoted by four letters, A, C, G, and T.Enigma has gotte
阅读全文
摘要:Exchange CardsTime Limit:2 Seconds Memory Limit:65536 KBAs a basketball fan, Mike is also fond of collecting basketball player cards. But as a student, he can not always get the money to buy new cards, so sometimes he will exchange with his friends for cards he likes. Of course, different cards have
阅读全文
摘要:Fire NetTime Limit:2 Seconds Memory Limit:65536 KBSuppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall.A blockhouse is a small castle that has four openings through which to shoot. The fou
阅读全文