CF 628A

  题目大意:给定n,b,p,其中n为进行比赛的人数,b为每场进行比赛的每一位运动员需要的水的数量,

       p为整个赛程提供给每位运动员的毛巾数量,

       每次在剩余的n人数中,挑选2^k=m(m <=n)个人进行比赛,剩余的n-m个人直接晋级,

       直至只剩一人为止,问总共需要的水的数量和毛巾的数量

  解题思路:毛巾数很简单: n*p即可

       水的数量:1,2,4,8,16,32,64,128,256,512,提前打成一个表,

       根据当前剩余的人数n在表中二分查找最大的小于等于n的数,结果即为本次进行比赛的人数,记为a[pos]

       根据a[pos]计算相应的水的数量,并用n-a[pos]/2(淘汰人数)以进行下一轮的计算,直至n为1

/* CF 628A --- Tennis Tournament --- 水题 */
#include <cstdio>
#include <algorithm>
using namespace std; int a[] = { , , , , , , , , , }; //在a的{x,y)中查找小于等于key的第一个位置
int BinarySearch(int x, int y, int key){
while (x < y){
int mid = x + (y - x) / ;
if (a[mid] <= key && a[mid + ] > key){
return mid;
}
else if (a[mid] > key){
y = mid;
}
else{
x = mid+;
}
}
return -;
} int main()
{
#ifdef _LOCAL
freopen("D:input.txt", "r", stdin);
#endif
int n, b, p; while (scanf("%d%d%d", &n, &b, &p) == ){
int sum = ;
int t = n;
while (t != ){
//查找当前t个人需要多少人进行比赛
int pos = BinarySearch(, , t); //a[pos]即为比赛人数的 a[pos]/2为裁判数
sum += (a[pos] * b + a[pos] / );
t -= (a[pos] / ); //减去淘汰的a[pos]/2即为剩余人数
}
printf("%d %d\n", sum, n*p);
} return ;
}

       

CF 628A --- Tennis Tournament --- 水题的更多相关文章

  1. CF 628B New Skateboard --- 水题

    CD 628B 题目大意:给定一个数字(<=3*10^5),判断其能被4整除的连续子串有多少个 解题思路:注意一个整除4的性质: 若bc能被4整除,则a1a2a3a4...anbc也一定能被4整 ...

  2. 一道cf水题再加两道紫薯题的感悟

    . 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整 ...

  3. Codeforces CF#628 Education 8 A. Tennis Tournament

    A. Tennis Tournament time limit per test 1 second memory limit per test 256 megabytes input standard ...

  4. 做了一道cf水题

    被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...

  5. CF451C Predict Outcome of the Game 水题

    Codeforces Round #258 (Div. 2) Predict Outcome of the Game C. Predict Outcome of the Game time limit ...

  6. Educational Codeforces Round 8 A. Tennis Tournament 暴力

    A. Tennis Tournament 题目连接: http://www.codeforces.com/contest/628/problem/A Description A tennis tour ...

  7. CF451B Sort the Array 水题

    Codeforces Round #258 (Div. 2) Sort the Array B. Sort the Array time limit per test 1 second memory ...

  8. Codeforces Round #334 (Div. 2) A. Uncowed Forces 水题

    A. Uncowed Forces Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/604/pro ...

  9. SRM 584 第一次玩TopCoder。。。只水题一道。。。

    第一次topcoder,以前老感觉没有资格去做tc,cf什么的,现在已经慢慢接触了. 感觉还可以,还是有让我们这些蒻菜安慰的水题. tc的确很好玩,用客户端比赛,还有各种规则,而且还是只编写一个类提交 ...

随机推荐

  1. 《BI项目笔记》无法解密受保护的 XML 节点“DTS:Password” 解决办法

    说明: 无法解密受保护的 XML 节点“DTS:Password”,错误为 0x8009000B“该项不适于在指定状态下使用.”.可能您无权访问此信息.当发生加密错误时会出现此错误.请确保提供正确的密 ...

  2. HTML基础(1)

    1.前端开发语言介绍 HTML(Hypertext Markup Language)—— 结构—— 超文本标记语言 CSS(Cascading Style Sheets)—— 样式—— 层叠样式表 J ...

  3. 机器学习职位 & 面经

    http://www.cnblogs.com/peileyuan/p/4775453.html <浅谈机器学习的职业发展方向> http://blog.sina.com.cn/s/blog ...

  4. js 过滤script

    function stripscript(s) {      return s.replace(/<script.*?>.*?<\/script>/ig, '');  } 稍微 ...

  5. 鼠标滑过弹出jquery在线客服

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. sqlite数据类型

    sqlite数据类型(时间 日期 double等)     sqlite3支持的数据类型: NULL.INTEGER.REAL.TEXT.BLOB但是,sqlite3也支持如下的数据类型smallin ...

  7. C语言指针

    我是搞java的,今年要找工作,参加笔试就必须要准备一些C/C++.算法.数据结构.操作系统.概率论的东西,浅谈一下我作为初学者对C指针的学习和理解. 一.*p 概念: 申明一个整形指针变量: int ...

  8. logcat的条数设置

    在软件默认设置下,logcat的缓存为1024,即logcat显示的条数有限,给程序的调试带来很大的不便,通过设置 logcat缓存的大小,可以增加logcat显示的条数,将程序调试的输出都可以打印出 ...

  9. iOS开发拓展篇—音频处理(音乐播放器6)

    iOS开发拓展篇—音频处理(音乐播放器6) 一.图片处理 说明: Aspect表示按照原来的宽高比进行缩放. Aspectfit表示按照原来的宽高比缩放,要求看到全部图片,后果是不能完全覆盖窗口,会留 ...

  10. Rhel6-mysql_cluster配置文档

    MySQL Cluster 是一种技术,其主要功能是在无共享的相关系统中部署内存中数据库 的 Cluster .在通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求. 此外,由于每个组 ...