双倍经验:portal

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f
#define N 1000010
inline char gc(){static char buf[1<<16],*S,*T;if(T==S){T=(S=buf)+fread(buf,1,1<<16,stdin);if(S==T) return EOF;}return *S++;
}
inline int read(){int x=0,f=1;char ch=gc();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=gc();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=gc();return x*f;
}
int n,m=0;ll ans=0,f[N];
struct seg{int l,r;friend bool operator<(seg a,seg b){return a.l==b.l?a.r<b.r:a.l<b.l;}
}a[N];
inline ll calc(int i,int j){return (ll)(a[j].r-a[i].l)*(max(a[i].r-a[j].l,0));
}
inline void cdq(int l,int r,int L,int R){if(l>r) return;if(L==R){for(int i=l;i<=r;++i) f[i]=calc(L,i);return;}int mid=l+r>>1,pos=0;for(int i=L;i<=min(R,mid-1);++i){ll res=calc(i,mid);if(res>f[mid]) f[mid]=res,pos=i;}if(pos) cdq(l,mid-1,L,pos),cdq(mid+1,r,pos,R);else cdq(l,mid-1,L,R),cdq(mid+1,r,L,R);
}
int main(){
//  freopen("a.in","r",stdin);n=read();for(int i=1;i<=n;++i) a[i].l=read(),a[i].r=read();sort(a+1,a+n+1);int r=0;for(int i=1;i<=n;++i){if(a[i].r>r) a[++m]=a[i],r=a[i].r;else ans=max(ans,(ll)(a[i].r-a[i].l)*(a[m].r-a[m].l));}cdq(2,m,1,m);for(int i=2;i<=m;++i) ans=max(ans,f[i]);printf("%lld\n",ans);return 0;
}

bzoj2687 交与并(贪心+dp+决策单调性+分治)相关推荐

  1. 【决策单调性分治优化/四边形不等式优化】监狱警卫

    前言 模板一套就AC了... 题目 guardians.cpp 1S/128M 你负责将监狱的警卫指派到最疯狂的罪犯所在的监狱. 一共有N间牢房排列成一行,编号从1~N. 第i间牢房恰好容纳了一个疯狂 ...

  2. bzoj1897. tank 坦克游戏(决策单调性分治)

    题目描述 有这样一款新的坦克游戏.在游戏中,你将操纵一辆坦克,在一个N×M的区域中完成一项任务.在此的区域中,将会有许多可攻击的目标,而你每摧毁这样的一个目标,就将获得与目标价值相等的分数.只有获得了 ...

  3. Gym - 101471D Money for Nothing(决策单调性+分治+贪心)

    题目链接:点击查看 题目大意:在二维平面中给出 n 个点可以作为矩形左下角的点,再给出 m 个点可以作为矩形右上角的点,现在问最大可以构造出多大面积的矩形,即如何选择,可以使得 ( b[ j ] . ...

  4. CF834D. The Bakery(线段树优化dp 决策单调性优化dp)

    linkkkkk 题意: 将一个长度为 n 的序列分为 m段,使得总价值最大. 一段区间的价值表示为区间内不同数字的个数. n≤35000,m≤50 思路: 考虑朴素的dpdpdp方程:dp[i][j ...

  5. bzoj 2216: [Poi2011]Lightning Conductor(DP决策单调性)

    2216: [Poi2011]Lightning Conductor Time Limit: 25 Sec  Memory Limit: 64 MB Submit: 1292  Solved: 443 ...

  6. 2020-2021 ACM-ICPC, Asia Seoul Regional Contest L. Two Buildings (决策单调性 分治)

    linkkkkkk 题意: 给定长度为nnn的数组ccc,求max((j−i)∗(ci+cj))max((j-i)*(c_i+c_j))max((j−i)∗(ci​+cj​)) 思路: 将式子转化为m ...

  7. bzoj 4709: [Jsoi2011]柠檬(分段DP+决策单调性)

    4709: [Jsoi2011]柠檬 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 240  Solved: 105 [Submit][Status ...

  8. BZOJ4899: 记忆的轮廓 期望DP 决策单调性

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4899 容易发现树形结构是骗人的...走到错误分叉的影响是可以预处理的常数,所以就相当于一个序列 ...

  9. [决策单调性 分治 主席树] BZOJ 4367 [IOI2014]holiday假期

    比较显然的做法 枚举l,r 然后主席树 这题有很多单调性 可以利用 对一个确定的l 最优的r 是单调的 来分治 #include<cstdio> #include<cstdlib&g ...

最新文章

  1. 以下一些使用ASP.NET和VISUAL STUDIO.NET2003的经验和技巧
  2. 高性能计时器Timer的设计(时间轮和时间堆两种方式)
  3. Access denied for user 'root'@'localhost' (using password: YES)的解决
  4. C++ Primer Plus章节编程练习(第五章)
  5. mysql路由器配置文件_如何安装并配置mysql 5.7.13解压缩版?
  6. 数据库Mysql的学习(六)-子查询和多表操作
  7. Redis中使用Lua语言
  8. Oracle 20c 新特性:缺省的只读 Oracle HOME 支持
  9. 简单介绍工厂模式和单例模式
  10. 在资本寒冬下,程序员为何也能迅速找到好工作
  11. PHP面试题 - MySQL数据库
  12. 原子性 - synchronized关键词
  13. chrome中Js的setAttribute支持不好?
  14. 易语言dd驱动模拟按键模块_DD驱动 虚拟键盘 虚拟鼠标
  15. 维盟路由器pppoe服务配置(价值80元的帖子)
  16. 央行企业征信异议、声明业务办理流程?
  17. 命名空间“System”中不存在类型或命名空间名“Data”
  18. windows WinExec()
  19. 常用标点符号的英文名称
  20. word表格合并单元格后,光标居中

热门文章

  1. OpenCV-6-ANN_MLP神经网络模型训练
  2. 命令方块召唤别墅指令_命令方块其实不难玩!
  3. 程序员如何突击面试?两大招带你拿下面试官
  4. 全民链郑宇谈区块链电商:和传统公司合作,“去中心化”提都不要提
  5. 2020高处安装、维护、拆除考试试题及高处安装、维护、拆除模拟考试题库
  6. 怎么重启php程序,php重启
  7. 优富管家信用卡收款工具,支持还款收款
  8. window wdk visual studio 2019 驱动编译
  9. 如何把知识变成网课,通过知识变现自动赚钱
  10. 阿里云和华为云哪个好一点?