[CCPC2019网络赛] 1008-Fishing Master(思维)
题意:现在需要捕$n$条鱼并且将它们煮熟来吃。每条鱼要煮相应的时间才能吃(可以多煮一会),锅里每次只能煮一条鱼,捕一条鱼的时间是相同的,但是在捕鱼的时间内不能做其他事(比如换一条鱼煮),求把所有的鱼都煮熟最少需要多少时间。
思路:这里提供一种比较好理解的想法,来自$yx$学长
你想一下,我们要吃鱼的话鱼肯定是要煮熟的,所以煮鱼的时间必须要花出去,我们这里可以先把煮鱼的时间统计到一起。题目是要求我们尽可能的节省时间,所以我们除了第一条鱼以外,其他的鱼可以在煮的时候钓,这样能最大利用时间。
对于第$i$条鱼,炖它的时候我们可以不浪费时间抓到$t_{i}/k$条鱼,或者浪费$k-t_{i}\%k$的时间抓到$t_{i}/k+1$条鱼.所以如果$\sum_{i=1}^{n}t_{i}/k\geq n-1$,则可以不浪费时间完成任务;如果$\sum_{i=1}^{n}t_{i}/k<n-1$,则差$m$条鱼就选炖$t_{i}\%k$前$m$大的鱼的时候浪费时间多抓一条鱼。
Code
#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
int t, n, k, x;
int a[100005];
int main()
{
scanf("%d", &t);
while (t--) {
scanf("%d%d", &n, &k);
ll cnt = 0, ans = k; //钓第一条鱼的时间
for (int i = 1; i <= n; i++) {
scanf("%d", &x); ans += x;
cnt += x / k; //每条鱼煮的时候能够钓多少条鱼
a[i] = x%k;
}
sort(a + 1, a + n + 1);
for (int i = n; i >= cnt + 2; i--) //剩下的鱼还需要多煮几分钟才能钓上来
ans = ans + k - a[i];
printf("%lld\n", ans);
}
}
[CCPC2019网络赛] 1008-Fishing Master(思维)的更多相关文章
- HDU 4745 Two Rabbits (2013杭州网络赛1008,最长回文子串)
Two Rabbits Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota ...
- CCPC2019网络赛总结
比赛那会过了两道题,哇贼激动,然后后面就没有然后了... 1003我想到用$kmp$,于是不会$kmp$的我开始找板子套,结果$TLE$,就觉得应该是优化不行,优化后AC妥妥$TLE$,就放弃了. 钓 ...
- 2016 年沈阳网络赛---QSC and Master(区间DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5900 Problem Description Every school has some legend ...
- 2016沈阳网络赛 QSC and Master
QSC and Master Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- CCPC2019网络赛
2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 A 题意:找到最小的正整数 C 使得 (A^C)&(B^C) 最小. \(A,B \le 10^9\) 签到题.这个C取 A& ...
- The Karting 2017ccpc网络赛 1008
The Karting championship will be held on a straight road. There are N keypoints on the road. The pat ...
- HDU 5877 Weak Pair (2016年大连网络赛 J dfs+反向思维)
正难则反的思想还是不能灵活应用啊 题意:给你n个点,每个点有一个权值,接着是n-1有向条边形成一颗有根树,问你有多少对点的权值乘积小于等于给定的值k,其中这对点必须是孩子节点与祖先的关系 我们反向思考 ...
- 2017青岛网络赛1008 Chinese Zodiac
Chinese Zodiac Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) T ...
- HDU 6709“Fishing Master”(贪心+优先级队列)
传送门 •参考资料 [1]:2019CCPC网络选拔赛 H.Fishing Master(思维+贪心) •题意 池塘里有 n 条鱼,捕捉一条鱼需要花费固定的 k 时间: 你有一个锅,每次只能煮一条鱼, ...
随机推荐
- Windows软件Everything的配置
Everything配置 Everything是一款Windows下的搜索软件,怎么安装应该不难.这里说一下个人使用的两个习惯. 主要就两点,一个是快捷键,一个是搜索路径 1. 快捷键 配置快捷键,点 ...
- Tomcat7,Tomcat8 的manager 配置
1.打开文件:tomcat目录-->conf-->tomcat-users.xml 2.将以下代码替换原来的所有内容,不要犹豫,就是所有内容. <?xml version=&quo ...
- maven 报的一堆错
今天初学maven,刚开始下载的是Apache-maven-3.6.2然后配置运行一个servlet,但是在pom.xml中写jar包坐标时一直报错显示红色,本地仓库和官网上的中央仓库都试过了就是依赖 ...
- Java 基于 mysql-connector-java 编写一个 JDBC 工具类
用到的 jar 包 jar包地址: mysql-connector-java-5.1.47.jar junit-4.13.jar Maven: <!-- mysql驱动 --> <d ...
- kubernets之statefulset资源
一 了解Statefulset 1.1 对比statefulset与RS以及RC的区别以及相同点 Statefulset是有状态的,而RC以及RS等是没有状态的 Statefulset是有序的,拥 ...
- 消息队列之kafka
消息队列之activeMQ 消息队列之RabbitMQ 1.kafka介绍 kafka是由scala语言开发的一个多分区,多副本的并且居于zookeeper协调的分布式的发布-订阅消息系统.具有高吞吐 ...
- 牛逼!MySQL 8.0 中的索引可以隐藏了…
MySQL 8.0 虽然发布很久了,但可能大家都停留在 5.7.x,甚至更老,其实 MySQL 8.0 新增了许多重磅新特性,比如栈长今天要介绍的 "隐藏索引" 或者 " ...
- linux搭建ARM可调式环境
0x00 前言 本文中所介绍的方法目前只测试了单个的demo,并没有拿大型的项目做测试,但是应该是大同小异.这里介绍两种方法,一种是有独立的ARM硬件,另一种是依靠qemu实现的模拟化,其实其本质都是 ...
- Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」
Compose 简介 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/compose/introduction.html Com ...
- Obligations for calling close() on the iterable returned by a WSGI application
Graham Dumpleton: Obligations for calling close() on the iterable returned by a WSGI application. ht ...