
高级动态规划
Lawliet_ZMZ
ACMERandNODER
展开
-
hdu 2476 String painter
题意:用刷子把a串刷成b串; 题解:说实话我想不出来,看了别人的博客, 是先做用空串刷成b, 然后拿a和b做对比;大概是这么做,具体看代码注释;(感受到了分部做的强大); 代码: #include #include #include #include #include #include #include #include #include using names原创 2017-09-04 20:50:14 · 229 阅读 · 0 评论 -
UVa 1252 - Twenty Questions(记忆化搜索,状态压缩dp)
题目: Consider a closed world and a set of features that are defined for all the objects in the world. Each feature can be answered with “yes” or “no”. Using those features, we can identify any obje原创 2017-09-04 20:55:29 · 238 阅读 · 0 评论 -
poj 1463 Strategic game 树形dp
题目简述: 有若干结点,结点之间有路相连,构成树形结构,如果在一个结点上放置一个士兵,与这个结点相连的路就可以被监视,现在要监视所以的路,问至少要多少士兵。 思路: 最优解结构: dp[i][0],dp[i][1]分别表示不在i结点和在i结点上放置士兵时整个以i结点为根的子树被覆盖用到目标的最少数量。 状态转移:对叶子结点,有 dp[i][0]=原创 2017-09-04 20:53:17 · 291 阅读 · 0 评论 -
poj 2411 Mondriaan's Dream (状态dp)
题目 这个题目的题意很容易理解,在一个N*M的格子里,我们现在有两种类型的 砖块,1 * 2 和 2 * 1,问一共有多少种方案,可以将整个N*M的空间都填满。 最简单的例子就是下面的了: 题解: 状态标记 横放和竖放的下一个均为1,竖放的上一个和不放置为0 ,每行可以转化为1个2进制数。为什么要这样呢,应为这样表示肯定是包括了pre(前一行)和now(后一行)的所有状态的原创 2017-09-04 20:57:17 · 214 阅读 · 0 评论 -
poj 1038 Bugs Integrated, Inc. __dp状态压缩
题目简述: 一个生产芯片的工厂要生产一种规格为2*3的芯片,方法是先生产一块规格为n*m的矩形硅片,由n*m个正方形方块组成,但是硅片上存在一些损坏的方块,显示为黑色,它们不能用来制作芯片。现在给出硅片上每个损坏方块的位置,求用该硅片最多能切割出多少块芯片。 思路: 为什么要用3进制来状态压缩呢,其实可以看成两个二进制结合而来的,如果题目改成只能横着原创 2017-09-04 20:58:01 · 267 阅读 · 0 评论 -
网易2016校园招聘笔试题 最后一题压轴题(较难dp)
小易有n块砖块,每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单,砖块堆砌就是简单的高度相加,某一块砖只能使用在一座塔中一次。小易现在让能够堆砌出来的两座塔的高度尽量高,小易能否完成呢。 输入描述: 输入包括两行:第一行为整数n(1 ≤ n ≤ 50),即一共有n块砖块,第二行为n个整数,表示每一块砖块的高度height[i] (1 ≤ height[i]原创 2017-09-04 21:05:20 · 584 阅读 · 0 评论 -
poj 3254 Corn Fields dp状态压缩
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11536 Accepted: 6045 Description Farmer John has purchased a lush new rectangular pastu转载 2017-09-04 21:00:49 · 237 阅读 · 0 评论 -
一道区间dp和一道字符串
牛X网测试rating系统,叶神开的bnu的重现赛,送8个T恤,就做了两个题参与下抽奖,打了三场了,不出意料的都没抽中我 =-= 第一道: 小Q同学为了准备今年的ICPC Regional,计划在天之内刷掉道题,每道题有一个难度值,其中第道题的难度值为。 然而处于半颓废状态中的小Q同学不希望在同一天中做难度差距悬殊的题目,定义第天中刷的题的难度的最大值减最小值为(如果第天没有刷题,原创 2017-10-01 14:37:43 · 297 阅读 · 0 评论 -
leetcode32 Longest Valid Parentheses 最长有效括号序列
题目: Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()", w原创 2017-10-05 22:01:21 · 393 阅读 · 0 评论