FZYZOJ-1880 【UFO】水管
P1880 -- 【ufo】水管
时间限制:1000MS 内存限制:131072KB 通过/提交人数:32/100
状态: 标签: 数学问题-组合数学 无 无
Description
lzl:我最近买了一套面积2147483647的房子,可是黄地产开发商sxbk,竟然只给我装了一根水管。
ufo:还不够么?
lzl:鉴于我的增肥计划,我需要n个厨房,每个厨房至少得有1根水管接入吧。
ufo:。。。不要急,你看我给你送来了神奇的水管转换器,可以使水管1变x。
ufo拥有1变2至1变k的转换器各一个,问至少要几个转换器才能满足lzl的增肥需求。
下图是1变4的转换器示意图

Input Format
两个整数n,k
Output Format
满足lzl需求需要用到转换器最少个数,不能满足的输出-1
Sample Input
4 3
Sample Output
2
Hint
对于30%的数据1 ≤ n ≤ 10, 2 ≤ k ≤ 10
对于100%的数据1 ≤ n ≤ 10^18, 2 ≤ k ≤ 10^9
ufo:黄地产给你装下水管没?
lzl:没。。没事,大肚能容天下事 嗝~~~
题解
根据贪心的思想,必须从大到小选用转换器才能得到最优解。不难发现,在这个选用的过程中,每次增加的水管数量构成等差数列,那么可以运用等差数列求和公式。
方法一:在[1,k]中二分答案,用等差数列求和公式判定得到最优解。
方法二:由等差数列求和公式得到一元二次方程,解方程。
代码
#include <cstdio>
#include <iostream>
using namespace std; long long N, K;
long long L, R; double Calc(long long K, long long N) {
N = N - ;
return (double) (K - 0.5) * N - 0.5 * N * N + ;
} int main() {
scanf("%lld%lld", &N, &K);
if (Calc(K, K) < N) {
printf("-1\n");
return ;
}
L = ;
R = K;
while (L <= R) {
long long Mid = (L + R) >> ;
double Sum = Calc(K, Mid);
if (Sum < N) L = Mid + ;
else R = Mid - ;
}
printf("%lld\n", L - );
}
FZYZOJ-1880 【UFO】水管的更多相关文章
- 网络虚拟化中的 offload 技术:LSO/LRO、GSO/GRO、TSO/UFO、VXLAN
offload 现在,越来越多的网卡设备支持 offload 特性,来提升网络收/发性能.offload 是将本来该操作系统进行的一些数据包处理(如分片.重组等)放到网卡硬件中去做,降低系统 CPU ...
- BZOJ 2594: [Wc2006]水管局长数据加强版(kruskal + LCT)
Description SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一 ...
- hdu 1880 魔咒词典
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1880 魔咒词典 Description 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有10 ...
- BZOJ2594: [Wc2006]水管局长数据加强版
题解: 裸LCT+离线+二分+MST... 代码:(几乎摘抄自hzwer) #include<cstdio> #include<cstdlib> #include<cma ...
- 【bz2594】水管局长数据加强版
题意: 给出一张n节点.m条代权无向边的无向联通图 和q个任务 1:询问一条x到y的路径 并使路径上最大权值最小 要求输出路径上最大权值 2:宣布x到y的路径报废题目保证该图永远联通 题解: 这是道凶 ...
- bzoj 2594: [Wc2006]水管局长数据加强版 动态树
2594: [Wc2006]水管局长数据加强版 Time Limit: 25 Sec Memory Limit: 128 MBSubmit: 934 Solved: 291[Submit][Sta ...
- 数据结构(动态树):COGS 27. [WC 2006] 水管局长
27. [WC 2006] 水管局长 ★★★☆ 输入文件:tube.in 输出文件:tube.out 简单对比时间限制:3 s 内存限制:128 MB [问题描述 ] SC 省 MY ...
- BZOJ 2594: [Wc2006]水管局长数据加强版( LCT )
离线然后就是维护加边的动态MST, Link cut tree秒掉..不过我写+调了好久...时间复杂度O(NlogN + MlogM) ------------------------------- ...
- BZOJ 1880: [Sdoi2009]Elaxia的路线( 最短路 + dp )
找出同时在他们最短路上的边(dijkstra + dfs), 组成新图, 新图DAG的最长路就是答案...因为两人走同一条路但是不同方向也可以, 所以要把一种一个的s,t换一下再更新一次答案 ---- ...
随机推荐
- WPF Paragraph获取或修改文本内容
一.说明 Paragraph继承自Block,Block继承自TextElement,在TextElement中 // // 摘要: // 获取表示元素中内容末尾的 System.Windows.Do ...
- ab安装和使用
apache bench(专门用于 HTTP Server .单url).win8: 下载地址:http://httpd.apache.org/download.cgi#apache24 安装apac ...
- 如何配置visual studio 2013进行负载测试-万事开头难
声明:工作比较忙,文章写得不好,有时间再整理. 起因:最近众包平台因迁移到azure之后一直有网站慢的情况,让老板挨批了,但是测试环境一切正常,而且生产环境也没发现有卡顿和慢的情况,所以干脆来一次负载 ...
- NRPE: Unable to read output 问题处理总结
自定义nagios监控命令check_disk_data,首先在nagios服务端command.cfg定义了#'check_disk_data' command definitiondefine c ...
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
我们的自己的应用里面经常涉及的要打开ppt doc,这样的功能,以前总以为iOS沙盒封闭化,不可能实现,后来终于解决了 使用 UIDocumentInteractionController 来解决这一 ...
- JavaScript学习笔记之原型对象
本文是学习<JavaScript高级程序设计>第六章的笔记. JS中,便于批量创建对象的三种模式: 1.工厂模式:用一个函数封装创建对象的细节,传入必要的参数,在函数内部new一个对象并返 ...
- javascript基础学习(一)
javascript输出: javascript通过不同的方式来显示数据: (1)windows.alert()弹出警告框: (2)document.write()将方法写入HTML文档中: (3)i ...
- Spring 中各种通知
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- java基础学习总结01
在过去的一周我们先学习了JAVA的一些基础知识和基础语法,基础知识包括:指令.程序.计算机语言.机器语言.高级语言的概念和特点,java的概念.平台.组建等,以及代码的编译过程,代码的开发流程.基础语 ...
- centos中文乱码修改字符编码使用centos支持中文
如何你的centos显示中文乱码,只要修改字符编码使centos支持中文就可以了,没有这个文件可以创建它,下面是修改步骤 一.中文支持 安装中文语言包: 复制代码 代码如下: yum groupins ...