先分析复杂度,给的数据是1e5的,那么我们至少需要一个nlogn的算法才可以。由于答案是一个数字,首先想到是二分法(一般答案是一个数字都可以通过二分法来完成)

下面是思路:

1.可以完成题目的条件是,每道题需要使用黑科技的次数一定要小于总的分钟数,计算每道题需要黑科技的次数这里要用到向上取证9/5=2,这里写了一个cal函数,比较方便实现,用强制转换ceil函数啥的有点麻烦,当然这个貌似是只能完成正整数的转换。

2.然后用二分查找,正常的二分查找是可以找到mid满足条件,且是唯一的mid。此题在二分区间内有多个值都可以满足条件,所以一定要遍历所有满足的元素,从中选取出最小的那一个作为结果输出出来,用x>y作为结束的条件。一开始时的时候是按注释那样写的,找到可以的一个值之后用while继续找比这个值小的结果,肯定会超时,因为相当于找到一个结果之后就开始一个一个找,退化的很严重,是一个非常智障的操作。

3.一开始想把二分写成从2开始,然后特殊判断了一大堆条件如注释写的那样,也是非常智障的操作,因为1与其他没有什么区别,x=y的情况也没有什么区别,不需要特殊处理

#include<bits/stdc++.h>
using namespace std;
#define maxn 100005
int a[maxn];
int m = 1000000000;
int cal(int x, int y)
{return (x + y - 1) / y;
}
int merge(int x, int y, int n, int k)
{if (x >y)return 0;int mid;mid = (x + y) / 2;int sum;sum = 0;int i;for (i = 0; i < n; i++){if (a[i]>mid){sum += cal(a[i] - mid, k);}}if (sum < mid){if (mid < m)m = mid;merge(x, mid - 1, n, k);/*    while (mid >= 2){mid--;sum = 0;for (i = 0; i < n; i++){if (a[i]>mid){sum += cal(a[i] - mid, k);}}if (sum <= mid)m = mid;elsebreak;}*/}else if (sum > mid){merge(mid + 1, y, n, k);}else{m = mid;return 0;}
}
int main()
{int t;scanf("%d", &t);while (t--){int n;scanf("%d", &n);int i;for (i = 0; i < n; i++)scanf("%d", &a[i]);int k;scanf("%d", &k);sort(a, a + n);/*    if (a[n - 1] == 1){printf("1\n");}else if (a[n - 2] == 1 && (a[n - 1] - 1 - k <= 0))printf("1\n");else*/merge(1, a[n - 1] - k, n, k);printf("%d\n", m);}
}

转载于:https://www.cnblogs.com/legendcong/p/9114252.html

[xdoj]1303jlz的刷题黑科技相关推荐

  1. 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?...

    秘密筹备两年多.备受瞩目的 阿里首家未来酒店-菲住布渴(FlyZoo Hotel) 将于明天(12月18日)开业 这个全球第一家支持全场景刷脸的黑科技酒店, 到底会带来怎样的体验? 下面就由阿里首家未 ...

  2. 上海滩玩起了黑科技,苏宁Biu店带你刷脸扫货

    11月6日,小编在东方卫视新闻看到了这样一则新闻:一家真正的"刷脸"购物无人店正式落户上海啦.该视频中的受访的小哥说:"感觉就没有花钱的感觉",瓦特?拿了东西像 ...

  3. 51nod 1113 矩阵快速幂【裸题】【内含黑科技】

    1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40  难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...

  4. 这家刷脸入住的酒店,满屋都是黑科技

    之前有"无人零售"."无人工厂",现在无人化的概念也被运用到了酒店行业中. 在"无人酒店"里,入住.退房不需要在前台耗费大量时间,只需要在自 ...

  5. 数据分析真题日刷 | 商汤科技2018校招C++/算法开发/大数据/后端/运维/测试/数据挖掘开发工程师笔试第二场

    断了大半个月没有刷题,进入「数据分析真题日刷」系列第13篇 . 今日真题 商汤科技2018校招C++/算法开发/大数据/后端/运维/测试/数据挖掘开发工程师笔试第二场 (来源:牛客网) 题型 客观题: ...

  6. 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?... 1

    秘密筹备两年多.备受瞩目的 阿里首家未来酒店-菲住布渴(FlyZoo Hotel) 将于明天(12月18日)开业 这个全球第一家支持全场景刷脸的黑科技酒店, 到底会带来怎样的体验? 下面就由阿里首家未 ...

  7. “刷脸回家黑科技”,人脸识别智能门禁D508重磅来袭!

    "刷脸取票"."刷脸支付" 想必大家见识过这些"黑科技"了 不过,今天小编要给大家介绍的是 "刷脸"回家! 没错!!! ...

  8. 360手机黑科技“位置穿越”功能修复 360手机位置穿越不能用了 360手机刷机

    360手机黑科技"位置穿越"功能修复 360手机位置穿越不能用了 360手机刷机 参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机:360ro ...

  9. 在线作业帮智能计算机,作业帮喵喵机智能错题学习机 5秒解决错题学习的黑科技...

    随着智能时代的到来, 科技育儿作为带娃新方式也逐渐成为主流,孩子的教育标准越来越高,其中科技帮忙解决了不少问题. 前几天,孟妈去学校围观了孟子的同学作业互帮小组,那场面真的太壮观了!孩子们围着一张圆桌 ...

最新文章

  1. 模型可视化_20210208
  2. javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ELResolver错误解决办法...
  3. struct和typedef struct区别
  4. SQL经典语句(转载)
  5. java 中成员_Java中的成员内部类
  6. expect java ssh_使用expect实现自动化ssh以及执行命令
  7. EVC编程经验点滴(一)
  8. IBM TPM2.0 模拟器
  9. [BZOJ2038]小Z的袜子(莫队算法)
  10. SPI以及UART的测试DEMO
  11. Shell脚本 批量修改目录下若干文件名
  12. 李宏毅机器学习day2
  13. 医学专业学语文数学英语计算机嚒,医学专业到底有哪些一级学科,你知道吗?...
  14. CSS学习1(内联样式,内部样式,外部样式,选择器)
  15. unity资源释放(AssetBundle和Asset)
  16. 那些到处在说靠信息差、认知差可以挣大钱的人真的能挣很多钱吗?
  17. 希腊字母在数学或物理中代表的意思各是什么
  18. MIME类型是什么意思
  19. GEE|在地图上显示传入的shp数据
  20. 【物联网项目系列】springboot 实现mqtt物联网

热门文章

  1. apifox设置获取token
  2. i9 9900k和i9 9900kf有什么区别
  3. Ubuntu EFI分区卸载
  4. android创建googlemap基础教程和画导航线路图
  5. QT上位机源码+STM32图像采集
  6. Axure 原型设计QQ简易登录
  7. all File Format
  8. 如何在Cocos2D游戏中实现A*寻路算法(七)
  9. EXCEL隔行选取操作
  10. 在前端做的第一次作业