JZOJ 2020.10.6 【NOIP2017提高A组模拟9.7】陶陶摘苹果
2024-10-12 10:24:56
陶陶摘苹果
题目
Description
Input
Output
Sample Input
10 5 110 3
100 200 150 140 129 134 167 198 200 111
0 30
20 40
90 100
100 110
50 60
Sample Output
7
Data Constraint
题解
题目大意
一条线上有\(n\)个点,有\(m\)条线段,最多选\(k\)条线段使得覆盖的点最多
分析
考虑\(DP\)
设\(f[i][j]\)表示到了第\(i\)条线段,已经选了\(j\)条,当前这个必选的最多点数
转移
枚举一个\(k\)表示上一条线段
\(f[i][j]=max(f[k][j-1]+新的点数)\)
新的点数可以用前缀和维护
总结
没有想出DP式子
在设状态的时候可以想想要求什么,什么是变量
然后用变量来设状态
Code
#include<bits/stdc++.h>
using namespace std;
struct node
{
int begin,end;
}c[205];
int n,m,h,k,x,mx,ans,a[1000005],f[205][205];
int read()
{
int res=0;char ch=getchar();
while (ch<'0'||ch>'9') ch=getchar();
while (ch>='0'&&ch<='9') res=(res<<1)+(res<<3)+(ch-'0'),ch=getchar();
return res;
}
bool cmp(node x,node y)
{
return x.end<y.end;
}
int main()
{
freopen("apple.in","r",stdin);
freopen("apple.out","w",stdout);
n=read();m=read();h=read();k=read();
for (int i=1;i<=n;++i)
{
x=read();x-=h;
if (x<0) continue;
++a[x];
}
for (int i=1;i<=1000000;++i)
a[i]+=a[i-1];
for (int i=1;i<=m;++i)
c[i].begin=read(),c[i].end=read();
sort(c+1,c+1+m,cmp);
f[1][1]=a[c[1].end]-a[max(0,c[1].begin-1)];
ans=f[1][1];
for (int i=2;i<=m;++i)
{
f[i][1]=a[c[i].end]-a[max(0,c[i].begin-1)];
ans=max(ans,f[i][1]);
for (int j=2;j<=min(i,k);++j)
{
for (int k=1;k<i;++k)
f[i][j]=max(f[i][j],f[k][j-1]+a[c[i].end]-a[max(c[k].end+1,c[i].begin)-1]);
ans=max(ans,f[i][j]);
}
}
printf("%d\n",ans);
fclose(stdin);
fclose(stdout);
return 0;
}
最新文章
- asp.net获取服务端和客户端信息
- BZOJ1068: [SCOI2007]压缩
- android手势创建及识别
- Node.js爬虫抓取数据 -- HTML 实体编码处理办法
- (转)一网打尽当下NoSQL类型、适用场景及使用公司
- 通过一次实验来了解HTML5的 Web Worker
- JAVA-前台编码,后台解码
- shadowgun的飘扬旗帜shader
- linux的学习系列 10---vi
- 使用DFA算法对敏感词进行过滤
- spring boot认识
- C语言 >; 构造素数表
- .net webapi 接收 xml 格式数据的三种情况
- Kafka监控KafkaOffsetMonitor【转】
- Flutter - 本地化语言
- 【SQL】from a,b。表a 和b之间是什么关系?
- flask项目结构(六)快速开发后台flask-admin
- Sencha Touch 实战开发培训 视频教程 第二期 第二节
- [NOI.AC]COUNT(数学)
- 禁用AxWebBrowser右键菜单
热门文章
- python测试报告输出 htmltestrunner 及 中文乱码的解决方式
- mkdir()和mkdirs()区别
- 使用webapi绑定layui数据表格完整增删查改记录
- vscode搭建c++环境
- Vue常用性能优化
- python_super()及继承顺序
- mds/journal.cc: 2929: FAILED assert解决
- 学习一下 Spring Security
- NUC972当检测到sd卡时,在sd卡驱动中操作gpio开启sd卡的电源,解决sd卡因低电压有时识别不正常的问题
- Unity CommandBuffer物体轮廓