【传送门:BZOJ1806】 简要题意: 有两个矿洞,有三种食物,给出n个食物的配送顺序,每个食物可以给任意一个矿洞,每个食物送到一个矿洞的收益是这个矿洞最近三次(包括送的那次)食物的种类数 请你经过合理的分配食物使得收益最大 题解: 水题DP 设f[i][t1][t2][t3][t4]为当前已经送 ...
分类:
其他好文 时间:
2018-04-19 17:02:16
阅读次数:
149
题目描述 有n个物品,每个都是3种之一。现要将这n个物品分成两个序列,对于每个序列中的每个物品,可以得到 它及它前面相邻的两个物品(不足则取全部)中不同种类的个数 的收益。问最大的总收益。 输入 输入的第一行包含一个整数N (1 ≤ N ≤ 100 000), 表示食品车的数目。 第二行包含一个由N ...
分类:
其他好文 时间:
2017-10-13 11:15:50
阅读次数:
167
【BZOJ1806】[Ioi2007]Miners 矿工配餐 Description 现有两个煤矿,每个煤矿都雇用一组矿工。采煤工作很辛苦,所以矿工们需要良好饮食。每当一辆食品车到达煤矿时,矿工们便会产出一定数量的煤。有三种类型的食品车:肉车,鱼车和面包车。 矿工们喜欢变化的食谱。如果提供的食品能够 ...
分类:
其他好文 时间:
2017-09-28 11:38:14
阅读次数:
112
【bzoj1806】[Ioi2007]Miners 矿工配餐 2014年7月10日1,7870 Description 现有两个煤矿,每个煤矿都雇用一组矿工。采煤工作很辛苦,所以矿工们需要良好饮食。每当一辆食品车到达煤矿时,矿工们便会产出一定数量的煤。有三种类型的食品车:肉车,鱼车和面包车。 矿工们 ...
分类:
其他好文 时间:
2017-09-03 22:17:52
阅读次数:
145
bzoj1806[Ioi2007]Miners 矿工配餐 题意: 现有两个煤矿,有三种类型的食品车。每当一个新的食品车到达煤矿时,矿工们就会比较这种新的食品和前两次(或者少于两次,如果前面运送食品的次数不足两次)的食品。如果这几次食品车都是同一类型的食品,则矿工们产出一个单位的煤; 如果这几次食品车 ...
分类:
其他好文 时间:
2016-07-30 14:55:17
阅读次数:
182
【思路】用1、2、3分别代替三种食物,0表示当前矿井没有食物。f[i][a][b][c][d]当前第i个食物,矿1的食物顺序由上至下为a,b;矿2的食物顺序由上至下为c,d。判断产物数量的方法很巧妙,由下至上a,b,c。初始时默认投入一个食物至少生产一单位,如果a为有食物且与bc不同,则加一单位;如...
分类:
其他好文 时间:
2015-09-10 00:23:02
阅读次数:
139
题解:f[i][j][k][l][m]表示到第i个字母,第一坑的当前两个字母是jk,第二坑lm时的最大权值。
然后暴力瞎转移就好了。
对了,10W*4*4*4*4=2560W,64M内存限制,要写滚动数组。
代码:
#include
#include
#include
#include
#define N 101000
#define inf 0x3f3f3f3f
usin...
分类:
其他好文 时间:
2015-01-21 16:37:17
阅读次数:
133
题目大意:将一个123序列拆分为两个子序列,定义每个数的贡献值为以这个数结尾的长度最大为3的子串中不同数的数量,求贡献值和的最大值
令f[i][a1][a2][b1][b2]为前i个数分成两组,第一组以a1 a2结尾,第二组以b1 b2结尾的最大贡献值 转移啥的自己YY吧 记得开滚动数组
尼玛写错个参数都要调半天……
#include
#include
#include
#include
u...
分类:
其他好文 时间:
2014-11-14 12:34:53
阅读次数:
167