随笔分类 - 记忆化搜索
摘要:Time Limit: 1 second Memory Limit: 50 MB【问题描述】帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:1. 每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有的元素;2. ...
阅读全文
摘要:Time Limit: 1 second Memory Limit: 50 MB【问题描述】上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。游戏规则是这样的:n个同学站成一个圆卷,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可...
阅读全文
摘要:time limit per test2.5 seconds memory limit per test256 megabytes inputstandard input outputstandard output One tradition of welcoming the New...
阅读全文
摘要:time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Theater stage is a rectangular field ...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/743/E【题意】 给你n个数字; 这些数字都是1到8范围内的整数; 然后让你从中选出一个最长的子列; 要求这个子列中各个数字出现的次数的差的绝对值都不超过1; 且如果是相同的数字的话:...
阅读全文
摘要:【题目链接】:http://hihocoder.com/problemset/problem/1048【题意】 【题解】 按从左到右然后从上到下的顺序; 依次枚举每个格子是竖条还是横条; 然后在搜索的时候保证前i-1行全都填满; 记录下这一行和下一行的状态就好了; 2*m个格子;m...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/768/problem/E【题意】 NIM游戏的变种; 要求每一堆石头一次拿了x个之后,下一次就不能一次拿x个了; 问你结果 【题解】 用二进制来表示哪些数字被用过; 然后写一个记忆化搜索; 从上到下获取1...
阅读全文
摘要:【链接】h在这里写链接【题意】让你在杯子里加糖或加水。(4种操作类型)糖或水之间有一定关系。糖和水的总量也有限制。问你糖水浓度的最大时,糖和糖水的量。【题解】写个dfs就好。每次有4种选择。可以写个记忆化。【错的次数】0【反思】在这了写反思【代码】#include using namespace s...
阅读全文
摘要:【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6148【题意】在这里写题意【题解】先把1..N里面的山峰数字个数算出来->x然后用N减去这个x就好;这类的DP用记忆化搜索写比较好写.参数存是否上升过,是否下降过,以及是否能枚举到9就好了.只要出现从某一位...
阅读全文
摘要:【链接】https://cn.vjudge.net/problem/LightOJ-1205【题意】求出L..R范围内的回文个数【题解】数位DP;先求出1..x里面的回文串个数.则做一下前缀和减掉就可以求出L..R之间的了dfs(int start,int cur,bool ok,bool xiao...
阅读全文
摘要:【Link】:【Description】 有一个n(n≤1000)位密码锁,每位都是0~9,可以循环旋转。每次可以让1~3个相邻 数字同时往上或者往下转一格。例如,567890->567901(最后3位向上转)。输入初始状态 和终止状态(长度不超过1000),问最少要转几次。例如,...
阅读全文
摘要:【Link】:【Description】 在一个r*c的格子上; 求最长的下降路径; 【Solution】 记忆化搜索; f[x][y]表示从(x,y)这个格子往下还能走多远; 因为是严格递增,所以有单调性. 【NumberOf WA】 0 【Reviw】 【Code】#...
阅读全文
摘要:【Link】:【Description】 玩跳舞机. 有一定的约束. 归纳起来就是以下三点 1.两只脚不能同时踩一个位置 2.如果左脚踩在了右键上,那么下一次移动的一定要是左脚 3.如果右脚踩在了左键上,那么下一次移动的一定要是右脚 这3个规则和题目所要求的题意等价. 点号的时候,...
阅读全文
摘要:【Link】:【Description】 给你一根长度为l的棍子; 然后有n个切割点; 要求在每个切割点都要切割一下; 这样,最后就能形成n+1根小棍子了; 问你怎样切割,消耗的体力最小; 认为,消耗的体力,为每次切的那根棍子的长度; 【Solution】 在开头增加一个位置0,...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/505/C【题意】 一开始你跳一步长度为d; 之后你每步能跳d-1,d,d+1这3种步数; 然后在路上有很多个位置有treasure; 问你,你最多能获得多少个treasure; 最远跳...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/793/problem/B【题意】 给一个n*m大小的方格; 有一些方格可以走,一些不能走; 然后问你从起点到终点,能不能在转弯次数不超过2的情况下达到; 【题解】 记忆化搜索写一个; f[x][y][z]...
阅读全文
摘要:【题目链接】:http://codeforces.com/problemset/problem/797/E【题意】 给你一个n个元素的数组; 每个元素都在1..n之间; 然后给你q个询问; 每个询问由p和k构成; 会对p进行 p=p+a[p]+k操作若干次; 你要输出p第一次大于n...
阅读全文
摘要:【链接】链接【题意】n个人从左到右站在一条直线上。每个人都有一个能力值g[i],然后每个人可以将相邻的一个人打败。然后它的能力值能够增加相应的能力值(就是打败了的那个人的能力值).A能够打败B的条件是g[A]+D>=g[B].n-1次后,只会剩下一个人了。问你最后的那一个人可能是谁。输出所有可能的人...
阅读全文
摘要:【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6156【题意】已知函数f(x, k),如果10进制数x在k进制下是个回文数,那么f(x, k)值为k,否则为1现给出l, r, x, y, 求出∑∑f(i, j) (l#define int long l...
阅读全文
摘要:【Link】:【Description】 你能对字符串进行压缩的操作; 即把连续出现的相同的子串改成它出现的次数+这个最基本的字符串的形式; 问你这个字符串最短能被压缩得多短;【Solution】 设f[i][j]表示,i..j这一段最短能压缩得多短; d[i][j]表示i..j...
阅读全文

浙公网安备 33010602011771号