
一般动归与递推
青禾script
这个人太弱,所以也不知道能写什么23333
展开
-
[BZOJ 3111] ZJOI 2013 蚂蚁寻路 · 动态规划
BZOJ上没有题目,也是有点小坑……那么自己在草稿纸上画画写写就很容易发现,这题其实是要你在一个n*m大小的矩形中框出一个长城形状的子图,使得子图包含的权值和最大。框出图形的底和左右两边都是直的,上端是一高一低间隔排布,总共有2*k+1个(间隔k次)(如下图)那么从图中我们可以看出,其实是要求2*k+1个同底的子矩形相连组合起来取得的最大和。这种题目做的时候很容易往高纬度想啊,f[原创 2015-02-28 14:47:23 · 2408 阅读 · 0 评论 -
[BZOJ 3791] 作业 · 动态规划
题面挺浅显的就不扯淡了...首先要知道这样一个性质:在一段区间内染色k次,每次是一段连续的,那么这个区间最多被分为2*k-1段(自己用草稿纸画画就出来了)在网上看到一些题解都写的不是很具体.....那么接下来就很好做了啊,f[i][j][k]表示 当前为第i本作业,1-i这段区间被染成了j段(注意不是染了j次),第i本作业染色后的状态为k(0或1)第i本作业由两种状态转移过来:原创 2015-02-05 12:30:04 · 538 阅读 · 0 评论 -
[BZOJ 1084] SCOI 2005 最大子矩阵 · 简单DP
比较魔性的题目 m具体转移方程可直接看代码#include #include #include #include using namespace std;#define f(i,x,y) for (int i=x;i<=y;i++)const int N=105;int n,m,k;int s[N][3],ans;int work1(){ int f[N][N]; m原创 2017-07-22 09:41:43 · 382 阅读 · 0 评论 -
[BZOJ 1025] SCOI 2009 游戏 · DP
emmmmm....想到要求最小公倍数的种数但是不会做啊qaq看了题解才明白....我好菜啊....orz:题解#include #include #include #include using namespace std;#define f(i,x,y) for (int i=x;i<=y;i++)const int N = 1005;long long p[N]原创 2017-07-22 11:52:53 · 256 阅读 · 0 评论