P2303 [SDOi2012]Longge的问题 题目背景 SDOi2012 题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数\(N\),你需要求出\(\sum gcd(i, N)(1<=i <=N)\). 输入输出格式 输入格式: 一个整数,为N. 输出格式: 一个整数,为所求的答案. 说明 对于60%的数据,0<N<=2^16 对于100%的数据,0<N<=2^32 问题很简短求\(\sum_{i=1}^n g…
这是我在洛谷上的第一篇题解!!!!!!!! 这个其实很简单的 我是一只卡在了结束条件这里所以一直听取WA声一片,详细解释代码里见 #include<iostream> #include<cstdio> #include<cstring> #include<iomanip> #include<algorithm> using namespace std; ][];//霸气的开始潇洒自信 ; ,m=-; void ac(int x,int y) {…
必须得说,这是一道难题(尤其对于我这样普及组205分的蒟蒻) 提交结果(NOIP2016 天天爱跑步): OJ名 编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间 LibreOJ #141034 #2359. 「NOIP2016」天天爱跑步 Accepted 100 2454 ms 72492 KiB C++ / 6.3 K hkxadpall 2018-07-28 16:12:23 Vijos 5b5c3486d3d8a169f1b83bb0  P2004 天天爱跑步…
题目链接 https://www.luogu.org/problemnew/show/P4314 https://www.lydsy.com/JudgeOnline/problem.php?id=3064 分析 其实我是在看吉司机线段树课件时看到这题很感兴趣就跑过来做 显然如果数据小一点可以用分块什么的比较好搞 但是这个数据范围可能用\(log N\)的数据结构更舒服一点 怎么搞呢?请阅读国家集训队2016论文集之<区间最值操作与历史最值问题--杭州学军中学 吉如一>,对,就是我们敬爱可亲的吉…
题目传送门:链接. 能自己推出正确的式子的感觉真的很好! 题意简述: 求\(\sum_{i=1}^{n}gcd(i,n)\).\(n\leq 2^{32}\). 题解: 我们开始化简式子: \(\sum_{i=1}^{n}gcd(i,n)\) \(=\sum_{j=1}^{n}\left(j\times\sum_{i=1}^{n}\left[gcd(i,n)=j\right]\right)\) \(=\sum_{j=1}^{n}\left(j\times\sum_{i=1}^{n}\left[g…
题目背景 SDOi2012 题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出∑gcd(i, N)(1<=i <=N). 输入输出格式 输入格式: 一个整数,为N. 输出格式: 一个整数,为所求的答案. 输入输出样例 输入样例#1: 6 输出样例#1: 15 说明 对于60%的数据,0 #include<stdio.h> #include<math.h> typedef long long ll; ll…
看懂了题解,太妙了TT但是想解释的话可能要很多数学公式打起来太麻烦了TT所以我就先只放代码具体推演的过程我先写在纸上然后拍下来做成图片放上来算辣quq 好的那我先滚去做题了做完这题就把题解放上来.因为这种数论题目重点就在于推结论的过程所以我想着就过个一两天再来推如果还是能思路很清晰地推出来就说明确实掌握了quq…
同步题解 题目翻译(可能有童鞋没读懂题面上的翻译) 给你三张牌0,1,2. 最初选一张,然后依次进行n次交换,交换规则为:中间一张和左边的一张,中间一张和右边一张,中间一张和左边一张...... 最后问牌x在哪个位置. OK懂了吗?这就是样例中两个数的来历QAQ. 然后我们来找找规律: 我们可以发现:0,1,2这三个数可以经过变化变成如下的情况: {0,1,2},{1,0,2},{1,2,0},{2,1,0},{2,0,1},{0,2,1}, //上为六种情况. {0,1,2} //最后一个循环…
同步题解 题目 好吧,来说说思路: 1.先读入啦~(≧▽≦)/~啦啦啦 2.判断a[i]赛前赛后是否同分数,如果分数不同,则输出,return 0 . 3.如果同分数,则判断a[i]赛前(或赛后)是否小于a[i+1]赛前(或赛后).其实只要比较一个,想一想,为什么? 4.如果不满足第3步,则标记为maybe,但只要第3步满足过一次,则不执行第4步. 过程讲完了,上代码!(步骤见注释) #include<bits/stdc++.h> #define reg register #define in…
蒟蒻发题解了 说明:此题我用的方法为桶排(我翻了翻有人用了桶排只不过很难看出来,可能有些重复的,这个题只是作为一个专门的桶排来讲解吧) (不会算抄袭吧 ‘QWaWQ’) 简单来说(会的人跳过就行): 桶排就是开两个数组,其中一个用来输入以及存储样例数列,另一个用来排序: 排序方法:(我用的第二个数组为b数组) b[a[i]]=a[i]b[a[i]]=a[i] 核心代码(我认为的),先翻译一下:b数组为存储的那个桶,在b数组中第a[i]项的值为a[i]的值, 这样等到下一个a[i]与b[a[i]]…