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

P4058 [Code+#1] 木材

1:思路:二分月数,然后贪心,就是说要求最小月数,拿每次判断是否到达s长度的时候我们就从大的开始拿。

int l=-1,r=1e18+1;while(l+1<r){int mid=l+r>>1;if(check(mid))r=mid;else l=mid;}

2:记得看数据,开unsigned long long 不然见祖宗

3:ACcode:

#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
const int N=2e5+10;
int n,s,l,h[N],a[N],c[N];
bool cmp(int i,int j){return i>j;
}
bool check(int x){for(int i=1;i<=n;i++){c[i]=h[i]+x*a[i];}sort(c+1,c+1+n,cmp);int sum=0;for(int i=1;i<=n;i++){if(c[i]>=l){sum+=c[i];if(sum>=s)return true;}else break;}if(sum>=s)return true;return false;
}
void solve() {cin>>n>>s>>l;for(int i=1;i<=n;i++) cin>>h[i];for(int i=1;i<=n;i++) cin>>a[i];int l=-1,r=1e18+1;while(l+1<r){int mid=l+r>>1;if(check(mid))r=mid;else l=mid;}cout<<r<<"\n";
}
signed main() {ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int tt=1;//cin>>tt;while(tt--) solve();return 0;
}

over~

http://www.lryc.cn/news/121503.html

相关文章:

  • Python学习笔记第五十二天(Pandas 安装)
  • 分布式搜索ElasticSearch-ES(一)
  • react学习笔记——3. jsx语法规则
  • MySQL分表实现上百万上千万记录分布存储的批量查询设计模式
  • 射频入门知识-1
  • 基于注解函数式编程实现组件解耦设计
  • 并查集、树状数组
  • ES6中Null判断运算符(??)正确打开方式-
  • java的内存模型
  • 基于 CentOS 7 构建 LVS-DR 群集 配置nginx负载均衡
  • CSS练习
  • 基于深度学习的3D城市模型增强【Mask R-CNN】
  • LabVIEW对并行机器人结构进行建模仿真
  • 【算法题】1281. 整数的各位积和之差
  • (一)ES6 介绍
  • 窥孔优化(Peephole Optimization)
  • Docker安装ElasticSearch/ES 7.4.0
  • 无涯教程-Perl - readline函数
  • 类与对象(入门)
  • 刷题记录(2023-08-12)
  • GPT内功心法:搜索思维到GPT思维的转换
  • 在WebStorm中通过live-server插件搭建Ajax运行环境
  • 侯捷 C++ part2 兼谈对象模型笔记——1 转换
  • 尚硅谷大数据项目《在线教育之采集系统》笔记003
  • PAT(Advanced Level)刷题指南 —— 第七弹
  • 合宙Air724UG LuatOS-Air script lib API--sys
  • MySQL建表和增添改查
  • @Transactional 注解下,事务失效的七种场景
  • chrome V3 插件开发 基础
  • 【uniapp】uniapp自动导入自定义组件和设置分包: