2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > hdu 6656 Final Exam

hdu 6656 Final Exam

时间:2022-12-29 17:27:56

相关推荐

hdu 6656 Final Exam

题意:给出n个题目,题目总分m分,每道题至少需要对应的分数+1的时间复习才可以通过,需要通过k个题目,试问如何安排复习时间才是最快的?

思路:

思考学生复习的最坏的情况是老师出的(n-k+1)个题目他都没有复习好(并且这n-k+1个题目是复习的时间最短的),那么如何来对待这种最坏的情况呢,首先假设问题已经发生,那么因为学生只缺一题没有做了所以若(n-k+1)个题目一共用m+1的时间来复习,那么就一定至少有一门课可以被复习好,那么加上之前的k-1门课就可以复习完k门课程了,并且(k-1)门课复习时间一定是比之前的n-k+1门课高的(或者相等的),并且之前的n-k+1门课一定是每门课用了((m+1)/(n-k+1))的时间,因为只有这样才可以确保这(n-k+1)门课可以至少有一门课是复习好的,那么总时间就是((m+1)/(n-k+1))向上取整再加上m+1

遇到这种情况,首先要思考学生最坏的情况是什么,若想不到则换位思考老师最优的情况是什么,那么学生该如何的应对这种老师的最优的情况

#include <stdio.h>#include<string.h>#include<algorithm>#include<math.h>#define maxn 100001typedef long long ll;using namespace std;int main(int argc, char *argv[]){int t;scanf("%d",&t);while(t--){long long n,m,k;scanf("%lld %lld %lld",&n,&m,&k);printf("%lld\n",m+1+ll(ceil((1.0*(m+1)/(n-k+1))))*(k-1)); }return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。