Color Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7630   Accepted: 2507 Description Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). Your job is to calculate how many different kinds of th…
前记: TM终于决定以后干啥了.这几天睡的有点多.困饿交加之间喝了好多水.可能是灌脑了. 切记两件事: 1.安心当单身狗 2.顺心码代码 题意: 给你N种颜色的珠子,串一串长度问N的项链,要求旋转之后重合的算是同一种项链.问一共有多少中可能.结果模p. 1 <= N <= 1000000000, 1 <= P <= 30000 思路: 首先是我们的POLYA定理,给定的公式是这样的sigma(N^gcd(N,i))/N   i从0到N-1. 然后是优化的问题.因为如果我们枚举i累加…
Burnside引理经典好题呀! 题解参考 https://blog.csdn.net/maxwei_wzj/article/details/73024349#commentBox 这位大佬的. 这题时间卡得很紧,注意矩阵乘法不能太多次取模,不然会TLE.   因为这题的模数是9973,加完之后再取模也不会炸. #include<iostream> #include<cstdio> #include<cmath> #include<cstring> usin…
Beads of N colors are connected together into a circular necklace of N beads (N<=1000000000). Your job is to calculate how many different kinds of the necklace can be produced. You should know that the necklace might not use up all the N colors, and…
和上题一样,只考虑旋转等价,只不过颜色和珠子$1e9$ 一样的式子 $\sum\limits_{i=1}^n m^{gcd(i,n)}$ 然后按$gcd$分类,枚举$n$的约数 如果这个也化不出来我莫比乌斯反演白♂学了 最后结果为 $\frac{1}{n}\sum\limits_{d \mid n}n^d \phi (\frac{n}{d})$ 然后$\frac{1}{n}$可以放进去避免除法 然后欧拉函数显然需要现算,上午$T$了,改成筛质数之后算就好了 #include<iostream>…
Description Longge is good at mathematics and he likes to think about hard mathematical problems which will be solved by some graceful algorithms. Now a problem comes: Given an integer N(1 < N < 2^31),you are to calculate ∑gcd(i, N) 1<=i <=N. …
这题满满的黑科技orz 题意:给出L,要求求出最小的全部由8组成的数(eg: 8,88,888,8888,88888,.......),且这个数是L的倍数 sol:全部由8组成的数可以这样表示:((10^x)-1)*(8/9) 那么有m=((10^x)-1)*(8/9)=k*L,answer即满足条件的最小的x 性质1:若ax=by且a和b互质,那么说明a中没有任何b的质因子,b的质因子一定都在x里.所以x是b的倍数. 所以先想方设法在等式中构造两个互质的数以便化简.我们取p=8/gcd(8,L…
根据欧几里德算法,gcd(a,b)=gcd(a+b*t,b) 如果a和b互质,则a+b*t和b也互质,即与a互质的数对a取模具有周期性. 所以只要求出小于n且与n互质的元素即可. #include<stdio.h> #include<string.h> ; int pr[N],cnt; int gcd(int a,int b){ if(!b) return a; return gcd(b,a%b); } int main(){ int n,k; while(~scanf("…
该题没思路,参考了网上各种题解.... 注意到凡是那种11111..... 22222..... 33333.....之类的序列都可用这个式子来表示:k*(10^x-1)/9进而简化:8 * (10^x-1)/9=L * k (k是一个整数)8*(10^x-1)=9L*kd=gcd(9L,8)=gcd(8,L)8*(10^x-1)/d=9L/d*k令p=8/d q=9L/d p*(10^x-1)=q*k因为p,q互质,所以q|(10^x-1),即10^x-1=0(mod q),也就是10^x=1…
<题目链接> 题目大意: 给出范围为(0, 0)到(n, n)的整点,你站在(0,0)处,问能够看见几个点. 解题分析:很明显,因为 N (1 ≤ N ≤ 1000) ,所以无论 N 为多大,(0,1),(1,1),(1,0)这三个点一定能够看到,除这三个点以外,我们根据图像分析可得,设一个点的坐标为(x,y) ,那么只有符合gcd(x,y)=1的点才能被看到.又因为 (0,0)---(n,n)对角线两端的点对称,所以我们只需算一边即可,而一边的点数根据欧拉函数可得: $\sum_{i=2}^…