hihocoder的hiho一下,第256周的题目


  • 原题
  • 我的解答
  • 别人的解答

原题

传送门:https://hihocoder.com/contest/hiho256/problem/1

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

There are N jobs to be finished. It takes a robot 1 hour to finish one job.

At the beginning you have only one robot. Luckily a robot may build
more robots identical to itself. It takes a robot Q hours to build
another robot.

So what is the minimum number of hours to finish N jobs?

Note two or more robots working on the same job or building the same
robot won’t accelerate the progress.

输入

The first line contains 2 integers, N and Q.

For 70% of the data, 1 <= N <= 1000000

For 100% of the data, 1 <= N <= 1000000000000, 1 <= Q <= 1000

输出

The minimum number of hours.

样例输入 10 1
样例输出 5


我的解答

每个机器人有两个选择:1.造机器人2.做任务;造一个机器人用时Q,如果总任务数平均到当前机器人,要花的时间超过了2Q,那么这个机器人就应该选择再造一个机器人。

但是,是不是会出现一部分机器人造人,另一部分做任务的情况呢? 好像这边有这种情况 的 话,总的最短用时还是不变的? 这里边有点复杂,没想明白,先按都一起复制,复制完了一起加工来看吧。

#include <iostream>
#include <cmath> int main(int argc, char** argv) {int n, q;scanf("%d %d", &n, &q);// 首先计算需要复制几次int k = ceil(log((double)(n/(2*q))) / log(2));// 再计算用时int ans = k*q + ceil((double)(n/(pow(2, k))));printf("%d\n", ans); return 0;
}

但是通过情况为WA,60/100
遂改了一下:

int main(int argc, char** argv) {long long int n;int q;scanf("%lld %d", &n, &q);// 首先计算需要复制几次long long int k = ceil(log((double)(n/(2*q))) / log(2.0));// 再计算用时long long int ans = k*q + ceil((double)(n/(pow(2.0, k))));printf("%lld\n", ans); return 0;
}

这次变成80/100了
又改了一下:

int main(int argc, char** argv) {long long int n;int q;scanf("%lld %d", &n, &q);// 首先计算需要复制几次long long int m=1,k=0;while(n > 2*m*q)//根据结论,机器人应当全部复制{m *= 2;k++;}// 再计算用时long long int ans = k*q + ceil((double)(n/(pow(2.0, k))));printf("%lld\n", ans); return 0;
}

别人的解答

https://www.cnblogs.com/ECJTUACM-873284962/p/7136061.html
【这里边包括了一部分机器人在复制,其他机器人在工作这种情况不用考虑的相关证明】

【hiho一下_week256】Diligent Robots相关推荐

  1. Robots Crossing River hiho一下第175周

    题意: 三种机器人过河,也就是到从 A 到 B 再到 C.从 A 到 B 只有一艘船,从 B 到 C也只有一艘船.船载着机器人在 A.B 之间往返需要花费 2 小时,不载机器人在 A.B 之间往返需要 ...

  2. HDU 6229 Wandering Robots 找规律+离散化

    题目链接:Wandering Robots 题解:先讲一下规律,对于每一个格子它可以从多少个地方来有一个值(可以从自己到自己),然后答案就是统计合法格子上的数与所有格子的数的比值 比如说样例的3 0格 ...

  3. 如何写网站的robots.txt和meta name robots的配置

    robots.txt基本介绍robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容. 当一个搜索机器人(有的叫搜索蜘 ...

  4. robots.txt文件的解析及过滤

    什么是robots.txt文件? robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎 ...

  5. Python爬虫小偏方:如何用robots.txt快速抓取网站?

    作者 | 王平,一个IT老码农,写Python十年有余,喜欢分享通过爬虫技术挣钱和Python开发经验. 来源 | 猿人学Python 在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 ...

  6. HDU 2300 Crashing Robots

    Crashing Robots 题意 模拟多个机器人在四个方向的移动,检测crash robot, crash wall, OK这些状态 这是个模拟题需要注意几点: 理解转变方向后移动多少米,和转动方 ...

  7. 【谷歌推网页爬虫新标准,开源robots.txt解析器】

    https://www.toutiao.com/a1638031116246019 [谷歌推网页爬虫新标准,开源robots.txt解析器] 对于接触过网络爬虫的人来说 robots.txt 绝不陌生 ...

  8. 模拟 POJ 2632 Crashing Robots

    题目地址:http://poj.org/problem?id=2632 1 /* 2 题意:几个机器人按照指示,逐个朝某个(指定)方向的直走,如果走过的路上有机器人则输出谁撞到:如果走出界了,输出谁出 ...

  9. Robots.txt和Robots META

    Robots Text File Robots.txt robots.txt是一套指示搜索引擎(蜘蛛)如何抓取你的网页内容的一张地图,他告诉蜘蛛哪些需要抓取,哪些不要抓取(当然,这只是针对那些遵守这个 ...

  10. 网站robots.txt探测工具Parsero

    网站robots.txt探测工具Parsero robots.txt文件是网站根目录下的一个文本文件.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当搜索引擎访问一个站点时,它会首 ...

最新文章

  1. JavaScript模式读书笔记 第5章 对象创建模式
  2. 浅析个人网站建设需要注重的建设问题
  3. 安装MindStudio
  4. 初识Lock与AbstractQueuedSynchronizer(AQS)
  5. linux中使用yum的优点,linux – 自动“yum update”以保证服务器安全 – 优点和缺点?...
  6. JavaScript toLocaleString()时间转化为字符串
  7. 国服服务器_伊丁天堂国服|服务器类型建议收集
  8. VS2019 打包WPF安装程序最新教程(图文详解)
  9. 考研政治(二):马克思主义基本原理
  10. QQ,微信小惊喜代码
  11. 计算机毕业设计项目推荐(源码+论文+PPT)
  12. 使用IIS发布ASP.NET网页
  13. Mask R-CNN网络详解
  14. 计算机一级ps知识,2017年9月计算机一级photoshop考试试题
  15. you will need to restart eclipse for the changes to take effect. would you like to restart now?
  16. Mac系统如何查看更新R版本
  17. 见缝插针小游戏制作详细步骤
  18. Ubuntu20.04启动paraFoam失败
  19. 【C语言】之实现多达50位数相乘的运算
  20. php 循环结构的联系题,php - 烧脑题,有一个程序循环逻辑问题,急在线等

热门文章

  1. chaosblade混沌测试
  2. PHP 实现身份证号实名认证功能
  3. 成年人的世界,不过如此
  4. string容器模拟实现及使用——C++
  5. chm文件打不开,已取消到该网页的导航
  6. 启动优化之一——启动分析及优化方案
  7. 如果你现在没有目标,对未来很迷茫、、打扰下 耽误几秒钟看看这个故事 故事很短 但是你一定会有所收获。...
  8. 读书项目:ePub标准介绍
  9. asterisk cdr mysql_在asterisk中添加CDR sqlite支持
  10. 使用Teamviewer实现远程控制安卓设备的实现过程记录