随笔分类 - 搜索
摘要:给出k瓶可乐,浓度为ai/1000,输出最少用多少瓶才能配出浓度为n的可乐? 分析:显然,每个浓度对最终浓度的贡献是ai-n,如果最终总和贡献为0的时候,那就是一个答案 那么,浓度贡献的范围是[-1000,1000],+1000映射到[0,2000], 只要关心每一个贡献出现的时候最少多少瓶就Ok了
阅读全文
摘要:题意:一个n*n的矩阵,每个点有若干块点心,小老鼠开始在左上角,每次最多往前走k步,且停留的点的点心数比上一次停留的点大,输出最大的i点心数 分析:停留的点数目必须比上次大,形成一个序,必定是一个DAG,那么dp[ix][y]表示从x,y出发得到的最大数量,如果已经搜索过x,y,直接返回dp[x][
阅读全文
摘要:题意:给出1-9的个数,然后组成a+b=c的式子(1<=a,b,c<=9),这样的式子有多少个? 算一下,有36个,满36个需要用到的ai的个数是17-i,先判满不满,num[i]=min(num[i],17-i),多于限制个没什么用,然后真的只要爆搜就行了,不敢相信自己的眼睛
阅读全文
摘要:Holedox Moving poj 1324 题意:贪吃蛇,n*m的网格,蛇长度《=8,给出蛇的每个身体的位置,求到(1,1)点的最短距离 http://www.cnblogs.com/longdouhzt/archive/2011/11/17/2253233.html这个xjb搞,效果还是不错的
阅读全文
摘要:题意:由x通过乘除运算出x^n,最少需要多少补 分析:看上就是一个搜索,无法准确估计深度,非常适合IDA*这样的算法,固定深度,然后搜索,直接搜索会超时,需要一些强力剪枝,如果到达某一个状态,maxd*(2^(depth-d))<n,这样的状态是无法到达的,因为每一次都是乘,都要小于n,这样的减去,
阅读全文
摘要:题意:给一个n*m的矩阵,0表示灯关,1表示开,按下(x,y),那么与他相连和本身的共5个灯翻转,输出翻转次数最少的 字典序最小的方案 分析:非常经典的题,一个灯按两次,相当于没按,那么只要求哪些灯按,哪些灯没按,直接枚举状态有2^(n*m)),太大,接下来我们考虑如何让一个灯翻转,显然相连的四个灯
阅读全文
摘要:题意:一个n*m的城市,有小偷会偷银行,小偷偷东西t分钟后,城市会被全部封锁,然后会有q次排查,每次排查的范围是一个矩形,给出左上角坐标(a,b)和右下角坐标(c,d),格式为t a,b,c,d,表示这个范围该时间小偷不再,输出所有小偷可能在的位置和时间 分析:一共有三种情况,确定小偷所在的位置和时
阅读全文
摘要:题意:一个三维的迷宫,三边长分别为r,n,m,(<=30),始点是S,终点是E,每次可以在同一层上下左右移动,或者走向相邻的层数,输出最短步数 分析:状态只有30*30*30,bfs就可以了,没什么意思 #include<cstdio> #include<iostream> #include<cst
阅读全文
摘要:题意:一个小船在海上航行,海面上是一个n*m的矩阵,每个点都有一个洋流,小船顺着洋流走,不消耗能量,其他则消耗一个能量,给出始点和终点,求最小能量消耗 分析:求最少消耗,bfs,每次取出能量消耗最少的,vis数组记录到达每个点最小消耗的能量,如果新的走法到某点,消耗能量要少,则更新vis,加入队列,
阅读全文

浙公网安备 33010602011771号