PKU2018校赛 H题 Safe Upper Bound
http://poj.openjudge.cn/practice/C18H
题目
算平均数用到公式\[\bar{x}=\frac{x_1+x_2+x_3+\cdots+x_n}{n}\]
但如果用int型计算,那么\(x_1+x_2+x_3+\cdots+x_n\)可能会超过\(2^{31}-1\)
算6个数的平均数可以这么算
Calculate the average of\(x_1,x_2,x_3\)
\[\bar{x}_1=\frac{x_1+x_2+x_3}{3}\]
Calculate the average of\(x_4,x_5,x_6\)
\[\bar{x}_2=\frac{x_4+x_5+x_6}{3}\]
Calculate the average of\(\bar{x}_1,\bar{x}_2\)
\[\bar{x}=\frac{\bar{x}_1+\bar{x}_2}{2}\]
In this way, as you can see, we actually add up at most $3$ integers at one time, instead of adding all the $6$ integers together. Therefore, as long as all the integers are not greater than \(\left\lfloor {\left( {{2^{31}} - 1} \right)/3} \right\rfloor \), we are not at risk of getting an overflow result. Thus, we call the value $71582782$ the Safe Upper Bound of $6$.
输入N,输出N的安全上界
题解
某日无聊翻openjudge的poj队伍,发现了PKU的校赛,想找一道最简单的题满足虚荣心:(
看了好久没看懂在干什么,看样例用计算器猜是$2^{31}-1$除以N的最大素因子
数论不行:(
照着书抄了个Pollard Rho+Miller-Rabin算法 TLE(其实根本就不知道复杂度
于是尝试Eratosthenes线性筛……可是需要开的数组太大……貌似无解了
其实还是自己太菜:(
为什么可以这么做呢……猜可能和这个过程有关
\[\left\lfloor {\frac{{a + b}}{2}} \right\rfloor = \frac{{a + b}}{2} - \frac{{\left( {a + b} \right)\% 2}}{2}\]
\[\left\lfloor {\frac{{c + d}}{2}} \right\rfloor = \frac{{c + d}}{2} - \frac{{\left( {c + d} \right)\% 2}}{2}\]
\[\left\lfloor {\frac{{a + b}}{2}} \right\rfloor + \left\lfloor {\frac{{c + d}}{2}} \right\rfloor = \frac{{a + b + c + d}}{2} - \frac{{a\% 2 + b\% 2 + c\% 2 + d\% 2}}{2}\]
\[\left\lfloor {\frac{{\left\lfloor {\frac{{a + b}}{2}} \right\rfloor + \left\lfloor {\frac{{c + d}}{2}} \right\rfloor }}{2}} \right\rfloor = \frac{{a + b + c + d}}{4} - \frac{{a\% 2 + b\% 2 + c\% 2 + d\% 2}}{4}\]
至于\(\frac{{a\% 2 + b\% 2 + c\% 2 + d\% 2}}{4}\)是否等于\({\left( {a + b + c + d} \right)\% 4}\)
我还是菜鸟,等以后变强了再看看……推广也只有以后了
空间问题抄了UESTC大神的代码
https://vjudge.net/solution/15934751
看了以后感觉自己真的太菜了:(
这差距不是一点啊……还得加油
PKU2018校赛 H题 Safe Upper Bound的更多相关文章
- 2013年省赛H题
2013年省赛H题你不能每次都快速幂算A^x,优化就是预处理,把10^9预处理成10^5和10^4.想法真的是非常巧妙啊N=100000构造两个数组,f1[N],间隔为Af2[1e4]间隔为A^N,中 ...
- 2018WFU校赛B题
我们在ACM的题目中已经了解了什么是ACM了,ACM还是很残酷的了(ಥ _ ಥ),那么现在你就要解决一个ACM最简单的题了,简单到省赛和区域赛都不会出这种简单的题.ls很强,即使每年都在ACM这个大坑 ...
- 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 H题 Rock Paper Scissors Lizard Spock.(FFT字符串匹配)
2018 ACM-ICPC 中国大学生程序设计竞赛线上赛:https://www.jisuanke.com/contest/1227 题目链接:https://nanti.jisuanke.com/t ...
- HDUOJ-------2493Timer(数学 2008北京现场赛H题)
Timer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- Sdut 2409 The Best Seat in ACM Contest(山东省第三届ACM省赛 H 题)(模拟)
题目描述 Cainiao is a university student who loves ACM contest very much. It is a festival for him once ...
- 2017CCPC中南地区赛 H题(最长路)
题目地址:202.197.224.59/OnlineJudge2/ 来自湘潭大学OJ. 这里用到了一个树的直径(树中的最长边)的结论:当你找到一棵树的最长边后,这个树中所有点的最长边必定和这条边的两个 ...
- 牛客网 2018年东北农业大学春季校赛 L题 wyh的天鹅
链接:https://www.nowcoder.com/acm/contest/93/L来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288 ...
- 上海高校金马五校赛 F题:1 + 2 = 3?
链接:https://www.nowcoder.com/acm/contest/91/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言26214 ...
- ACM-ICPC 2018青岛网络赛-H题 Traveling on the Axis
题目:略(不知道怎么从ZOJ搬题) 地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4054 把这题的每个点分成两种情况 ...
随机推荐
- 警告:Establishing SSL connection without server's identity verification is not recommended
SpringBoot启东时红色警告: Mon Jun 04 00:53:48 CST 2018 WARN: Establishing SSL connection without server's i ...
- 【C#复习总结】探究各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字
前言 先普及一下线程安全和类型安全 线程安全: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的 ...
- Python实现将爱词霸每日一句定时推送至微信
前言 前几天在网上看到一篇文章<教你用微信每天给女票说晚安>,感觉很神奇的样子,随后研究了一下,构思的确是巧妙.好,那就开始动工吧!服务器有了,Python环境有了,IDE打开了...然而 ...
- mysql自增id超大问题查询
引言 小A正在balabala写代码呢,DBA小B突然发来了一条消息,"快看看你的用户特定信息表T,里面的主键,也就是自增id,都到16亿了,这才多久,在这样下去过不了多久主键就要超出范围了 ...
- Spring如何加载log4j配置文件
今天有朋友在群里问了这个问题,于是写了这篇文章进行整理. 问题如下: 在项目中添加了log4j.properties配置文件,并没有在Spring配置文件中配置,也没有在web.xml中配置,但是代码 ...
- Beta阶段团队成员贡献分分配规则
Beta阶段团队成员贡献分分配规则 Alpha阶段贡献分分配有些负责,在这里进行一些修改: 对任务完成得分部分进行了简化 对发现bug的惩罚措施进行了修改 移除了优化得分,不鼓励修改他人代码 移除了帮 ...
- python之subprocess模块详解--小白博客
subprocess模块 subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码.这个模 ...
- Summer sell-off CodeForces - 810B (排序后贪心)
Summer holidays! Someone is going on trips, someone is visiting grandparents, but someone is trying ...
- JS典记
var href = ""; //遍历a标签 $ ( "a"). each (function () { href = ...
- C#设计模式之5:简单工厂和工厂方法模式
工厂模式包含三种,简单工厂模式,工厂方法模式,抽象工厂模式.这三种都是解决了一个问题,那就是对象的创建问题.他们的职责就是将对象的创建和对象的使用分离开来. 当我们创建对象的时候,总是会new一个对象 ...