
一般DP
x_1023
这个作者很懒,什么都没留下…
展开
-
BZOJ 4510 Radio Contact - 记忆化搜索
#include<iostream> #include<cstdlib> #include<cstdio> #include<cstring> #include<algorithm>using namespace std;const int maxn=1005;char path1[maxn],path2[maxn]; long long dp[maxn][maxn],INF; int x1[max原创 2017-09-26 11:00:38 · 271 阅读 · 0 评论 -
BZOJ 1079 [SCOI2008]着色方案 - 花式DP
从未见过DP还可以这样玩的,一开始以为是数学,C+容斥,后来觉得不对,哪有数学题长成这个样的,然后各种dp,15维的dp实在是没敢写,于是膜了hzwer的代码。。。真长见识。考虑到c[i]的范围不超过5,其中必有玄机,于是可以用5维表示还可以涂i块木块的颜色种数。因为对于两种均可以涂i块的颜色,除了考虑与上一状态不能重复以外,是完全等价的。排除上一状态影响,则将当前状态的转移的贡献减去一份即可。考虑原创 2017-10-29 00:28:17 · 295 阅读 · 0 评论 -
BZOJ 1296 [SCOI2009]粉刷匠 - DP
一开始看错数据范围,搞了一个O(Tn2m2)O(Tn^2m^2)的,然后就GG了。 这种做法的思路是,枚举当前状态,可以继续涂此层剩余,也可以涂他层,一分类讨论即可。后来发现这种做法肯定有大量重复,而且每行之间独立,不必将每行的状态混在一起,于是每行dp搞用cost最多的得分,然后行与行之间分组dp就好了。TLE:#include<iostream> #include<cstdlib> #incl原创 2017-10-23 19:47:28 · 297 阅读 · 0 评论 -
BZOJ 1084 [SCOI2005]最大子矩阵 - DP
一开始被这道题吓到了,k个是什么操作。。。 然后看到数据范围。。。发现就是一道暴力讨论题(当然我是这么想的) m=1很简单 对于m=2,每行设了5个状态: 0:此行不选 1:只选左边格子 2:只选右边格子 3:左右均选,且左右均与其上下构成矩形 4:左右均选,且左右横着构成矩形恶心死我了,是怎样的一种勇气支持我写完的它,还在WA了无数次之后依然坚持调试。。。然后暴力讨论。。。注意赋初原创 2017-10-24 10:00:34 · 222 阅读 · 0 评论 -
BZOJ 1307 [ZJOI2008]生日聚会Party - DP
为啥机房的巨佬都说这是一个水题。。。绝望ing /一个尴尬而不失友好的微笑想到解法了,关键不知如何递推,其实很好递推啊,是我太愚蠢了。。。 开始想法:dp[i][j][k][l]其中i为男生数,j为女生数,k为所有后缀中女生-男生的最大值,l为所有后缀中男生-女生的最大值。后来发现一件事情就是,设男生人数和女生人数的话循环变量不好写,dp方程中同时出现i-1和j-1,得写记忆化搜索(原谅我的菜)原创 2017-10-27 16:28:31 · 271 阅读 · 0 评论 -
BZOJ 1177 [Apio2009]Oil - 花式枚举+乱搞
原来以为是什么神题。。。结果。。。我的三观。。。 大概是一道码农题,所有三种情况的分类如下 (图源Galaxies:http://www.cnblogs.com/galaxies/p/bzoj1177.html) 先前缀和乱搞,然后计算一个点的四个方位的k*k的正方形中的总贡献,左上右上左下右下分别为abcd,然后大力枚举讨论每种情况就好了。。。(真是一道练习写数组下标的码农好题)#inclu原创 2017-10-25 11:22:01 · 253 阅读 · 0 评论