506C Mr. Kitayuta vs. Bamboos
分析

代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,p,k,a[],h[],now[],cnt[];
inline bool ck(int mid){
int i,j,tot=,res=;
for(i=;i<=n;i++)now[i]=h[i]+a[i]*m,tot+=max(0ll,(now[i]-mid-+p)/p);
for(i=;i<=m;i++)cnt[i]=;
if(tot>m*k)return ;
for(i=;i<=n;i++)if(now[i]>mid)
for(j=(now[i]-mid-)%p+;j<=now[i]-mid;j+=p)
if(j<=h[i])cnt[]++;else if(j>h[i]+(m-)*a[i])return ;else cnt[(j-h[i]-+a[i])/a[i]]++;
for(i=;i<m;i++){
res+=cnt[i];
res=max(0ll,res-k);
}
return !res;
}
signed main(){
int i,j;scanf("%lld%lld%lld%lld",&n,&m,&k,&p);
for(i=;i<=n;i++)scanf("%lld%lld",&h[i],&a[i]);
int le=,ri=1e15;
while(ri-le>){
int mid=(le+ri)>>;
if(ck(mid))ri=mid;
else le=mid;
}
printf("%lld\n",ri);return ;
}
506C Mr. Kitayuta vs. Bamboos的更多相关文章
- @codeforces - 506C@ Mr. Kitayuta vs. Bamboos
目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个竹子,第 i 个竹子初始高度 hi,在每天结束时将长高 a ...
- Mr. Kitayuta vs. Bamboos
Mr. Kitayuta vs. Bamboos 题目链接:http://codeforces.com/problemset/problem/505/E 参考:http://blog.csdn.net ...
- 「CF505E」 Mr. Kitayuta vs. Bamboos
「CF505E」 Mr. Kitayuta vs. Bamboos 传送门 如果没有每轮只能进行 \(k\) 次修改的限制或者没有竹子长度必须大于 \(0\) 的限制那么直接贪心就完事了. 但是很遗憾 ...
- Mr. Kitayuta vs. Bamboos CodeForces - 505E (堆,二分答案)
大意: 给定$n$棵竹子, 每棵竹子初始$h_i$, 每天结束时长$a_i$, 共$m$天, 每天可以任选$k$棵竹子砍掉$p$, 若不足$p$则变为0, 求$m$天中竹子最大值的最小值 先二分答案转 ...
- CF505E Mr. Kitayuta vs. Bamboos
cf luogu 要使得最高的柱子高度最小,考虑二分这个高度,那么剩下的就是要指定一个操作方案,使得最终每个柱子高度\(\le mid\) 因为有个柱子高度不会\(<0\)的限制,所以正着模拟不 ...
- Codeforces 505E - Mr. Kitayuta vs. Bamboos(二分+堆)
题面传送门 首先很显然的一点是,看到类似于"最大值最小"的字眼就考虑二分答案 \(x\)(这点我倒是想到了) 然鹅之后就不会做了/wq/wq/wq 注意到此题正着处理不太方便,故考 ...
- ACM: Mr. Kitayuta's Colorful Graph-并查集-解题报
Mr. Kitayuta's Colorful GraphTime Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I6 ...
- CodeForces 505B Mr. Kitayuta's Colorful Graph
Mr. Kitayuta's Colorful Graph Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d ...
- Codeforces Round #286 (Div. 2) B. Mr. Kitayuta's Colorful Graph dfs
B. Mr. Kitayuta's Colorful Graph time limit per test 1 second memory limit per test 256 megabytes in ...
随机推荐
- node.js使用express模块创建web服务器应用
1.安装express模块 在命令行输入 npm install body-parser --save npm install express --save 2.创建app.js文件 /*应用程序入口 ...
- oracle中的表空间以及和表空间有关的操作
oracle中表空间 表空间是oracle对物理数据库上相关数据文件的逻辑映射.一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构.每个数据库至少有一个表空间(sys ...
- 在eclipse中创建第一个java应用程序,并在控制台输出“hello world”。
package com.fs.test; public class HelloWorld { public void aMethod() { } public static void main(Str ...
- kubernets全套笔记
Master/node Master核心组件: API server,Scheduler,Controller-Manager etcd(存储组件) Node核心组件: kubelet(核心组件) ...
- Linux系统nmtui/nmcli绑定双网卡为team
今天给大家带来图形化界面网络配置工具—nmtui的使用方法,可以省去敲命令的繁琐,较少误操作,结果更加直观. 小知识: nmtui:Network Manager Text User Interfac ...
- Big Data(二)分布式文件系统那么多,为什么hadoop还需要一个hdfs文件系统?
提纲 - 存储模型- 架构设计- 角色功能- 元数据持久化- 安全模式- 副本放置策略- 读写流程- 安全策略 存储模型 - 文件线性按字节切割成块(block),具有offset,id - 文件与文 ...
- java数据结构复习02
1.递归问题 1.1汉诺塔问题(递归) 问题描述三个柱子,起初有若干个按大小关系顺序安放的盘子,需要全部移动到另外一个柱子上.移动规则:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.移动 ...
- share point 下载语言包
可以选择对应语言 日文: https://www.microsoft.com/ja-JP/download/details.aspx?id=42546 中文: https://www.microsof ...
- share point 字段类型
Type (as shown on the Create Column page) Field Type Notes MSDN Links Single line of text Type=”Text ...
- canvas 计算文字宽度(常用于文字换行)
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.font= ...