NWERC 2015B/bzoj 4426 Better Productivity
来源:互联网 发布:淘宝xbox360手柄正品 编辑:程序博客网 时间:2024/05/29 15:44
#include<bits/stdc++.h>#define N 210using namespace std;struct Node{int x,y;}a[N],b[N],c[N];int dp[N][N];int n,p,B,C;inline bool cmp1(Node a,Node b){if(a.x!=b.x) return a.x<b.x;return a.y<b.y;}inline bool cmp2(Node a,Node b){return a.y-a.x>b.y-b.x;}int main(){scanf("%d%d",&n,&p);for(int i=0;i<n;i++) scanf("%d%d",&a[i].x,&a[i].y);for(int i=0;i<n;i++){int f=0;for(int j=0;j<n;j++){if(i==j) continue;if(a[i].x==a[j].x&&a[j].y==a[i].y){if(i>j) continue;}if(a[i].x<=a[j].x&&a[j].y<=a[i].y) f=1;}if(f) b[B++]=a[i];else c[++C]=a[i];}sort(b,b+B,cmp2);sort(c+1,c+C+1,cmp1);int bes=0;for(int i=0;i<=p;i++)for(int j=0;j<=C;j++)dp[j][i]=-1008610086;dp[0][0]=0;for(int k=1;k<=p;k++){for(int i=1;i<=C;i++){for(int j=1;j<=i;j++){if(c[j].y-c[i].x<=0) continue;dp[i][k]=max(dp[i][k],dp[j-1][k-1]+c[j].y-c[i].x);}}}for(int l=0;l<=p;l++){int ans=0;for(int j=0;j<l;j++) ans+=b[j].y-b[j].x;bes=max(bes,dp[C][p-l]+ans);}printf("%d\n",bes);return 0;}
阅读全文
0 0
- NWERC 2015B/bzoj 4426 Better Productivity
- [dp]cf gym 101485B; bzoj4426 Better Productivity(NWERC 2015 B)
- [BZOJ 4430] [NWERC 2015] 赌骆驼
- NWERC 2015 模拟赛
- studyjams 3B better android
- 2015-2016 Northwestern European Regional Contest (NWERC 2015) E
- 2015-2016 Northwestern European Regional Contest (NWERC 2015) 补题
- 2015-2016 Northwestern European Regional Contest (NWERC 2015)
- CodeFroces NWERC 2015 E.Elementary Math(二分图)
- NWERC 2013
- Productivity Hacks
- c++ productivity
- bzoj-2301 Problem b
- 【BZOJ】2301 Problem b
- bzoj 1263 高精度b
- 【bzoj 1000】A+B
- BZOJ 2301 Problem b
- dp优化专辑 B - The more, The Better [dp+背包]
- Ubuntu 16.04 (systemctl)常用操作
- android开发-AsyncTask源码解析
- CentOS 安装rz和sz命令
- Win10下Docker使用阿里专属加速器
- matlib不同界面之间的数据传递机制
- NWERC 2015B/bzoj 4426 Better Productivity
- 写时拷贝
- JS(8)
- PAT 甲级 1072. Gas Station (30)
- 软件开发的功能性需求和非功能性需求
- 《deep learning》学习笔记(7)——深度学习中的正则化
- POJ 2699 The Maximum Number of Strong Kings(枚举/二分+最大流)
- Hdu4819 Mosaic 二维线段树维护区间最值+单点更新
- 在 MacOS 上简单的使用 GitHub