bzoj 4815: [Cqoi2017]小Q的表格 [数论]】的更多相关文章

4815: [Cqoi2017]小Q的表格 题意: 单点修改,查询前缀正方形和.修改后要求满足条件f(a,b)=f(b,a), b×f(a,a+b)=(a+b)*f(a,b) 一开始sb了认为一次只会改动两三个格子想了个cdq分治做法... 一次会影响很多格子... 经过观察以及\((a,b)=(a,a-b)=(a,a+b)\)发现,每次修改影响所有\((i,j)=(a,b)\)的点对,并且关系为\(f(i,j)=\frac{i}{a}\frac{j}{b} f(a,b)\) 我们可以只记录\(…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4815 题意概述:要认真概述的话这个题就出来了... 分析: 首先分析题目,认真研究一下修改操作,想到一个问题:满足什么样的条件的格子会互相影响? 看到式子,一想,这正是辗转相除?迅速意识到行列的gcd相同的格子会互相影响. 然后我们再利用一下系数的关系,把式子变成f(a,a+b)/(a+b)=f(a,b)/b,发现当行相同的时候格子之间的值与所处列数成正比关系,因为题目保证了f(a,b…
参考:http://blog.csdn.net/qq_33229466/article/details/70174227 看这个等式的形式就像高精gcd嘛-所以随便算一下就发现每次修改(a,b)影响到的都是横纵坐标gcd为gcd(a,b)的,进而发现可以把gcd(i,j)==d的一部分都归到d上,f(a,b)=f(d,d)ab/d/d ,这样二维就变成一维了,设为f. 然后答案就是: \[ ans=\sum_{d=1}^{k}f(d)\sum_{i=1}^{k}\sum_{j=1}^{k}[gc…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4815 大概就是推式子的时候注意有两个边界都是 n ,考虑变成 2*... 之类的. 分块维护 f[ ] 的前缀和.很好的思路是修改一个位置后前缀和数组需要区间加,整块地打上加法标记就行了. 自己本来想维护整块之间的前缀和,还有块内的前缀和:却WA得不行.之后再探究为什么WA吧. #include<cstdio> #include<cstring> #include<al…
把式子化简一波. 发现一个比较厉害的性质:每个点只能影响到行列下标$gcd$与它相同的点. 然后就可以计算$\sum_{g<=k}f(g,g)*\sum_{i<=k}\sum_{j<=k}[gcd(i,j)==g](i/g)*(i/g)$ 然后考虑它的意义,直接发现计算出$i*i*\phi(i)$的前缀和就可以下界函数分块计算了. 这样子还是过不了.考虑修改次数比较少,考虑分块维护,就可以$O(1)$查询了. 复杂度$m\sqrt {n}$ #include <map> #i…
题目描述 小Q是个程序员. 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理.每当小Q不知道如何解决时,就只好向你求助. 为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号.为了完成任务,表格里面每个格子都填了一个整数,为了方便描述,小Q把第a行第b列的整数记为f(a,b).为了完成任务,这个表格要满足一些条件: (1)对任意的正整数a,b,都要满足f(a,b)=f(b,a): (2)对任意的正整数a,b,都要满足b×f(a,a+b)…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4815 题目中所给条件中的$(a,a+b)$和$(a,b)$的关系很瞩目. 然后大家都知道$(a,b)=(a,a-b)=(a,a+b)$,于是观察(猜)一下这个表格与gcd的关系. 可以发现每次修改$(a,b)$会影响到所有$(i,j)=(a,b)$的点,并且关系为$$f(i,j)=\frac{i}{a}*\frac{j}{b}*f(a,b)$$ 所以只需要知道$f(d,d)$的值记为$f…
(Updated 2018.04.28 : 发现公式效果不好,重新处理图片)国际惯例的题面:看到这两个公式,很多人都会想到与gcd有关.没错,最终的结论就是f(a,b)=f(gcd(a,b))*(a/gcd(a,b))*(b/gcd(a,b)).然而结论只能猜出来是不行的,我们考虑如何证明他.网上很多大神的构造性证明已经很清楚了,然而我太菜,不会构造,让我们来一发非构造性证明. 由于: 我们设x=a+b,则b=x-a,显然我们有前提条件x≠a.用x替换b,得: 我们移项,得: 如果x≥2*a,我…
4815: [Cqoi2017]小Q的表格 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 832  Solved: 342[Submit][Status][Discuss] Description 小Q是个程序员. 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理.每当小Q不知道如何解决 时,就只好向你求助.为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号. 为了完成任务,表格里面每…
[BZOJ4815][CQOI2017]小Q的表格(莫比乌斯反演,分块) 题面 BZOJ 洛谷 题解 神仙题啊. 首先\(f(a,b)=f(b,a)\)告诉我们矩阵只要算一半就好了. 接下来是\(b*f(a,a+b)=(a+b)*f(a,b)\) 这个式子怎么看呢? \[\begin{aligned}b*f(a,a+b)&=(a+b)*f(a,b)\\\frac{f(a,a+b)}{a+b}&=\frac{f(a,b)}{b}\\\frac{f(a,a+b)}{a*(a+b)}&=…