题意:

题意

分析:

  • 推柿子 :

A × h − A × m i n h + B × s − B × m i n s ≤ C A\times h-A\times min_h+B\times s-B\times min_s \le C A×h−A×minh​+B×s−B×mins​≤C

我们发现有三个变量,所以最暴力的复杂度是 O ( n 3 ) O(n^3) O(n3)的,那么我们考虑怎么优化

好吧,我不看题解也不是很会优化

我们将式子转化一下,然后会发现对于每一个人, m i n h min_h minh​固定时,能取到的合法 m i n s min_s mins​是连续的

A × ( h − m i n h ) − C B + s ≤ m i n v ≤ s \large \frac{A\times(h-min_h)-C}{B}+s\le min_v \le s BA×(h−minh​)−C​+s≤minv​≤s

前面一个限制是由式子转化得到的,后面的限制是题目要求, m i n s ≤ ∀ s min_s\le \forall s mins​≤∀s

对于区间加的操作直接差分一下

代码:

#include<bits/stdc++.h>using namespace std;namespace zzc
{const int maxn = 5005;long long h[maxn],s[maxn],num[10005],d[maxn];long long n,cnt=0,ans,a,b,c;void work(){ios::sync_with_stdio(false);cin>>n>>a>>b>>c;for(int i=1;i<=n;i++){cin>>h[i]>>s[i];d[i]=h[i];}sort(d+1,d+n+1);cnt=unique(d+1,d+n+1)-d-1;for(int i=1,l;i<=cnt;i++){memset(num,0,sizeof(num));for(int j=1;j<=n;j++){if(h[j]>=d[i]&&a*(h[j]-d[i])<=c){if(b==0) l=1;else l=max(1ll,s[j]-(c-a*(h[j]-d[i]))/b);num[l]++;num[s[j]+1]--;}}for(int j=1;j<=10000;j++) num[j]+=num[j-1];for(int j=1;j<=n;j++) ans=max(ans,num[s[j]]);}cout<<ans<<endl;}}int main()
{zzc::work();return 0;
}

P4165 [SCOI2007]组队 推柿子+差分相关推荐

  1. 解题报告:NOIP2013 车站分级(拓扑序递推求解差分约束、建图优化O(n+m)) 超详细讲解

    本题是2013年NOIP普及组的压轴题 差分约束裸题. 计算当前线路中最小的级别(比较始发站和终点站). 整条线路中所有大于这个级别的都必须停靠 所有未停靠的站点的级别一定小于这个级别 也就是说所有未 ...

  2. Pass! (bsgs 推柿子)

    题意: 有T组样例,一共n个人传球,从1号开始最后回到1号,给定方案数,求最小的传球次数.(t<=100,n<=1e6,方案数<=998244353) 思路: 考虑推柿子 . f[i ...

  3. 1071: [SCOI2007]组队

    1071: [SCOI2007]组队 Time Limit: 3 Sec   Memory Limit: 128 MB Submit: 1763   Solved: 546 [ Submit][ St ...

  4. SP5971 LCMSUM - LCM Sum(莫比乌斯反演 ,推柿子,经典)

    整理的算法模板合集: ACM模板 题目传动门 #include <iostream> #include <cstdio> #include <algorithm> ...

  5. [BZOJ]1071: [SCOI2007]组队 STL优先队列

    Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里 速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所 ...

  6. [SCOI2007]组队

    Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里 速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所 ...

  7. 另类推柿子 Crypto Lights

    Crypto Lights 大意: 有 n 个台灯初始时都是暗的,每次等概率随机一个暗台灯将其点亮,若点亮后存在一个长度为 k 的连续段有大于一个台灯被点亮则立刻停止,求期望点亮多少台灯.答案对1e9 ...

  8. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  9. 退役前的做题记录2.0

    退役前的做题记录2.0 最近在刷省选题......大致上是按照省份刷的. 不过上面的题目顺序是按照写题的顺序排列的,所以可能会有点乱哈. [BZOJ2823][AHOI2012]信号塔 最小圆覆盖,随 ...

最新文章

  1. 『高级篇』docker容器来说什么是微服务(三)
  2. Ubentu编译Android源码(AOSP)
  3. 英特尔核芯显卡控制面板没有了_【有趣】第41期:被英特尔取消发售的CPU长啥样?...
  4. AtCoder AGC032D Rotation Sort (DP)
  5. Find The Bone
  6. NeHe OpenGL教程 第二十一课:线的游戏
  7. 743. 网络延迟时间
  8. HDU 6064 RXD and numbers
  9. [Buzz.Today]2013.03.14
  10. 快速上手Linux核心命令(四):文件内容相关命令
  11. MATLAB信号处理之信号的积分和微分
  12. ICPC程序设计题解书籍系列之一:刘汝佳:《算法竞赛入门经典》(第2版)
  13. 关于理财的一点点学习成果(先写这些吧)
  14. oa服务器维护,办公系统维护,维护oa系统的方法
  15. VRay无限平面的应用教程
  16. android显示txt文件的组件,Android文本控件的介绍
  17. rimraf node_modules 删除报错 rimraf : 无法加载文件
  18. 如何在Excel中将多个单元格中的文本合并到一个单元格中
  19. zookeeper集群伪分布式安装测试-windows
  20. 微信开发 -- 自定义菜单

热门文章

  1. The Open Group即将举办线上线下企业架构从业者峰会
  2. 奇葩问题☞ npm install 报错 gyp ERR
  3. mysql 是否支持Unix系统_在UNIX系统下安装MySQL
  4. RadioGroup 全部取消选中 和选中某个按钮
  5. Object.entries() 的使用
  6. 【Selenium】Selenium的3种等待方式
  7. 如何用sql语句查询年龄最小或最大的信息
  8. 算术左移,算术右移;逻辑左移,逻辑右移
  9. C#服务端的微信小游戏——多人在线角色扮演(六)
  10. UVM RAL 中的显示预测 uvm_reg_predictor