题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2436

题意:有一些活动,起始时间持续时间已知。有两个场地。每个活动最多只能在一个场地举行,且两个场地同一时间不能都举行活动。但是同一场地同一时间可以举行多个活动。要求的是两个场地中活动数目少的场地的活动数目的最大值S。再输出某个活动必须被安排时的S值。

思路:我直接粘贴原思路了。

区间离散化,设A={嘉年华1的活动}, B={嘉年华2的活动},C={未安排的活动}。
设num[i][j]为包含在区间[i,j]中的区间个数;
pre[i][j]为在区间[0,i]中放入j个区间到B后,最多能放入A的个数;
suf[i][j]为在区间[i, +∞)中放入j个区间到B后,最多能放入A的个数。

那么第一问答案为:max(min(i,suf[0][i]))。

int pre[N][N],suf[N][N],g[N][N],L[N],R[N];
int p[N],n,num[N][N],m;void DP()
{int i,j,k;FOR0(i,N) FOR0(j,N) pre[i][j]=suf[i][j]=g[i][j]=-INF;pre[0][0]=suf[m-1][0]=0;FOR0(i,m){for(j=0;j<=n;j++) if(pre[i][j]>=0){upMax(pre[i][pre[i][j]],j);}for(j=n-1;j>=0;j--) upMax(pre[i][j],pre[i][j+1]);for(j=0;j<=n+1;j++) for(k=i+1;k<m;k++) if(pre[i][j]>=0){upMax(pre[k][pre[i][j]],j+num[i][k]);}}for(i=m-1;i>=0;i--){for(j=0;j<=n+1;j++) if(suf[i][j]>=0){upMax(suf[i][suf[i][j]],j);}for(j=n-1;j>=0;j--) upMax(suf[i][j],suf[i][j+1]);for(j=0;j<=n;j++) for(k=i-1;k>=0;k--) if(suf[i][j]>=0){upMax(suf[k][suf[i][j]],j+num[k][i]);}}int x,y;FOR0(i,m) FOR0(j,m){y=n;for(x=0;x<=n;x++){while(y>=0&&x+y>num[i][j]+pre[i][x]+suf[j][y]) y--;if(y>=0) upMax(g[i][j],x+y);}}int ans=0;for(i=0;i<=n;i++) upMax(ans,min(i,suf[0][i]));PR(ans);FOR0(i,n){ans=0;for(j=0;j<=L[i];j++) for(k=R[i];k<m;k++){upMax(ans,g[j][k]);}PR(ans);}
}int main()
{RD(n);int i,j;FOR0(i,n){RD(L[i],R[i]); R[i]=R[i]+L[i];p[m++]=L[i];p[m++]=R[i];}sort(p,p+m);m=unique(p,p+m)-p;FOR0(i,n){L[i]=lower_bound(p,p+m,L[i])-p;R[i]=lower_bound(p,p+m,R[i])-p;}FOR0(i,m){FOR0(j,n) if(L[j]>=i) num[i][R[j]]++;for(j=i+1;j<m;j++) num[i][j]+=num[i][j-1];}DP();
}

BZOJ 2436 Noi嘉年华(优化DP)相关推荐

  1. BZOJ 2436 NOI嘉年华(单调优化)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2436 题意:两个会场不能同时表演,但是同一个时间可以同时表演,要求让两个会场表演数量最小的最大,然后 ...

  2. bzoj 2436: [Noi2011]Noi嘉年华

    Description NOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不同的地点举办.每个嘉年华可能包含很多个活动, ...

  3. bzoj 3120 矩阵优化DP

    我的第一道需要程序建矩阵的矩阵优化DP. 题目可以将不同的p分开处理. 对于p==0 || p==1 直接是0或1 对于p>1,就要DP了.这里以p==3为例: 设dp[i][s1][s2][r ...

  4. bzoj 1096 斜率优化DP

    首先比较容易的看出来是DP,w[i]为前i个工厂的最小费用,那么w[i]=min(w[j-1]+cost(j,i))+c[i],但是这样是不work的,复杂度上明显过不去,这样我们考虑优化DP. 设A ...

  5. bzoj 1597 [Usaco2008 Mar]土地购买——斜率优化dp

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1597 又一道斜率优化dp.负数让我混乱.不过仔细想想还是好的. 还可以方便地把那个负号放到x ...

  6. BZOJ 1010: [HNOI2008]玩具装箱toy 斜率优化dp

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  7. BZOJ 2149 拆迁队 斜率优化DP 主席树

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2149 题目大意: 一个长度为 n n的序列aa,改变其中的某些数使之成为一个单调递增序列, ...

  8. bzoj 1597: [Usaco2008 Mar]土地购买(斜率优化dp 例题)

    Description 农夫John准备扩大他的农场,他正在考虑N (1 <= N <= 50,000) 块长方形的土地. 每块土地的长宽满足(1 <= 宽 <= 1,000, ...

  9. [USACO18JAN]Lifeguards P 洛谷黑题,单调队列优化DP

    传送门:戳我 这道题有两个版本,S和P,S是K等于1的情况,显然可以用线段树水过. P版本就难了很多,洛谷黑题(NOI/NOI+/CTSC),嘿嘿. 我自己也不是很理解,照着题解写了一遍,然后悟到了一 ...

最新文章

  1. 快速接入 GitHub、QQ 第三方登录方式
  2. go基础语法:切片的定义
  3. 如何备份及恢复 Linux 文件权限
  4. jsp mysql模板_jsp的分页查询的代码(mysql数据库)
  5. 构筑基于物联网操作系统的物联网生态环境【转】
  6. 特效编辑器开发手记2——cocos2d-x粒子系统的plist文件
  7. 有限元分析基础操作(ANSYS)
  8. 示波器探头的 x1x10衰减、补偿校准手法
  9. discuz发帖流程_discuz 帖子模块用到的表及自动发帖函数
  10. 蜜瓜文案:水果店蜜瓜简单文案,蜜瓜水果朋友圈配的文案
  11. 到底是什么原因?让200多家企业参与区块链改革?
  12. ubuntu壁纸1080p
  13. 华清远见22071作业端口指令实现灯点亮
  14. ubuntu 本地和服务器scp文件传输
  15. python怎么画渐变颜色_使用python画图怎么设置渐变色
  16. 妈蛋!!!3年的资料一时手格式化了!!!
  17. java Lambda表达式详解
  18. 运行在VMware上的VMware公司
  19. mxGraph 滚轮缩放
  20. OPPO R11 R11plus系列 解锁BootLoader ROOT Xposed 你的手机你做主

热门文章

  1. Oracle 11g-R2 SQL Developer连接MSSQL2008
  2. JS每隔一段时间执行一个方法
  3. SQL2005迁移账户密码粗鲁设置
  4. 【python】Python的基本数据类型之运算符
  5. 【Java】springboot 的学习笔记 的第一天
  6. idle点开没反应_翟天临、靳东,一个人越是没文化越是喜欢装
  7. 提升 JavaScript 技能的5个小技巧,新手小白值得学习!
  8. F - 数据结构实验之链表四:有序链表的归并
  9. 中专计算机应用完整教学计划,中职生教学计划
  10. linux less 带颜色,less中color函数字体颜色计算