博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
loj 1017(dp)
阅读量:4963 次
发布时间:2019-06-12

本文共 1145 字,大约阅读时间需要 3 分钟。

题目链接:

思路:我们可以发现题目与点的X坐标没有关系,于是可以直接对y坐标进行排序,然后进行dp,dp[i][j]表示以j个区间覆盖前i个点的最大覆盖数。

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 #define MAXN 111 7 #define FILL(a,b) memset(a,b,sizeof(a)) 8 9 int n,w,k,dp[MAXN][MAXN];10 int y[MAXN];11 int pre[MAXN],num[MAXN];12 13 int main()14 {15 int _case,x,t=1;16 scanf("%d",&_case);17 while(_case--){18 scanf("%d%d%d",&n,&w,&k);19 for(int i=1;i<=n;i++){20 scanf("%d%d",&x,&y[i]);21 }22 sort(y+1,y+1+n);23 FILL(dp,0);24 int p1=1,p2=1;25 pre[1]=0,num[1]=1;26 while(p1<=n){27 p1++;28 while(y[p1]-y[p2]>w)p2++;29 pre[p1]=p2-1;30 num[p1]=p1-p2+1;31 }32 for(int i=1;i<=n;i++){33 for(int j=1;j<=k;j++){34 dp[i][j]=max(dp[i-1][j],dp[pre[i]][j-1]+num[i]);35 }36 }37 printf("Case %d: %d\n",t++,dp[n][k]);38 }39 return 0;40 }
View Code

 

转载于:https://www.cnblogs.com/wally/p/3351869.html

你可能感兴趣的文章
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
(四)hadoop系列之__hadoop搭建(单机配置)
查看>>
sphinx2.8.8的配置文件
查看>>
Visual Studio 2019 正式版 更新内容
查看>>
React Native 的组件之底部导航栏 TabBarIOS(一)
查看>>
JSP EL表达式详细介绍(转)
查看>>
软件模块划分原理
查看>>
Black Widow CodeForces - 704C (dp)
查看>>
Memcached安装指南(linux)
查看>>
Nginx配置域名转发实例
查看>>
页面访问的常见错误码解析
查看>>
hdu 3183 A Magic Lamp 贪心
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
面试题14 调整数组顺序使奇数位于偶数前面
查看>>
grid网格布局
查看>>
flask简单的注册功能
查看>>
JSP常用标签
查看>>
通过自动回复机器人学Mybatis---基础版
查看>>