【6.28校内test】T2 【音乐会】二重变革
T2其实是一道数学题,因为你看:
2MB??一共就可以存下个int,然鹅再看数据范围:
那么大是稳稳的不是TLE就是MLE了,所以肯定是数学题,而且是只需要存很少数据的数学题。所以我们也不知道该怎么办了,然后lz日常开始考场上的打表找规律:
样例#1: 样例#2:但是现在看并没有什么规律可言,然后我们在自己搞几个数据试试:
我们发现,x在减完后最后都会变成一样的数,这个数有什么规律呢?定睛一看,其实是输入的所有x的最大公约数!
偷走wz证明:
所以我们就可以大胆猜想了:求出x1~xn的最大公约数,然后*n就是答案(当然确实是这样的),求最大公约数,可以用gcd来求:
int gcd(int a,int b){
if(b==) return a;
return gcd(b,a%b);
}
然后我们也不必把所有的x都存下来,只需要记录一个x,以及当前所有输入了的x的最大公约数gcdd就可以啦(然后悄咪咪的小优化:当gcdd=1时就可以不用往下求了,不过好像并快不了几毫秒)
CODE:
#include<bits/stdc++.h> using namespace std; inline int read(){
int ans=;
char last,ch=getchar();
while(ch<''||ch>'') last=ch,ch=getchar();
while(ch>=''&&ch<='') ans=(ans<<)+(ans<<)+ch-'',ch=getchar();
if(last=='-') ans=-ans;
return ans;
} int n,x,gcdd;
long long ans; int gcd(int a,int b){
if(b==) return a;
return gcd(b,a%b);
} int main(){
n=read();
for(int i=;i<=n;i++){
x=read();
gcdd=gcd(gcdd,x);
if(gcdd==) break;
}
ans=gcdd*n;
printf("%lld",ans);
return ;
}
end-
【6.28校内test】T2 【音乐会】二重变革的更多相关文章
- 2019.6.28 校内测试 T2 【音乐会】二重变革
看到这个题之后,一个很暴力很直接的想法就是贴上题目中的代码然后交上去走人,但是很显然这是会TLE+MLE的,想想谁会这么傻把主要代码给你QwQ~: 其实这段代码是想告诉你一件事:用序列中的大数减去小数 ...
- T83310 【音乐会】二重变革
T83310 [音乐会]二重变革 题解 你看数据那么大,又是一道数学题 题面描述这么个代码肯定不能傻fufu的直接把代码提交上去 我批评我自己 观察代码当中有一行 也就是说明最后这个数列都将变成同一个 ...
- 【6.28校内test】T3 【音乐会】道路千万条
[音乐会]道路千万条[题目链接] 首先,你可以忽略上面的一大坨题面,只需要看说明的那一小部分就好啦. 然后理解题意: 就是说我们要给这n-1个运算符指定一个顺序,统计所有值为true的方案数pt,统计 ...
- 2019.6.28 校内测试 T4 【音乐会】达拉崩吧·上
考试的一道附加题~ 一看题目描述:把区间[l,r]里每个数异或上x,求区间[l,r]里所有数的异或和,这明显的要用数据结构或RMQ吧. 恩,所以正解就是线段树啦,至于树状数组行与否,不知道~ wate ...
- 2019.6.28 校内测试 T3 【音乐会】道路千万条
大眼一看最下面的题意解释的话,发现这和洛谷P1310表达式的值挺像的,大概都是给定一些运算符号,让最后的表达式为true的概率,为false的概率啥的QwQ~: 然后这个题嘛?就是在所有的运算符中提溜 ...
- 【8.28校内测试】【区间DP】
感受到了生活的艰辛QAQ...这才是真正的爆锤啊...(因为t1t3还没有理解所以只能贴t2叻QAQ 区间DP...爆哭把题理解错了,以为随着拿的东西越来越多,断点也会越来越多,出现可以选很多的情况Q ...
- 18清明校内测试T2
一道数论好题(math) Time Limit:1000ms Memory Limit:128MB 题目描述 rsy最近在研究欧几里得算法,不会的同学可以去看下课件以及代码…… 现在她想到了一个新 ...
- 2019.7.9 校内测试 T2 极值问题
这一次是交流测试?边交流边测试(滑稽 极值问题 乍一看这是一道数学题,因为1e9的数据让我暴力的心退却. 数学又不好,不会化简式子嘞,咋办? 不怕,咱会打表找规律.(考场上真的是打表找出了规律,打表打 ...
- 2019.6.28 校内测试 T1 Jelly的难题1
这题面有点难理解,建议直接跳到题意解释那一部分(虽然我觉得解释的不大对,但按照解释来做确实能AC): 按照“题意解释”的思路来思考这个题,那么就十分的简单了: 1.首先要读入这个字符矩阵,可以用cin ...
随机推荐
- Spring后台,通过name取值
表单中,有同名控件(text/hidden/checkbox.......)的情况下,采用getParameterValues("name"):String[] 表单中,只有一个n ...
- 数组翻转的方法(java实现)
数组翻转的方法(java实现),所谓数组翻转,就是将数组倒置,例如原数组为:{"a","b","c","d"},那么翻转 ...
- MessagePack Java 0.6.X 快速开始指南 - 安装
0.6.x 版本的 MessagePack 已经过期被淘汰了.如果你现在开始使用 MessagePack 话,请不要使用这个版本. 我们再这里保留 0.6.x 版本的内容主要用于参考用途. 最新的 M ...
- [shell]管道连接的命令判断返回值
场景: 在bash执行管道连接的命令,需要获取到各个命令的返回值用于判断 在脚本中我们可能需要将执行结果打印到屏幕,同时保存在文件中供后面分析用,写出如下的命令 command 2>&1 ...
- JS框架_(Typed.js)彩色霓虹灯发光文字动画
百度云盘 传送门 密码:8oei 发光文字动画效果: <!doctype html> <html> <head> <meta charset="ut ...
- PyCharm将main.py解析成text文件的解决方法
问题:PyCharm将main.py解释成文本文件,没有代码提示,也无法执行 解决方法:File->Settings->Editor->File Types ->选则Text ...
- LinkedList类源码浅析(二)
1.上一节介绍了LinkedList的几个基本的方法,其他方法类似,就不一一介绍: 现在再来看一个删除的方法:remove(Object o) remove方法接受一个Object参数,这里需要对参数 ...
- 第八周学习总结&实验报告六
实验总结 :类的继承 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 : 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异 ...
- 为Windows编译libobjc2(通过交叉编译的方式)
前提:Linux系统.git.clang-8.g++-mingw-w64-x86-64.gobjc++-mingw-w64-x86-64. 一.下载源代码 git clone https://gith ...
- git解决二进制文件冲突
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/karizhang/article/details/50378253 1.冲突的产生 当我们向远程 ...