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 把这题的每个点分成两种情况 ...
随机推荐
- JVM参数配置 java内存区域
java内存区域 一些基本概念 http://www.importnew.com/18694.html https://www.cnblogs.com/wangyayun/p/6557851.html ...
- Redis系列文章总结:ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁
引言:最近回头看了看开发的.Net Core 2.1项目的复盘总结,其中在多处用到Redis实现的分布式锁,虽然在OnResultExecuting方法中做了防止死锁的处理,但在某些场景下还是会发生死 ...
- React组件重构:嵌套+继承 与 高阶组件
前言 在最近做的一个react项目中,遇到了一个比较典型的需要重构的场景:提取两个组件中共同的部分. 最开始通过使用嵌套组件和继承的方式完成了这次重构. 但是后来又用高阶组件重新写了一遍,发现更好一点 ...
- 2018 Multi-University Training Contest 1
比赛链接:2018 Multi-University Training Contest 1 6301 Distinct Values 题意:输出一个长度为n的序列,要求满足m个区间的数都不相同,并且字 ...
- ssh无密码登录多台机器,并让所有远程机执行相同命令
问题集锦 其实标题的内容就是很常见的集群操作,当有一个脚本或者一个命令需要很多个机器同时(或者说接近同时)执行时,就涉及到几个问题: 怎么通知每个主机? 每个主机收到通知后,怎么让主机执行命令? 怎么 ...
- CodeIgniter框架通过URL向控制器传递参数
通过URL传递参数的方法是GET,在CodeIgnter框架中,通过URL有两种方式向控制器传递参数: 一种是键值对的形式. 一种是类似于文件路径的形式,这个时候,不是以键值对的形式了,我们只传递值. ...
- CodeForces Round #550 Div.3
http://codeforces.com/contest/1144 A. Diverse Strings A string is called diverse if it contains cons ...
- HowTos/Virtualization/VirtualBox - CentOS Wiki
https://wiki.centos.org/HowTos/Virtualization/VirtualBox
- 2 JAVA 项目名称前红色叹号如何解决
1 Java 项目前出现红色叹号Eclipse找不到项目需要的JAR包,可以在这里面解决: ① 右键点击项目,选择[Build Path].[Configure Build Path...] ② 在这 ...
- [转帖]中关村:LED屏幕和OLED屏幕有什么区别?答案在这里
LED屏幕和OLED屏幕有什么区别?答案在这里 中关村在线 01-0810:40 目前的电视市场,更新换代的频率越来越快,无论是国产品牌还是合资品牌,都不约而同的推出了全新产品.这离不开人们对更好 ...