hdu - 4974 - A simple water problem(贪心 + 反证)
题意:N个队(N <= 100000),每一个队有个总分ai(ai <= 1000000),每场比赛比赛两方最多各可获得1分,问最少经过了多少场比赛。
题目链接:http://acm.hdu.edu.cn/showproblem.php?
pid=4974
——>>我们应该尽量使每场比赛的得分为1 : 1。这样能够达到最少的比赛场数(不小于单个队伍的分数)。
如果有2场比赛的比分为1 : 0,
1)a : b = 1 : 0,c : d = 1 : 0。这时能够安排a : c = 1 : 1。仅仅需1场就可达到同样的分数。
2)a : b = 1 : 0。a : c = 1 : 0,取另外一场比赛d : e = 1 : 1,这时可安排a : d = 1 : 1,a : e = 1 : 1,仅仅需2场就可达到同样的分数。
因此,没有最多有1场比赛的比分为 1 : 0。其它比赛的比分都为 1 : 1,因此。结果 = max(单个队伍最高分数, (全部分数和 + 1) / 2)。。。(注意范围:10 ^ 5 * 10 ^ 6 > 2 ^ 31 - 1)
virtual contest上提交必须开输入挂才不会TLE。。
hdu题库4974中 scanf 就能够AC。。
#include <cstdio> int ReadInt()
{
int ret = 0;
char ch; while ((ch = getchar()) && ch >= '0' && ch <= '9')
{
ret = ret * 10 + ch - '0';
} return ret;
} int main()
{
int T, N, a, kase = 0; scanf("%d", &T);
getchar(); while (T--)
{
long long sum = 0;
long long ret = 0; N = ReadInt();
while (N--)
{
a = ReadInt();
sum += a;
if (a > ret)
{
ret = a;
}
}
if (sum & 1)
{
sum++;
}
sum >>= 1;
if (sum > ret)
{
ret = sum;
} printf("Case #%d: %I64d\n", ++kase, ret);
} return 0;
}
hdu - 4974 - A simple water problem(贪心 + 反证)的更多相关文章
- HDU 4974 A simple water problem(贪心)
HDU 4974 A simple water problem pid=4974" target="_blank" style="">题目链接 ...
- 2014多校第十场1004 || HDU 4974 A simple water problem
题目链接 题意 : n支队伍,每场两个队伍表演,有可能两个队伍都得一分,也可能其中一个队伍一分,也可能都是0分,每个队伍将参加的场次得到的分数加起来,给你每个队伍最终得分,让你计算至少表演了几场. 思 ...
- HDOJ 4974 A simple water problem
A simple water problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/O ...
- HDU 4976 A simple greedy problem. 贪心+DP
题意: 给定n<=1000个小兵,A每次都能使小兵掉1点血,B每次能使所有小兵掉1点血,A.B轮流攻击,每次轮到A他会选择是否攻击,轮到B必须攻击.求A最多能杀死多少小兵.(当小兵血量为1时被攻 ...
- HDU-4974 A simple water problem
http://acm.hdu.edu.cn/showproblem.php?pid=4974 话说是签到题,我也不懂什么是签到题. A simple water problem Time Limit: ...
- HDU 4978 A simple probability problem
A simple probability problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- HDU 1757 A Simple Math Problem 【矩阵经典7 构造矩阵递推式】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1757 A Simple Math Problem Time Limit: 3000/1000 MS (J ...
- hdu 1757 A Simple Math Problem (乘法矩阵)
A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HDU 1757 A Simple Math Problem (矩阵快速幂)
题目 A Simple Math Problem 解析 矩阵快速幂模板题 构造矩阵 \[\begin{bmatrix}a_0&a_1&a_2&a_3&a_4&a ...
随机推荐
- Action中动态方法的调用 Action中通配符的使用 Result的配置
Action中动态方法的调用 动态方法调用(Dynamic Method Invocation,DMI) 标识符:! 一.通过以下选中的文件来查看是否禁止调用动态方法
- iOS-android-windowsphone等移动终端平台开发流程图
到了公司后,半个月时间就是在熟悉下面这张图里的流程, 项目流程图: 下面是我对这张图的一些理解:
- Selenium2设置隐式等待和显示等待
1. 设置显示等待 Java代码: public static WebElement WaitForElement(WebDriver driver, String locator) { WebEle ...
- mysql 连接失败问题汇集
FHost '192.168.5.128' is not allowed to connect to this MySQL serverConnection closed by foreign hos ...
- 在eclipse中使用vim
转自:http://blog.csdn.net/eplaylity/article/details/6168283 1. vrapper(开源) 直接从eclipse安装即可,地址:http://vr ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(4)——AMD显卡显存管理机制
显卡使用的内存分为两部分,一部分是显卡自带的显存称为VRAM内存,另外一部分是系统主存称为GTT内存(graphics translation table和后面的GART含义相同,都是指显卡的页表,G ...
- 【原创】SSIS-WMI 数据读取器任务:监控物理磁盘空间
1.背景 随着时间的推移,我们的DW会越来越大,也就意味着磁盘空间会越来越小,那如果哪一天留意不当,就会造成磁盘空间的不足而导致ETL失败,最终影响我们的系统的数据正确性和使用,更严重的有可能导致物理 ...
- BZOJ 4589 Hard Nim(FWT加速DP)
题目链接 Hard Nim 设$f[i][j]$表示前$i$个数结束后异或和为$j$的方案数 那么$f[i][j] = f[i-1][j$ $\hat{}$ $k]$,满足$k$为不大于$m$的质数 ...
- 固件分析工具Binwalk
固件分析工具Binwalk 固件是保存在嵌入式设备存储器的程序.它负责设备运行和功能,如路由器等设备.通过分析固件文件,可以了解设备的工作方式,并且确认是否存在漏洞.Binwalk是Kali Li ...
- 解魔方的机器人攻略13 – 安装Lejos(上)
由 动力老男孩 发表于 2009/12/27 16:58:23 Firmware(固件)相当于是机器人的操作系统,乐高NXT出厂时已经内置了一套Firmware,并且配备了非常强大的LabVIEW开发 ...