先排序,枚举删一个点,在前面找出最优的另一个点,容易推出斜率方程,平衡树维护凸包。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e5+5;
typedef struct node*ptr;
struct node{ptr i,j,s,t;ll w,x,y;node(){w=rand();}
}*b,e[N];
void zag(ptr&o){ptr s=o->j;o->j=s->i,s->i=o,o=s;}
void zig(ptr&o){ptr s=o->i;o->i=s->j,s->j=o,o=s;}
void ins(ptr j,ptr&o=b){if(!o)o=j,o->s?o->s->t=o:0,o->t?o->t->s=o:0;else if(j->x>o->x){ins(j,o->j);if(o->j->w>o->w)zag(o);}else if(o->x>j->x){ins(j,o->i);if(o->i->w>o->w)zig(o);}
}
void del(ptr j,ptr&o=b){if(j->x>o->x)del(j,o->j);else if(o->x>j->x)del(j,o->i);else if(!o->i)o=o->j;else if(!o->j)o=o->i;else if(o->i->w>o->j->w)zig(o),del(j,o->j);else zag(o),del(j,o->i);
}
ptr pre(ll x,ptr o=b){ptr s=0;while(o)x>=o->x?s=o,o=o->j:o=o->i;return s;
}
ptr suc(ll x,ptr o=b){ptr s=0;while(o)o->x>=x?s=o,o=o->i:o=o->j;return s;
}
ll cal(ptr o,ptr s,ptr t){ll x1=o->x-s->x,y1=o->y-s->y;ll x2=t->x-s->x,y2=t->y-s->y;return x1*y2-x2*y1;
}
void upd(ptr o){if(ptr&s=o->s=pre(o->x))while(s->s&&cal(o,s->s,s)<=0)del(s),s=pre(o->x);if(ptr&t=o->t=suc(o->x))while(t->t&&cal(o,t,t->t)<=0)del(t),t=suc(o->x);if(!o->s||!o->t)ins(o);elseif(cal(o->s,o,o->t)>0)ins(o);
}
ll slo(ptr s,ptr t){return(s->y-t->y)/(s->x-t->x);}
ptr sol(ll k,ptr o=b){if(o->s&&k>slo(o->s,o))return sol(k,o->i);if(o->t&&slo(o,o->t)>k)return sol(k,o->j);return o;
}
struct foo{int s,t;}c[N];
bool operator<(foo s,foo t){return s.t*t.s<t.t*s.s;}
int n,m,d;
ll k,q,s[N],r[N];
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;++i){scanf("%d%d",&c[i].s,&d);c[i].t=(d+m-1)/m;}sort(c+1,c+n+1);for(int i=1;i<=n;++i)s[i]=s[i-1]+c[i].t;for(int i=n;i;--i){k+=(s[i]-1)*c[i].s;r[i-1]=r[i]+c[i].s;e[i].x=c[i].t;e[i].y=(s[i]-1)*c[i].s+c[i].t*r[i];}upd(e+1);for(int i=2;i<=n;++i){ptr j=sol(c[i].s);q=max(q,e[i].y+j->y-j->x*c[i].s);upd(e+i);}printf("%lld\n",k-q);
}

转载于:https://www.cnblogs.com/f321dd/p/6124097.html

BZOJ4700: 适者相关推荐

  1. 适定、超定和欠定方程的概念

    矩阵的每一行代表一个方程,m行代表m个线性联立方程. n列代表n个变量.如果m是独立方程数,根据m<n.m=n.m>n确定方程是 '欠定'.'适定' 还是 '超定'. 超定方程组:方程个数 ...

  2. GB:徐健/王师/黄适合作开发微生物组测序新方法2bRAD-M

    2022年1月26日,中国科学院青岛生物能源与过程研究所徐健研究团队联合中国海洋大学王师教授团队在Genome Biology发表了题为 Species-resolved sequencing of ...

  3. 【读书笔记《Android游戏编程之从零开始》】17.游戏开发基础(游戏适屏的简述和作用、让游戏主角动起来)...

    1.游戏适屏的简述和作用 由于市面上安装 Android 系统的手机不断增多,出现了各种分辨率.各种屏幕尺寸的Android 系统手机.为了保证一个游戏或者一个软件能在所有的 Android 手机上正 ...

  4. 数字经济时代下老年群体手机APP软件网络推广适老化需求日益明显

    随着"3·15"国际消费者权益日的来临,曝光了一系列虚假诱导.泄露消费者信息等企业品牌或商家,在"3·15"晚会上指出老年人使用手机更应该注意安全陷阱,避免因为 ...

  5. Oracle业务适合用PostgreSQL去O的一些评判标准

    标签 PostgreSQL , Oracle 背景 Oracle业务适合用PG去O的一些评判标准: 功能指标 如果评估出来的业务中具备这些特性,非常适合使用PostgreSQL. 1.业务使用的数据类 ...

  6. 裕民银行 x mPaaS | 移动应用“适老化”改造,可不止是字体变大

    简介:mPaaS 视频云营业厅:针对 App 适老化改造的金融行业解决案例 一场疫情改写了银行业的规则. 街道被封闭,城市空无一人.那个肃杀的冬季已经离我们远去,但对刚成立不久的小型银行来说,这是一场 ...

  7. 处理器排行_垃圾处理器排行榜 适邦垃圾处理器榜上有名

    随着科技的发展,出现了很多利于人类使用的工具,比如塑料.这些工具方便了人们的日常生活,特别是在厨房里,但是产生的垃圾却困扰了很多人,直接丢弃会造成环境污染,而且也不好处理.因此垃圾处理器应运而生,很多 ...

  8. 之全能忙内_全能水适能指导员流行到山西,你是否跟上?

    点击蓝字关注我们 全能水适能教练培训课程是专为游泳池教练量身打造的,针对3~60岁学员族群受众而设计的综合性导向的服务性课程.参训教练必须以高质量的学习及高效率的完成密集的课程学习,并完成指定任务及作 ...

  9. 2-SAT适定性(Satisfiability)问题知识点详解

    SAT是适定性(Satisfiability)问题的简称.一般形式为k-适定性问题,简称 k-SAT.而当k>2时该问题为NP完全的,所以我们只研究k=2时情况. 2-SAT问题 现有一个由N个 ...

最新文章

  1. Prometheus 有瓶颈?怎么打造企业级监控系统?
  2. SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)
  3. H.264软件解码器在PXA270平台上的优化
  4. JavaScript高级语法打包 - babel插件安装配置报错!Error: Cannot find module ‘@babel/preset-preset.env‘
  5. 利用PlayerPrefs存储数据
  6. cad转dwf简易教程
  7. 从Bus Hound开始学USB之U盘
  8. Axure软件页面介绍
  9. linux调整列显示宽度,使单元格或列自动调整宽度 - 在SWT中使用OLE操纵Excel_Linux编程_Linux公社-Linux系统门户网站...
  10. 模型实践 | AI驱动的全球精准气象预报
  11. 5G NTN进展简述
  12. 关于spring security没有调用UserDetailsService接口实现类的解决办法
  13. 看完涨薪2K+_____2019 JAVA 必刷面试题
  14. 反编译 轻松调频 Android APP 下载“飞鱼秀”录音
  15. 纽约大学坦登学院计算机专业,纽约大学坦登工程学院
  16. 小程序(创客+)一点一点搬家(解读)
  17. win10文件夹加密_分享win10系统不使用第三方工具加密文件夹的操作方法(图文)
  18. 上传文件出现sftp: cannot open xxxx to write错误
  19. ERDAS 2015 界面菜单目录介绍图
  20. videoproc 4中文版(4K视频处理工具) v4.0附安装教程

热门文章

  1. 两种方式带你爬点你想要的东西
  2. 机器学习 | 决策树的理论与实践
  3. Matlab线性/非线性规划优化算法(5)
  4. java项目的事务怎么处理_java实际项目中如何处理分布式事务的
  5. solaris oracle 磁盘阵列,RAID-1 和 RAID-0 卷要求和原则
  6. Mac安装mysql数据库【亲测有用】
  7. 切换图片 ImageSwitcher
  8. kmeans算法学习2
  9. XML--可扩展标记语言
  10. Bootstrap Table列宽拖动的方法