[BZOJ 1270][BeijingWc2008]雷涛的小猫
来源:互联网 发布:电影台词拼接的软件 编辑:程序博客网 时间:2024/04/30 09:29
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1270
看到题面上的PKU宿舍,又让我怀念起七月份在PKU上课的那段快乐时光。。。
这也许是WC的送分题吧,比较简单的动规,但是也很巧妙。用f1[i]表示小猫在高度i时得到的柿子个数最大值,f2[i]表示在当前高度上,小猫在第i根柱子上得到的柿子个数最大值。
然后高度从高到低遍历,维护f1、f2即可。
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#define MAXN 5050using namespace std;int map[MAXN][MAXN];int f1[MAXN],f2[MAXN]; //f1[i]=高度为i,猫得到的柿子个数最大值,f2[i]=当前高度猫在第i个柱子上得到的柿子个数最大值int main(){ int n,h,d,ni,t; scanf("%d%d%d",&n,&h,&d); for(int i=1;i<=n;i++) { scanf("%d",&ni); for(int j=1;j<=ni;j++) { scanf("%d",&t); map[i][t]++; } } for(int i=h;i>=1;i--) { t=i+d; if(t<=h) t=f1[i+d]; //如果猫之前跳跃过,那么猫在之前的高度上得到的柿子个数最大值为t else t=0; for(int j=1;j<=n;j++) { f2[j]=max(f2[j],t)+map[j][i]; f1[i]=max(f1[i],f2[j]); } } printf("%d\n",f1[1]); return 0;}
0 0
- [BZOJ 1270][BeijingWc2008]雷涛的小猫
- 【BZOJ 1270】 [BeijingWc2008]雷涛的小猫
- BZOJ 1270: [BeijingWc2008]雷涛的小猫|动态规划
- [DP] BZOJ 1270 [BeijingWc2008]雷涛的小猫
- BZOJ 1270: [BeijingWc2008]雷涛的小猫 傻逼DP
- bzoj 1270: [BeijingWc2008]雷涛的小猫 dp
- 1270: [BeijingWc2008]雷涛的小猫
- 【BZOJ】【P1270】【BeijingWc2008】【雷涛的小猫】【题解】【dp】
- 1270: [BeijingWc2008]雷涛的小猫 (动态规划)
- BZOJ1270: [BeijingWc2008]雷涛的小猫 DP
- BZOJ1270: [BeijingWc2008]雷涛的小猫
- bzoj1270: [BeijingWc2008]雷涛的小猫
- BZOJ1270: [BeijingWc2008]雷涛的小猫 DP
- bzoj1270 [BeijingWc2008]雷涛的小猫(dp)
- bzoj1270: [BeijingWc2008]雷涛的小猫
- bzoj1270: [BeijingWc2008]雷涛的小猫 dp+滚动数组
- bzoj1270 [BeijingWc2008]雷涛的小猫(B站权限题)
- bzoj 1270 雷涛的小猫 DP
- 深入理解openstack网络架构(4)-----连接到public network
- 1201
- 二叉树的三种遍历方式的递归算法C代码
- spring IOC原理[通俗解释一下]
- 技术管理或者纯管理方向,何去何从?
- [BZOJ 1270][BeijingWc2008]雷涛的小猫
- 自写简化版std::string
- 51nod 1003 阶乘后面0的数量
- 关于在线flash视频硬解
- 排序与检索6174问题
- Find Minimum in Rotated Sorted Array Total
- Happy Great BG
- 总结2014/11
- 将字符串n位翻转