- 博客(12)
- 收藏
- 关注
转载 POJ 2288 动态规划 状压DP 特殊的哈密尔顿回路
POJ 2288 / OpenJudge 2288 特殊的哈密尔顿回路问题,外加计数DP问题,在解决哈密尔顿贿赂问题时要注意,一个节点是否能过多次。本题需要最大化的是,路过的节点的取值,相邻两个节点权值的乘积,相邻三个节点权值的乘积,如果第一个和第三个直接相互连接。状态表示为:dp[i][j]...
2019-05-31 13:31:00
412
转载 POJ 1185 动态规划 状压DP 经典好题
POJ 1185 / OpenJudge 1185 状态压缩DP,经典好题。 是POJ 3254 的拓展题。首先借鉴POJ 3254的经验,我们发觉,当前的可以选择的情况和上面两行有关,所以状态必须要定义成为dp[i][U][V],表示在i行进行U的位置选取(编码为二进制),其上一行的选取是...
2019-05-30 20:16:00
168
转载 POJ 1191 动态规划 区间DP 深度解析
二维区间DP,本题用到了诸多技巧十分值得我们去研究,其中包含了很多问题的原型。如果方法得当,思路清晰,20min内就可以搞定。 首先第一个技巧是对于标准差公式进行变形,这一技巧见过了至少2次,得到结果为: 方差 = 每一块的和的平方的和 / N + 全部方块总和的平方 / N^2 而后将...
2019-05-20 21:59:00
199
转载 POJ 3042 动态规划 区间DP
POJ 3042 区间DP,这道题有点技巧。如果把状态转移方程定义为dp[i][j]:=吃光从i-j的草,i-j的草的新鲜度之和,是求不出来状态转移表达式的。原因很简单,因为忽视了吃光所有的草的时候牛站在区间哪一侧的重要信息。 一个比较好的定义是这样的:dp[i][j][1]:=吃光i-j的...
2019-05-20 20:17:00
139
转载 POJ 3186 动态规划 区间DP
POJ 3186 区间DP,这道题告诉我们,分界点不一定是必须在区间所有点中枚举,也有可能是两端点。不要将简单的问题复杂化了:定义状态转移方程:dp[i][j]:=从ij的最大可以达到的价值,dp[i][i]初始化为arr[i] * N,因为一个物体只有在最晚出队才会得到最大价值。状态转移:更...
2019-05-20 19:59:00
145
转载 POJ 2176 动态规划 区间DP
区间DP,需要学习的常用技巧是:不仅仅保存最优解的长度,还同时保存了最优解字符串,也就是说DP不仅仅是一个数组。对于i和j之间的字符,我们可以先尽量寻找他们的最小重复循环节,并且记录最小重复循环节的长度,也就得到了如果对整段进行压缩的最小长度,而后使用区间DP的中点枚举的思想,比较是直接将i到...
2019-05-20 19:51:00
135
转载 POJ 1661 动态规划
POJ 1661 动态规划问题,需要注意的地方有不少。 首先定义状态,dp[i][0]:=从第i块板子左侧到达地面所需要的时间,同理,1是右侧。 dp[i][0] = min(dp[j][0] + 从i的左侧到j的左侧的距离,dp[j][1] + 从i的左侧到j的右侧的距离) + i和j...
2019-05-20 16:13:00
187
转载 POJ 1651 区间DP
区间DP: #include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int oo = 0x3f3f3f3f;int N;int ar...
2019-05-19 13:19:00
92
转载 POJ 1037 动态规划 计数问题
POJ 1037 计数DP难题。 这个题真正的难点并不在求出总的组合数,而在于如何将解还原出来。首先我们建立状态转移方程。我们定义 高低高低高 为0型,定义 地高低高低高 为1型,假设S[i]为长度为i的可行方案的全部升序数列集合。S[i][j]是开头第j大的可行方案的全部数列集合 dp[...
2019-05-18 19:28:00
201
转载 POJ 1037 动态规划 计数问题
难哭了 #include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;int N;ll C;ll dp[...
2019-05-18 16:08:00
91
转载 POJ 2549 折半枚举
折半枚举 #include<cstdio>#include<vector>#include<cstring>#include<algorithm>using namespace std;int N;int arr[100...
2019-05-18 14:29:00
111
转载 POJ 3977:折半枚举 + STL技巧
折半枚举法: #include<cstdio>#include<cstring>#include<algorithm>#include<map>#include<cstdlib>using namespace s...
2019-05-18 13:54:00
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人