CSU-ACM寒假集训选拔-入门题

仅选择部分有价值的题

J(2165): 时间旅行

Description

假设 Bobo 位于时间轴(数轴)上 t0 点,他要使用时间机器回到区间 (0, h] 中。

当 Bobo 位于时间轴上 t 点,同时时间机器有 c 单位燃料时,他可以选择一个满足 \(\lceil\frac{x}{h}\rceil\leq c\) 的非负整数 x, 那么时间机器会在 [0, x]中随机整数 y,使 Bobo 回到 (t − y) 点,同时消耗 y 单位燃料。 (其中 ⌈ ⋅ ⌉ 表示上取整)

因为时间机器的随机性,对于给出的参数 h 和时间机器剩余燃料 c,Bobo 想知道能够保证回到区间 (0, h] 中的 $ t_0 $ 的最大值。

  • 1 ≤ h ≤ \(10^9\)
  • 0 ≤ c ≤ \(10^9\)
  • 数据组数不超过 \(10^5\).

Input

输入文件包含多组数据,请处理到文件结束。

每组数据包含 2 个整数 hc.

Output

对于每组数据输出 1 个整数表示 t0 的最大值。

Sample Input

100 99
100 100
100 149

Sample Output

100
101
150

Hint

对于第一组样例,因为剩余燃料 c = 99 < 100,Bobo 只能选择 x = 0,从而 y = 0。所以当 \(t_0\) > h = 100 时,Bobo 一定无法回到目标区间。

对于第二组样例,当 \(t_0\) = 102 时,选择 x = 2,可能随机到 y = 1,此时位于 t = 101,燃料 c = 99,任务失败。所以 \(t_0\) < 102.


题解

要运动到(0, h]内需要消耗燃料(t - h),当燃料恰好为h - 1时无法继续移动,即c - (t - h) = h - 1, t = c + 1, 注意c < h时答案为h

#include<bits/stdc++.h>
using namespace std;
int main() {
int h1, c1;
while (scanf("%d%d", &h1, &c1) != EOF) {
if (h1 > c1) printf("%d\n", h1);
else printf("%d\n", c1 + 1);
}
return 0;
}

Q(2223): 喜闻乐见的24点

Description

24点是个众所周知的游戏,它的规则具体如下

{ 拿一副牌,抽去大小王后,剩下1~10这40张牌(以下用1代替A)。任意抽取4张牌(称为牌组),用加、减、乘、除把牌面上的数算成24。每张牌必须用且只能用一次。如抽出的牌是3、8、8、9,那么算式为(9-8)×8×3=24 }

形式化的说,给你4个大于等于1且小于等于13的正整数,问是否能用加、减、乘、除把这四个数字算成24,每个数字必须用且仅用一次。 如果可以请输出"yes",否则输出"no"(输出时不带引号)

xrdog觉得这个问题过于简单了,所以xrdog决定给你两次替换的机会,每次可以选择四个数字中的某一个并把它替换为[1,13]中的任意一个正整数。

Input

一行四个整数

Output

如果可以把四个数字凑成24请输出"yes",否则输出"no"(输出时不带引号)

Sample Input

1 1 1 1

Sample Output

yes

Hint

样例解释

把一个1变成2,一个1变成6

即有(1+1) * 2 * 6=24


题解

让前两个数大数减小数,可以得到一个[0, 13]内的数,然后通过加减运算任意一个数,必然可以得到一个24的因数,将第四个数修改为另一个因数相乘即可得到24点,恒为yes

S(2225): 喜闻乐见的数学题

Description

从自然数1到n中随机选取m个数字(m<=n),求其中最大数的数学期望是多少?

Input

一行两个整数表示n,m

n<=8,m<=8

Output

一个实数,表示最大数的数学期望,并保留小数点后两位。

Sample Input

4 1

Sample Output

2.50

题解

\[\frac{\sum\limits_{k = m} ^ {n} k C_{k -1} ^ {m - 1}}{C_{n}^{m}}
\]

即从k - 1个数中选m - 1个数,再选k的概率乘以k除以从n个数中选m个数的概率

化简得\(\frac{m(n + 1)}{m + 1}\)

CSU-ACM寒假集训选拔-入门题的更多相关文章

  1. CSU-ACM2018寒假集训选拔-入门题

    [题目链接]:http://vj.bit-studio.cn/contest/205664#overview A: [给你一个长度为n的序列,尾部插入再反转,求n次后最终序列][规律/思维] [分析] ...

  2. 中南大学2019年ACM寒假集训前期训练题集(基础题)

    先写一部分,持续到更新完. A: 寒衣调 Description 男从戎,女守家.一夜,狼烟四起,男战死沙场.从此一道黄泉,两地离别.最后,女终于在等待中老去逝去.逝去的最后是换尽一生等到的相逢和团圆 ...

  3. 中南大学2019年ACM寒假集训前期训练题集(入门题)

    A: 漫无止境的八月 Description 又双叒叕开始漫无止境的八月了,阿虚突然问起长门在这些循环中团长哪几次扎起了马尾,他有多少次抓住了蝉等等问题,长门一共回复n个自然数,每个数均不超过1500 ...

  4. 中南大学2018年ACM暑期集训前期训练题集(入门题) X: 又一道简单题

    简直智障,上一题V题,样例输出里面的“Case:”不要输出,到了这题又是要输出的了 #include<iostream> using namespace std; int num[1000 ...

  5. 中南大学2018年ACM暑期集训前期训练题集(入门题) J : A Simple Problem

    毒瘤哇!为什么要用long long 啊!!!这个题没有加法操作啊,为什么会爆int啊!!!! 思路: http://www.cnblogs.com/buerdepepeqi/p/9048130.ht ...

  6. 中南大学2018年ACM暑期集训前期训练题集(入门题) Q: Simple Line Editor

    数据有毒,一个一个读字符是错,整个字符串读入,一次就A了. 总之,数据总是没有错的,还是对c++了解地不够深刻,还有,在比赛中,一定要有勇气重构代码 错误代码: #include<iostrea ...

  7. 2156: 中南大学2018年ACM暑期集训前期训练题集(入门题) D: 机器人的指令

    不要用gets!不要用gets!不要用gets! 不要用gets!不要用gets!不要用gets! 不要用gets!不要用gets!不要用gets! 不要用gets!不要用gets!不要用gets! ...

  8. hdu 1465:不容易系列之一(递推入门题)

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  9. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

随机推荐

  1. python3基础05(有关日期的使用1)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import timefrom datetime import datetime,timedelta,timez ...

  2. 又一例网卡mtu值引发的问题

    通过php上传文件到云存储,很小的文件都无法上传,在别的服务器上测试可以,本机环境是ESXI虚机安装的centos 7版本 解决思路过程 1.让开发写一个单独测试上传的文件,不调php nginx配置 ...

  3. 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)

    适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.1.0.2 [发行版 11.2 到 12.1]本文档所含信息适用于所有平台 用 ...

  4. 简析平衡树(二)——Treap

    前言 学完了替罪羊树,我决定再去学一学\(Treap\).一直听说\(Treap\)很难,我也花了挺久才学会. 简介 \(Treap\)这个名字真的挺有内涵: \(\color{red}{Tree}\ ...

  5. 2018.6.9 MyEclipse连接Oracle数据库方法及步骤

    在windows栏找到showXXX 然后选择最后一个others 找到Database 然后选择oracle 接着就是jar包的问题了 这个不同于mysql oracle如果装在了本机上面可以在文件 ...

  6. 漫谈 Clustering (3): Gaussian Mixture Model

    上一次我们谈到了用 k-means 进行聚类的方法,这次我们来说一下另一个很流行的算法:Gaussian Mixture Model (GMM).事实上,GMM 和 k-means 很像,不过 GMM ...

  7. js 数组方法大集合,各方法是否改变原有的数组详解

    不会改变原来数组的有: concat()---连接两个或更多的数组,并返回结果. every()---检测数组元素的每个元素是否都符合条件. some()---检测数组元素中是否有元素符合指定条件. ...

  8. C#赋值运算符

    一.C#赋值运算符 C#语言的赋值运算符用于将一个数据赋予一个变量.属性或者引用.数据可以是常量.变量或者表达式. 1. 简单赋值 “=”操作符被称为简单赋值操作符.在一个简单赋值中,右操作数必须为某 ...

  9. el-upload控件一次接口请求上传多个文件

    el-upload组件默认情况下上传多少个文件就会请求多少次上传接口,如何一次上传多个文件而不必多次请求上传接口呢?直接看代码 html <el-upload :action="act ...

  10. 关于union的一些问题

    创建一个测试数据表 CREATE TABLE `temp_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT ...