USACO08MAR Land Acquisition
来源:互联网 发布:人依赖网络例子 编辑:程序博客网 时间:2024/06/05 17:58
斜率优化
# include <stdio.h># include <stdlib.h># include <iostream># include <string.h># include <algorithm># define IL inline# define RG register# define Fill(a, b) memset(a, b, sizeof(a))using namespace std;typedef long long ll;IL ll Read(){ RG char c = getchar(); RG ll x = 0, z = 1; for(; c > '9' || c < '0'; c = getchar()) z = c == '-' ? -1 : 1;; for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + c - '0'; return x * z;}const int MAXN(50010);const ll INF(1e18);int n, len[MAXN], wid[MAXN], id[MAXN], land[MAXN], cnt, Q[MAXN], tail, head;ll f[MAXN];IL bool Cmp(RG int a, RG int b){ return len[a] < len[b] || (len[a] == len[b] && wid[a] < wid[b]);}IL double Calc(RG int i, RG int j){ return 1.0 * (f[j] - f[i]) / (wid[land[i + 1]] - wid[land[j + 1]]);}int main(){ n = Read(); for(RG int i = 1; i <= n; i++) len[i] = Read(), wid[i] = Read(), id[i] = i; sort(id + 1, id + n + 1, Cmp); for(RG int i = 1; i <= n; i++){ while(cnt && wid[land[cnt]] <= wid[id[i]]) cnt--; land[++cnt] = id[i]; } //鍦熷湴鐨刲ength渚濇閫掑锛屽湡鍦扮殑width渚濇閫掑噺 for(RG int i = 1; i <= cnt; i++){ while(head < tail && Calc(Q[head], Q[head + 1]) < len[land[i]]) head++; f[i] = f[Q[head]] + 1LL * len[land[i]] * wid[land[Q[head] + 1]]; while(head < tail && Calc(Q[tail - 1], Q[tail]) >= Calc(Q[tail], i)) tail--; Q[++tail] = i; } printf("%lld\n", f[cnt]); return 0;}
阅读全文
0 0
- USACO08MAR Land Acquisition
- P2900 [USACO08MAR]土地征用Land Acquisition
- 斜率优化DPHDU-3507,HNOI2008玩具装箱,APIO特别行动队,USACO Land Acquisition
- [Usaco08Mar] River Crossing
- Information Acquisition
- 洛谷P2904 [USACO08MAR]跨河River Crossing
- 洛谷P2902 [USACO08MAR]珍珠配对Pearl Pairing
- Data Acquisition System Application
- poj 2457 Part Acquisition
- bzoj1674 [Usaco2005]Part Acquisition
- poj 2457 Part Acquisition
- 1674: [Usaco2005]Part Acquisition
- POJ2457 Part Acquisition
- POJ2457 Part Acquisition
- POJ part acquisition
- poj2457 Part Acquisition
- [Usaco2005]Part Acquisition
- Grass Land
- sysbench 安装
- HNOI2008玩具装箱
- 观察者设计模式
- EasyDemo*五大布局体系结构图(on Github)
- 修改系统默认的TTL值-预防被探测操作系统
- USACO08MAR Land Acquisition
- 关于linux系统中无法识别某一命令问题的解决方案
- Spring的简单实现实例(Spring的java配置方式)
- EasyDemo* ImageView及其子类体系结构图(on Github)
- Guitar Pro 7 注册机-注册码地址汇总
- ZJOI2007仓库建设
- 关于FTP主动模式与被动模式的一点理解
- 省选专练SCOI2007修车
- 简易波形显示器——单片机实验结课成果