当前位置: 首页 > news >正文

「CF505E」 Mr. Kitayuta vs. Bamboos TJ

观察到如果有减的时候减成负数了的情况很难处理

于是我们让时间倒流过来

本来砍掉他就相当于是把他拔高多少 本来每天长高多少就相当于是每天自己缩回去多少

于是二分答案所有竹子最后都高为\(x\) 看它在这么多天结束后会不会缩到比\(h_i\)更小的地方去

如果小了 就代表这个\(x\)太矮了 有竹子最后会超出这个\(x\)

但是在拔高的过程中我们不允许有负数出现(不然就砍过头了 违反了砍成负数变成0的规则)

所以每次拔那些快变成负数的竹子(如果有来不及拔的就说明满足不了了 return 0)

最后看是不是所有数都满足大于等于\(h_i\)的条件 满足就return 1

做的时候用一个小根堆即可

#include<bits/stdc++.h>
using namespace std;#define int long long
#define endl '\n'const int N=1e5+10;int n,m,k,p;
int h[N],a[N];
int c[N];//记录每棵竹子已经被加的次数
int l,r;
int ans=-1;struct node{int cnt,id;//可以坚持的天数  编号 
};
bool operator < (const node a,const node b){return a.cnt>b.cnt;
}int check(int x){priority_queue<node>q;memset(c,0,sizeof(c));for(int i=1;i<=n;i++){if(h[i]+a[i]*m>x)q.push({x/a[i],i});}for(int i=1;i<=m;i++){for(int j=1;j<=k&&(!q.empty());j++){node top=q.top();q.pop();int cnt=top.cnt;int id=top.id;if(cnt<i)return 0;c[id]++;if(x+c[id]*p<h[id]+a[id]*m){q.push({(x+c[id]*p)/a[id],id});}}}if(q.empty())return 1;else return 0;
}signed main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n>>m>>k>>p;for(int i=1;i<=n;i++){cin>>h[i]>>a[i];r=max(r,h[i]+a[i]*m);}l=0;while(l<=r){int mid=(l+r)>>1;if(check(mid)){ans=mid;r=mid-1;}else{l=mid+1;}}cout<<ans<<endl;return 0;
}
http://www.jsqmd.com/news/425213/

相关文章:

  • 基于yolov11+django+deepseek的火灾检测系统带登录界面python源码+onnx模型+精美web界面
  • springboot+vue3公务用车调度管理平台
  • 「CF521D」 Shop TJ
  • springboot+vue3基于 Java 的长途汽车客运站售票购票系统
  • 兰亭妙微作品一青海鸟类资源库网站交互及UI设计
  • 大数据领域Zookeeper与Flink的集成应用案例
  • Wi-Fi 7部署10大最常见的坑
  • springboot+vue3基于Java的高校教材订购系统
  • AI应用架构师踩坑记:科研AI智能体与超级计算集成的8大血泪教训
  • springboot+vue3服装商城销售管理系统
  • Windows powerToys映射键位
  • AT_arc209_d [ARC209D] A_A_i
  • Windows画图工具介绍
  • 三月做题集
  • 兰亭妙微作品一青海鸟类资源库网站交互及UI设计 - ui设计公司兰亭妙微
  • 手把手教你用6款AI论文神器,一键极速生成超长篇幅论文 - 麟书学长
  • nodejs+php+vue儿童慈善捐赠管理系统的设计与实现有
  • 2000-2024年地级市市场化水平面板数据
  • WPF实现相机标定
  • 告别传统风控!AI应用架构师详解:金融AI风险预警的4大技术颠覆与架构转型
  • Java基于springboot+vue的智慧医疗采购系统
  • 题解:uoj1015 【ULR #3】我的 XOR 卷积人生
  • Java基于springboot+vue的智慧农场系统
  • nodejs+php+vueJAVA的邮件过滤系统设计与实现
  • 保姆级教程:Python+ComfyUI 本地 AI 绘图全流程
  • 【建筑能耗模拟软件EnergyPlus第二期】天气站点数据
  • Java基于springboot+vue的景区服务平台
  • Java基于springboot+vue的易物小店交换系统
  • nodejs+php+vueO2O小程序生鲜食品商城订购系统
  • nodejs+php+vueOA公文发文管理系统