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 ...
随机推荐
- xml的解析及案例的分析和分享
HTML的文档如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=& ...
- RabbitMQ从安装到使用
一.在Linux中安装RabbitMQ 通过Docker安装: 获取镜像(选用management是带有管理界面的) docker pull rabbitmq:-management 查看下载好的镜像 ...
- Redox OS 发布 0.5 版
Redox OS 是一个几乎完全以 Rust 语言编写的通用操作系统及周围生态(例如文件系统.显示服务器及 Rust 版本的 libc).其遵循微内核架构,在一定程度上兼容于 POSIX. 该项目于日 ...
- Qualcomm_Mobile_OpenCL.pdf 翻译-8-kernel性能优化
这章将会说明一些kernel优化的小技巧. 8.1 kernel合并或者拆分 一个复杂的应用程序可能包含很多步骤.对于OpenCL的移植性和优化,可能会问需要开发有多少个kernel.这个问题很难回答 ...
- SQLServer Transaction Isolation Level
基本用法 -- Syntax for SQL Server and Azure SQL Database SET TRANSACTION ISOLATION LEVEL { READ UNCOMMIT ...
- jmeter请求时出现no cookies
现象: 解决步骤: 1.添加http cookie管理器 2.检查http信息头管理器是否正确
- 集合综合练习<四>
package com.JiHeTotal; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io. ...
- ORACLE复杂查询之子查询
子查询分为两类:标准子查询和相关子查询. 一.标准子查询:子查询先于主查询独立执行,返回明确结果供主查询使用. 子查询只执行一次,不依赖于主查询. 例如: 其中子查询能够返回结果:2450.所以断定其 ...
- 【shell】sed指定追加模式空间的次数
最近遇到一个文本复制的场景,需要把文本的每一行都重复输出三次. 这个用awk或者sed实现都还是很简单的. sed代码: [root]$ seq | sed '{h;G;G}' 现在的问题是,如果每行 ...
- API网关原理
1.API网关介绍 API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证 ...