【音乐会】二重变革【题目链接】

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 【音乐会】二重变革的更多相关文章

  1. 2019.6.28 校内测试 T2 【音乐会】二重变革

    看到这个题之后,一个很暴力很直接的想法就是贴上题目中的代码然后交上去走人,但是很显然这是会TLE+MLE的,想想谁会这么傻把主要代码给你QwQ~: 其实这段代码是想告诉你一件事:用序列中的大数减去小数 ...

  2. T83310 【音乐会】二重变革

    T83310 [音乐会]二重变革 题解 你看数据那么大,又是一道数学题 题面描述这么个代码肯定不能傻fufu的直接把代码提交上去 我批评我自己 观察代码当中有一行 也就是说明最后这个数列都将变成同一个 ...

  3. 【6.28校内test】T3 【音乐会】道路千万条

    [音乐会]道路千万条[题目链接] 首先,你可以忽略上面的一大坨题面,只需要看说明的那一小部分就好啦. 然后理解题意: 就是说我们要给这n-1个运算符指定一个顺序,统计所有值为true的方案数pt,统计 ...

  4. 2019.6.28 校内测试 T4 【音乐会】达拉崩吧·上

    考试的一道附加题~ 一看题目描述:把区间[l,r]里每个数异或上x,求区间[l,r]里所有数的异或和,这明显的要用数据结构或RMQ吧. 恩,所以正解就是线段树啦,至于树状数组行与否,不知道~ wate ...

  5. 2019.6.28 校内测试 T3 【音乐会】道路千万条

    大眼一看最下面的题意解释的话,发现这和洛谷P1310表达式的值挺像的,大概都是给定一些运算符号,让最后的表达式为true的概率,为false的概率啥的QwQ~: 然后这个题嘛?就是在所有的运算符中提溜 ...

  6. 【8.28校内测试】【区间DP】

    感受到了生活的艰辛QAQ...这才是真正的爆锤啊...(因为t1t3还没有理解所以只能贴t2叻QAQ 区间DP...爆哭把题理解错了,以为随着拿的东西越来越多,断点也会越来越多,出现可以选很多的情况Q ...

  7. 18清明校内测试T2

    一道数论好题(math) Time Limit:1000ms   Memory Limit:128MB 题目描述 rsy最近在研究欧几里得算法,不会的同学可以去看下课件以及代码…… 现在她想到了一个新 ...

  8. 2019.7.9 校内测试 T2 极值问题

    这一次是交流测试?边交流边测试(滑稽 极值问题 乍一看这是一道数学题,因为1e9的数据让我暴力的心退却. 数学又不好,不会化简式子嘞,咋办? 不怕,咱会打表找规律.(考场上真的是打表找出了规律,打表打 ...

  9. 2019.6.28 校内测试 T1 Jelly的难题1

    这题面有点难理解,建议直接跳到题意解释那一部分(虽然我觉得解释的不大对,但按照解释来做确实能AC): 按照“题意解释”的思路来思考这个题,那么就十分的简单了: 1.首先要读入这个字符矩阵,可以用cin ...

随机推荐

  1. Git 删除本地保存的账号和密码

    使用git在本地拉过一次代码时候git会自动将用户名密码保存到本地. 导致想用别的用户名和密码拉代码时没有权限,这时需要删除或者修改git在本地保存的账户名和密码. 具体办法如下: 1.控制面板--& ...

  2. BeanCopier对象复制学习

    BeanCopier是Cglib包中的一个类,用于对象的复制. 注意:目标对象必须先实例化  而且对象必须要有setter方法 初始化例子:   BeanCopier copier = BeanCop ...

  3. 构建springboot的几种方式 在线构建 STS构建 Idea 内置构建 Maven 构建

    SpringBoot项目的几种创建方式,启动.和访问   最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官 ...

  4. kotlin 简单处理 回调参数 加?

    Kotlin Parameter specified as non-null is null 2017年10月18日 17:21:49 amiko_ 阅读数:9017    版权声明:本文为博主原创文 ...

  5. web长时间不激活 终止用户回话

    参考资料: http://web.jobbole.com/89072/ http://www.cnblogs.com/1175429393wljblog/p/5570606.html http://w ...

  6. 怎样查看explorer里运行的DLL文件

    怎样查看explorer里运行的DLL文件 tasklist /m /fi "imagename eq explorer.exe">a.txt 列出explorer用的所有模 ...

  7. spark 笔记 12: Executor,task最后的归宿

    spark的Executor是执行task的容器.和java的executor概念类似. ===================start executor runs task============ ...

  8. TODO: Java虚拟机 初始化过程

    Java虚拟机 初始化过程: 参考: https://www.cnblogs.com/bhlsheji/p/4017816.html 参考:https://blog.csdn.net/boling_c ...

  9. WPF prism 类、属性和方法的导入和导出

    学习Prism一定要掌握依赖注入的应用,只有了解了Prism的依赖注入才能更好的使用Prism提升应用开发的架构. 首先说明Prism依赖注入有两种方式及MEF和Unity ,在Prism中是两个没有 ...

  10. 阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用

    resources下新建File文件 bean.xml 配置jdbcTemplate 注入DataSource 新建测试方法 复制demo1改个名字叫做demo2 编写Insert的方法