HDU 6335.Problem D. Nothing is Impossible-思维题 (2018 Multi-University Training Contest 4 1004)
6335.Problem D. Nothing is Impossible
题意:给你n道题目,m个人,每题有x个正确选项,y个错误选项,问你做对题数量最多的人做对了多少道题目。
如果一道题有y个错误选项,那么我需要至少y+1个人才能保证一定有一个人做对了这道题目,所以题面上给的正确选项的数量x并没有什么实质性的作用。。。
假设第一题错误选项有y1个,第二题错误选项有y2个,那么怎么才能保证至少有一个人两道题目都做对了呢?
首先我需要至少y1+1个人才能保证一定有一个人做对了第一题,那么,我在做第二题的时候,我先让y1+1个人选了第一题,然后让他们都去选第二题的第一个错误选项,那么有一个人一定做对了一道题(第一题),然后我再让y1+1个人选了第一题之后都去选第二题的第二个错误选项,那么这y1+1个人里面也是一定有一个人做对了一道题,直到我把第二题的所有错误选项都让人选完之后,再来y1+1个人,我才能保证一定会有一个人两道题目都做对了,OK不?所以要保证一定有一个人两道题目都做对了,我需要(y1+1)*(y2+1)个人,才能保证一定有一个人两道题目都做对了。所以按照这个思路,一直到做第i个题目的时候,一定有一个人这I道题目都做对了,因为我需要最优情况,所以错误选项数量少的才能保证我做对的题目数量会多一些,所以直接对错误选项的数量进行排序,从小到大,就可以得到最多的做对题的数量。
语文不好,不知道解释的清不清楚。
官方题解:
直接代码吧:
//1004-6335-思维题
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<algorithm>
#include<queue>
#include<cassert>
using namespace std;
typedef long long ll;
const int maxn=+; int a[maxn]; int main()
{
int t;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d%d",&n,&m);
memset(a,,sizeof(a));
for(int i=;i<=n;i++){
int x,y;
scanf("%d%d",&x,&y);
a[i]=y+;
}
sort(a+,a++n);
ll sum=;int ans=;
for(int i=;i<=n;i++){
sum*=a[i];
if(sum<m) ans++;
else break;
}
printf("%d\n",ans);
}
}
心情不爽,就这样。
HDU 6335.Problem D. Nothing is Impossible-思维题 (2018 Multi-University Training Contest 4 1004)的更多相关文章
- hdu 6301 Distinct Values (2018 Multi-University Training Contest 1 1004)
Distinct Values Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- HDU 6322.Problem D. Euler Function -欧拉函数水题(假的数论题 ̄▽ ̄) (2018 Multi-University Training Contest 3 1004)
6322.Problem D. Euler Function 题意就是找欧拉函数为合数的第n个数是什么. 欧拉函数从1到50打个表,发现规律,然后勇敢的水一下就过了. 官方题解: 代码: //1004 ...
- ZOJ 4060 - Flippy Sequence - [思维题][2018 ACM-ICPC Asia Qingdao Regional Problem C]
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4060 题意: 给出两个 $0,1$ 字符串 $S,T$,现在你有 ...
- Problem C Emergency Evacuation 一道思维题
题目描述 输入 输出 样例 样例输入 样例输入一 样例输入二 样例输出 样例输出一 9 样例输出二 1008 一句话题意:给你一个车厢和一些人,这些人都坐在座位上,求这些人全部出去的时间最小值. 分析 ...
- hdu 3461 Code Lock(并查集)2010 ACM-ICPC Multi-University Training Contest(3)
想不到这还可以用并查集解,不过后来证明确实可以…… 题意也有些难理解—— 给你一个锁,这个所由n个字母组成,然后这个锁有m个区间,每次可以对一个区间进行操作,并且区间中的所有字母要同时操作.每次操作可 ...
- 2019 Multi-University Training Contest 1 - 1004 - Vacation - 二分 - 思维
http://acm.hdu.edu.cn/showproblem.php?pid=6581 一开始想了好几个假算法.但是启发了一下潘哥,假如时间知道的话就可以从头开始确定各个车的位置.那么直接 \( ...
- hdu 2818 Building Block(加权并查集)2009 Multi-University Training Contest 1
题意: 一共有30000个箱子,刚开始时都是分开放置的.接下来会有两种操作: 1. M x y,表示把x箱子所在的一摞放到y箱子那一摞上. 2. C y,表示询问y下方有多少个箱子. 输入: 首行输入 ...
- hdu 3047 Zjnu Stadium(加权并查集)2009 Multi-University Training Contest 14
题意: 有一个运动场,运动场的坐席是环形的,有1~300共300列座位,每列按有无限个座位计算T_T. 输入: 有多组输入样例,每组样例首行包含两个正整数n, m.分别表示共有n个人,m次操作. 接下 ...
- hdu 3938 Portal(并查集+离线+kruskal)2011 Multi-University Training Contest 10
搜了题解才把题搞明白.明白之后发现其实题意很清晰,解题思路也很清晰,只是题目表述的很不清晰…… 大意如下—— 给你一个无向图,图中任意两点的距离是两点间所有路径上的某一条边,这条边需要满足两个条件:1 ...
随机推荐
- background 背景图铺满界面
background <body background="/image/1.png" style=" background-repeat:no-repeat ; b ...
- P2066 机器分配
题目背景 无 题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15 ...
- fzu 2246(ac 自动机)
fzu 2246(ac 自动机) 题意: 某一天YellowStar学习了AC自动机,可以解决多模式匹配问题.YellowStart当然不会满足于此,它想进行更深入的研究. YellowStart有一 ...
- 洛谷P4589 [TJOI2018]智力竞赛 【floyd + 二分 + KM】
题目链接 洛谷P4589 题意可能不清,就是给出一个带权有向图,选出\(n + 1\)条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 题解 如果要问全部覆盖,就是经典的可重点的DA ...
- 洛谷 P1268 树的重量 解题报告
P1268 树的重量 题目描述 树可以用来表示物种之间的进化关系.一棵"进化树"是一个带边权的树,其叶节点表示一个物种,两个叶节点之间的距离表示两个物种的差异.现在,一个重要的问题 ...
- 无人值守安装linux系统
需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP KickStart是一种无人职守安装方式 执行 PXE + KickStart安装需要准备内容: • DHCP 服务 ...
- Sencha touch中Ext.List的使用及高度自适应
最近在做 Sencha 的一个项目,需要用到 Ext.List 来列出所需商品及相关信息,平时我们使用 Ext.List 都是使用 fullscreen:true 来设置 List 全屏显示, 但 ...
- C#网络编程基本字段---IPAddress、IPEndPoint
命名空间: using System.Net; PAddress类提供了对IP地址的转换.处理等功能.其Parse方法可将IP地址字符串转换为IPAddress实例. 如:IPAddress ip = ...
- JetbrainsCrack
http://blog.csdn.net/lcyong_/article/details/61205672 http://blog.csdn.net/nn_jbrs/article/details/7 ...
- Android 性能优化 - 详解内存优化的来龙去脉
前言 APP内存的使用,是评价一款应用性能高低的一个重要指标.虽然现在智能手机的内存越来越大,但是一个好的应用应该将效率发挥到极致,精益求精. 这一篇中我们将着重介绍Android的内存优化.本文的篇 ...