动态规划
STcyclone
这个作者很懒,什么都没留下…
展开
-
bzoj3675: [Apio2014]序列分割
解法1: 容易得知,划分区间的顺序对答案是没有影响的,证明如下: 不妨将原始序列分为3段,a,b,c分别表示3段区间的元素和 我们如果先从a,b间分割,再从b,c间分割,那么价值为a(b+c)+bc=ab+ac+bc 如果先从b,c间分割,再从a,b间分割,那么价值为(a+b)c+ab=ab+ac+bc 这两种方法得到的价值相等,也就说明划分区间的先后顺序不影响答案那么本题就可以套用区间d原创 2015-09-13 15:38:22 · 2539 阅读 · 3 评论 -
vijos1656萌萌赶考
题目大意给定一个地图的起点和终点,地图上有一些点不能通过,问是否存在从起点出发到终点,经过每个点至多一次且路径长度恰好为t的路径算法分析很朴素的搜索,但是也是练剪枝的好题。1假设起点坐标为(sx,sy),终点坐标为(ex,ey),给定时间为t,那么如果满足(sx+sy+t)与(ex+ey),那么直接输出No,正确性显然2如果地图中可以经过的点的个数小于t,那么直接输出No3如果已经走到了终原创 2015-10-18 16:06:42 · 831 阅读 · 0 评论 -
VIJOS1592不听话的机器人
题面DD 有一个不太听话的机器人,这个机器人总是会有自己的想法,而不会完全遵守 DD 给它的指令。 描述 现在 DD 在试图命令机器人走迷宫。迷宫是一个 N*N 个格子组成的区域,格子自左上角到右下角从 (1,1) 到 (N,N) 编号。第 i 行、第 j 列的格子编号为 (i,j)。迷宫中的某些区域是障碍物,机器人不能移动到那里。 DD 给了机器人 M 条指令,指令的类型包括“前进一步”“后原创 2015-12-19 23:37:51 · 1091 阅读 · 0 评论 -
VIJOS1392拼拼图的小杉
题目大意给定n个数,将这n个数中的一些依次放进m个集合,每个集合中所有数的和不能超过T。集合包含的元素不能交叉,也就是说如果第1个数和第3个数放入了集合1,那么第2个数要么放入集合1,要么不放入任何一个集合。 求m个集合中最多能包含多少个数1<=n,m,T<=1000分析来源于题解中小岛的想法这题如果状态直接定义为f[i,j]=x表示前i个数放入j个集合最多能包含x个数 那么操作起来会比较困难,原创 2015-12-20 15:12:07 · 1299 阅读 · 0 评论 -
bzoj1597: [Usaco2008 Mar]土地购买
1597: [Usaco2008 Mar]土地购买Time Limit: 10 Sec Memory Limit: 162 MBDescription农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000,000; 1 <= 长 <= 1,000,000). 每块土地的价格是它的面积,但FJ可以同时购买原创 2015-09-13 21:12:43 · 1780 阅读 · 0 评论 -
VIJOS1456最小总代价
题目大意给定一个含有n个点完全连通图,每条边权值<=10000,求经过所有点各一次的路径的各边权值之和的最小值 n<=16分析经典的状态压缩dp问题 f[i][j]=x表示经过点的集合为i,最后一个经过的点为j时,当前最小总代价为x (集合状态可以用二进制表示) f[{j}][j]=0 f[i][j]=min{f[i-{j}][k]+a[k][j]}(i包含j和k,k!=j) 时间复杂度原创 2015-12-20 20:20:03 · 1311 阅读 · 0 评论 -
51nod 1490 多重游戏
1490 多重游戏 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有一个两人游戏,游戏是这样的,有n个非空串。在游戏的过程是,两个玩家轮流向一个字符串后面加字母,刚开始字符串是空的。每一次操作是向当前字符串后面添加字符,形成的新字符串一定要是这n个串中某一个或几个的前缀,如果无法做到,就输了。 这样的游戏似原创 2016-09-11 21:45:35 · 1131 阅读 · 0 评论