Description 小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,都要 满…
洛谷题面传送门 又是一道需要一些观察的数论 hot tea-- 注意到题目中 \(b·f(a,a+b)=(a+b)·f(a,b)\) 这个柿子长得有点像求解 \(\gcd\) 的辗转相除法,因此考虑从这方面入手解决这道题,不难发现对于两个数 \((a,b)\),通过辗转相除法咱们总可以得到 \(f(\gcd(a,b),\gcd(a,b))\) 处.那么我们考虑归纳求出 \(f(a,b)\) 是个什么东西,记 \(d=\gcd(a,b)\),由于我们不管怎么辗转相除都只能除到 \(f(d,d)\)…
洛咕 P3700 [CQOI2017]小Q的表格 神仙题orz 首先推一下给的两个式子中的第二个 \(b\cdot F(a,a+b)=(a+b)\cdot F(a,b)\) 先简单的想,\(F(a,a+b)\)和\(F(a,b)\)会相互影响 可以换一种角度想,\(F(a,b-a)\)和\(F(a,b)\)会相互影响\((b>a)\) 那么可以从\(F(x,y)\)一路推下去 \(F(x,y)=F(x,y-x)=F(x,y-2x)=\cdots=F(x,y\mod x)\) (注意这里的\(\t…
P3698 [CQOI2017]小Q的棋盘 题目描述 小 Q 正在设计一种棋类游戏. 在小 Q 设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移动.整个棋盘上共有 V 个格点,编号为0,1,2 - , V− 1,它们是连通的,也就是说棋子从任意格点出发,总能到达所有的格点.小 Q 在设计棋盘时,还保证棋子从一个格点移动到另外任一格点的路径是唯一的. 小 Q 现在想知道,当棋子从格点 0 出发,移动 N 步最多能经过多少格点.格点可以重复经过多次,但不重复…
BZOJ原题链接 洛谷原题链接 贪心或树形\(DP\)都可做,但显然\(DP\)式子不好推(因为我太菜了),所以我选择贪心. 很显然从根出发主干走最长链是最优的,而剩下的点每个都需要走两步,所以用除去走最长链的步数的剩余步数除\(2\)(下取整)就是剩余能走的点数. #include<cstdio> using namespace std; const int N = 110; const int M = N << 1; int fi[N], di[M], ne[M], de[N]…
传送门 考虑一个贪心,先在根节点周围转一圈,然后再往下走最长链肯定是最优的 然后设最长链的长度为$d$,如果$m\leq d$,那么答案为$m+1$ 否则的话还剩下$m-d+1$步,又得保证能走回来,所以答案为$min\{n,d+\frac{m-d+1}{2}\}$ //minamoto #include<iostream> #include<cstdio> using namespace std; #define getc() (p1==p2&&(p2=(p1=b…
[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)}&=…
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)\) 我们可以只记录\(…
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开始标号. 为了完成任务,表格里面每…
来自FallDream的博客,未经允许,请勿转载,谢谢. 小Q是个程序员. 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理.每当小Q不知道如何解决时,就只好向你求助.为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号.为了完成任务,表格里面每个格子都填了一个整数,为了方便描述,小Q把第a行第b列的整数记为f(a,b),为了完成任务,这个表格要满足一些条件:(1)对任意的正整数a,b,都要满足f(a,b)=f(b,a):(2)对任意的…