2019.03.28 bzoj3594: [Scoi2014]方伯伯的玉米田(二维bit优化dp)
传送门
题意咕咕咕
思路:直接上二维bitbitbit优化dpdpdp即可。
代码:
#include<bits/stdc++.h>
#define N 10005
#define K 5005
using namespace std;
int n,k,a[N],bit[6005][605],len=0,ans=0;
inline long long read(){long long ans=0;char ch=getchar();while(!isdigit(ch))ch=getchar();while(isdigit(ch)){ans=(ans<<3)+(ans<<1)+ch-'0';ch=getchar();}return ans;
}
inline int lowbit(int x){return x&-x;}
inline void update(int nx,int mx,int v){for(int i=nx;i<=len+k;i+=lowbit(i))for(int j=mx;j<=k+1;j+=lowbit(j))bit[i][j]=max(bit[i][j],v);
}
inline int query(int nx,int mx){int ret=0;for(int i=nx;i;i-=lowbit(i))for(int j=mx;j;j-=lowbit(j))ret=max(ret,bit[i][j]);return ret;
}
int main(){n=read();k=read();for(int i=1;i<=n;++i){a[i]=read();len=max(a[i],len);}for(int i=1;i<=n;++i){for(int j=k;j>=0;--j){int pos=query(a[i]+j,j+1)+1;ans=max(ans,pos);update(a[i]+j,j+1,pos);}}printf("%d",ans);return 0;
}
转载于:https://www.cnblogs.com/ldxcaicai/p/10633604.html
2019.03.28 bzoj3594: [Scoi2014]方伯伯的玉米田(二维bit优化dp)相关推荐
- [SCOI2014]方伯伯的玉米田 //二维树状数组优化DP
题目: 方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐.方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩 ...
- bzoj3594 [Scoi2014]方伯伯的玉米田
题目链接 二维树状数组优化DP DP状态很容易想到:dp[i][j]表示到第i颗玉米,用了j次提升,最多保留多少: 转移: dp[i][j]=dp[k][j]+1(k<=i&&a ...
- bzoj3594[Scoi2014]方伯伯的玉米田
http://www.lydsy.com/JudgeOnline/problem.php?id=3594 题目就是问你至多操作K次后的最长上升子序列. 首先,我们会得到一个结论:每次操作区间的右端点一 ...
- bzoj 3594: [Scoi2014]方伯伯的玉米田
3594: [Scoi2014]方伯伯的玉米田 Time Limit: 60 Sec Memory Limit: 128 MB Submit: 1399 Solved: 627 [Submit][ ...
- [bzoj 3594] [Scoi2014]方伯伯的玉米田
[bzoj 3594] [Scoi2014]方伯伯的玉米田 Description 方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美. 这排玉米一共有N株,它们的高度参差不齐. 方伯伯认为 ...
- 【BZOJ3594】方伯伯的玉米田(SCOI2014)-DP+二维树状数组
测试地址:方伯伯的玉米田 做法:本题需要用到DP+二维树状数组. 首先,我们发现每次拔高的区间都是一个后缀.这个自己画一画就大概能证出来了. 那么我们就有了一个状态定义:令 f(i,j) f ( i ...
- SCOI2014 方伯伯的玉米田 题解
可能其它还没写完的几篇随笔要搁一会儿,反正先写写题解 \(1-n\)的一个序列,值分别为\(a[1]\).\(a[2]...a[n]\),最多可进行\(K\)次操作,每次操作可以使\(l-r\)区间内 ...
- [SCOI2014]方伯伯的玉米田
题目链接 算法: 为了保证DP的正确与方便,这里先提供一个结论:每次操作都一定要拔高第n棵玉米. 以下引用NS·YJD大佬的一篇博客的证明: 首先无论操作区间在哪里,如果区间两边存在玉米,那么这些玉米 ...
- P3287 [SCOI2014]方伯伯的玉米田
原题链接 数据结构优化DP 前置知识:二维树状数组 e.g.https://www.luogu.com.cn/problem/P4514 思路如下: 代码如下: #include <cstdio ...
最新文章
- Java随机字符串:随机数字字符串,工具类
- Linux下计划任务和标准化工作流程
- MFC对话框控件成员变量编程熟悉 - 开发一个简单天线长度计算器
- Java Script 学习笔记(一)
- 固定定位及布局知识总结
- SQLServer之事务简介
- php7 返回值,7.6.4 函数返回值
- 风铃发卡网源码-可商用,支持个人码支付,当面付
- 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python 正则表达式
- Some urls for db2 download
- Cookie和Session专题
- BZOJ2303 APIO2011方格染色(并查集)
- Qt高级编程完整源码
- 【JS基础】JavaScript轮播图代码详解
- 社团管理系统软件测试,软件测试大作业社团管理系统.doc
- 8.0强行转换后变成了7_南方Cass软件坐标转换方法!
- 2020-11-11抖音去水印解析获取源标题、作者、头像、封面图以及源视频地址
- opencv 应用程序无法正常启动0xc000007b
- USB三模(EDGE、DC-HSPA+和LTE)数据棒
- LightOJ - 1395 A Dangerous Maze (II) —— 期望