hdu多校第七场 1006(hdu6651) Final Exam 博弈
2024-10-07 20:20:02
题意:
有n道题,这n道题共m分,要求你至少做出k道才能及格,你可以自由安排复习时间,但是只有某道题复习时间严格大于题目分配的分值时这道题才能够被做出来,求最少的,能够保证及格的复习时间。复习时间和分数都是整数。
题解:
为什么给这道题一个博弈的标签呢?因为这道题其实是这样一个博弈过程:
第一回合,玩家A给自己的n个题分配复习时间
第二回合,玩家B拿到m个分数,去给题目分配分数,卡A的复习成果,只要分数和复习时间完全一样就相当于卡掉了,至少卡掉n-k+1个题B就获胜
明白了吧,学生对于题目分数分配的完全未知,其实就相当于出题老师对于学生的复习时间分配完全已知。(这有点和信息论连接起来了,以后慢慢分析)
如果你是B,怎么卡A呢?肯定是找到A复习时间最少的n-k+1个题,把m分全用在上面,都卡掉就行了。
所以,你作为A,只要保证自己复习时间最短的n-k+1道题,总和大于m就行了,这样这些题中至少有一道题B卡不掉,而B更没法舍近求远地去卡复习时间更多的题。
所以,复习时间较少的n-k+1道题,总花费时间m+1,所以复习时间第n-k+1少的题需花费$\left \lceil \frac{m+1}{n-k+1} \right \rceil$
剩下的k-1题均花费$\left \lceil \frac{m+1}{n-k+1} \right \rceil$时间来复习。
#include<bits/stdc++.h>
#define LL long long
using namespace std; int T;
LL n,m,k; int main()
{
cin>>T;
while(T--)
{
cin>>n>>m>>k;
cout<<(m/(n-k+)+)*(k-)+m+<<endl;
}
return ;
}
最新文章
- openlayers3 画扇形
- CSS3系列一(概述、选择器、使用选择器插入内容)
- iOS-音频和视频
- PL/SQL 创建视图语法
- 《聚焦3D地形编程》学习点
- SAP MM模块之批次管理
- redis 入门笔记(一)
- 网站开发常用jQuery插件总结(十)菜单插件superfish
- Hadoop 1、在虚拟机上进行 HDFS 安装
- php函数参数
- 关于ClassLoader
- 我是如何处理大并发量订单处理的 KafKa部署总结
- Jenkins获取git tags代码
- .net 导入excel数据
- 基于密度峰值的聚类(DPCA)
- MySQL 还原
- Hibernate学习笔记2.1(Hibernate基础配置)
- Redis-发布与订阅
- vue2.0父子组件通信的方法
- Install Shield常用函数以及参数
热门文章
- 利用SparkSQL(java版)将离线数据或实时流数据写入hive的用法及坑点
- Delphi Close、Halt、terminate、ExitProcess的区别
- delphi 窗体的位置和高宽度-TForm:Letf、Top、Width、Height、ClientWidth、ClientHeight
- java相差小时数
- NOIP2019模拟2019.9.20】膜拜大会(外向树容斥,分类讨论)
- URAL 1996. Cipher Message 3(KMP+fft)
- 使用Nodejs 的http-proxy 模块做代理服务器的尝试
- 火狐RESTClient和HttpRequester, Chrome的Postman使用详解
- date和string转换用joda包
- nginx502问题