SDUT 3916 上色的纱雾

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description


纱雾画画功力首屈一指,现在她准备上色了,这时候她在想,怎样上色的时间最短呢?

在这里我们把问题简化,平面图抽象成坐标轴,需要上色的地方抽象成 n 个点,纱雾有 m 支画笔。
开始的时候纱雾可以选择让画笔落在坐标轴任意一点上,之后每次移动画笔一个单位的距离都会花费 1 秒(画笔可以左右移动,纱雾强大的能力可以同时移动 m 枝画笔,涂色的时间忽略不计)。现在纱雾想要知道这 n 个点全部上完色最少要多少时间呢?
相信你一定能让可爱的纱雾露出这样的表情的:

Input


多组输入。
对于每组数据:
首先输入两个以空格分隔的整数 n, m (1 <= n, m <= 10^5),分别表示需要上色的点以及纱雾拥有的画笔的数量
接下来一行是 n 个以空格分隔的整数(绝对值保证不超过 10^9)

Output


对于每组数据,输出一个整数,表示纱雾需要的最少时间(秒)。

Example Input


3 2
1 4 8
3 1
1 2 9
4 2
1 2 3 6

Example Output


3
8
2

Hint


两支画笔,第一支画笔初始地点选择 1,第二支画笔初始地点选择地点 8。
那么 3s 后第一支画笔可以到达地点 4,这样 3 个点就可以全部涂上了。

Author


「“师创杯”山东理工大学第九届ACM程序设计竞赛 热身赛」UMR

Submit


#include <bits/stdc++.h>using namespace std;int N, M;
int n[100005];
int ans;void binsearch(int low, int high)
{if(low > high)return;int mid = low + ((high-low)/2);int sum = 0, count = 1;for(int i = 1; i < N; i++){if(sum + n[i] - n[i-1] <=  mid){sum += n[i] - n[i-1];}else{count++;sum = 0;}}if(count > M)binsearch(mid+1, high);else{ans = mid;binsearch(low, mid-1);}
}int main()
{while(~scanf("%d%d", &N, &M)){for(int i = 0; i < N; i++)scanf("%d", &n[i]);sort(n, n+N);int low, high;high = n[N-1] - n[0];low = 0;binsearch(low, high);printf("%d\n", ans);}return 0;
}

二分思路,参考SDUT 2778 小明的花费预算http://blog.csdn.net/yxc9806/article/details/72854030

SDUT 3916 上色的纱雾相关推荐

  1. 上色的纱雾(二分搜索)

    上色的纱雾 Time Limit: 1000 ms / Memory Limit: 65536 kb Description 纱雾画画功力首屈一指,现在她准备上色了,这时候她在想,怎样上色的时间最短呢 ...

  2. sdut-3916 上色的纱雾

    题目链接:sdut-3916 上色的纱雾 题目解法: 二分搜索合适的答案,并不断往小了更新答案.因为往小了更新答案与向下搜索答案都需要bisearch(l, len),而 < m时更新答案不影响 ...

  3. “师创杯”山东理工大学第九届ACM程序设计竞赛 热身赛 E.上色的纱雾【二分+贪心】

    上色的纱雾 Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description 纱雾画画功力首屈一指,现在她 ...

  4. 二次元和穿纱雾网站错误404源码

    介绍: 今天分享一款许多老二次元的朋友们都比较喜欢的老婆,和泉纱雾的404页面的网页源代码,进入这个404页面就能看到我们的女主角和泉纱雾,相当简约好看,所以和泉雾纱是我老婆. 安装教程: 1.下载源 ...

  5. 和泉纱雾——初级思维题

    Think: 1.观察规律可以发现,尽量满足位数优先,若位数一样则考虑可以选择的较大的数字,将其放于最高位 2.n值相对较大,建议直接输出结果 Problem Description 众所周知,和泉纱 ...

  6. SDUT-3880 和泉纱雾

    和泉纱雾 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 众所周知,和泉纱雾是著名的埃罗芒阿老师,画画功力首屈一指.今天我们的 ...

  7. python ccbox_python--easygui

    1.msgbox import easygui as eg # msgbox # 一般使用三个参数,msg:内容,title:标题,ok_button:按钮内容 eg.msgbox(msg=" ...

  8. live2d内嵌html,为你的博客博客/网页添加Live2d二次元老婆的插件/手动方法

    前言 好久没搞WP的教程了,想不想为你的博客加一个看板娘呢,反正我想2333,所以我便汇总了一下网上这些教程模型和机器人api. 插件版 Wordpress 1.Wikimoe大佬制作的插件(伊斯特瓦 ...

  9. 行路难(SPFA+前驱记录)

    与其留恋,不如洒脱. -NEMT2018后的首题祭 行路难(SPFA+前驱记录) 题目来自洛谷P2832,难度(提高+/省选-),自以为应该是(普及/提高-)的黄题. 题目概述:给定一张有向图,在图上 ...

最新文章

  1. Failed to open zip file. Gradle‘s dependency cache may be corrupt (xx)
  2. js相对路径相关(比如:js中的路径依赖导入该js文件的路径)
  3. 【渝粤教育】国家开放大学2018年春季 0675-21T中级财务会计(2) 参考试题
  4. 【Codeforces - 798C】 Mike and gcd problem(思维,贪心)
  5. Flyway 数据库脚本版本控制工具
  6. 【spingboot基础知识】相关问题汇总
  7. ldconfig 和 ldd 命令用法
  8. 问题四十五:怎么画ray tracing图形中的blending and joining surface
  9. cookie和session机制之间的区别与联系
  10. **LPC1788加密与解密方法**
  11. 强化学习--蒙特卡洛法
  12. 动态系统的建模与分析
  13. python爬取公众号文章如何获取发布时间
  14. BLUETECH 聚蓝滤水壶的使用方法
  15. JavaFx界面功能隐藏和禁用
  16. 12:计算2的N次方
  17. 错排问题(排列组合习题)
  18. Android Keep screen on(保持屏幕唤醒)
  19. 【Python 每日一技】建立多个值和单个键的映射
  20. 计算机软件工程考研考哪些专业,2022考研:软件工程考研考什么科目?

热门文章

  1. java微信获取用户信息接口_java微信接口之二—获取用户组
  2. 扎心!妹子一个rm -rf把公司服务器数据删没了,这该怎么办?
  3. 【工具篇】SerializableDictionary字典序列化Unity面板显示
  4. 详解pdfFactory转换PDF文档的预览窗口视图
  5. Spring Boot 2.x基础教程:使用LDAP来管理用户与组织数据
  6. 深入理解js中的yield
  7. xrdp远程控制linux连上就闪退,windows通过xrdp远程连接centos闪退
  8. php use 使用要求,php 中use的使用
  9. 最详细解读LPWAN重要成员Wi-SUN
  10. 疯狂Python讲义Unit4Test