Nice boat大意:给你一个区间,每次可以进行两种操作,1:把区间中的数全都变成x 2:把区间中大于x的数变成gcd(a[i], x),最后输出序列。思路:线段树成段更行,用num数组的叶子存储数据,节点当作lazy来使用。 1 #include 2 const int maxn = 1000....
分类:
其他好文 时间:
2014-08-04 23:55:48
阅读次数:
292
Nice boat
大意:给你一个区间,每次可以进行两种操作,1:把区间中的数全都变成x 2:把区间中大于x的数变成gcd(a[i], x),最后输出序列。
思路:线段树成段更行,用num数组的叶子存储数据,节点当作lazy来使用。
#include
const int maxn = 100005;
int num[maxn<<2];
int gc...
分类:
其他好文 时间:
2014-08-04 21:34:18
阅读次数:
235
题目大意:
给你A,B,C,K,让你求出一个...
分类:
其他好文 时间:
2014-08-04 17:43:07
阅读次数:
208
小于等于N的所有整数与N关于gcd(i,N)的那些事,相关问题1: 求小于等于N的与N互质的数的和,即∑ i (gcd(i,N)=1, N>=i>0)相关问题2:求gcd(i,N)的和,即∑gcd(i,N) ,(N>=i>0)相关问题3:求1到N的所有和N互质的数的乘积对N取模...
分类:
其他好文 时间:
2014-08-04 14:32:07
阅读次数:
687
题目链接
题意:给出N,M
执行如下程序:
long long ans = 0,ansx = 0,ansy = 0;
for(int i = 1; i
for(int j = 1; j
if(gcd(i,j) == 1) ans ++,ansx += i,ansy += j;
cout
思路: 首先要会莫比乌斯,然后对于ans,自然是非常好求...
分类:
其他好文 时间:
2014-08-04 14:20:37
阅读次数:
220
首先 m = 1 时 ans = 0对于 m > 1 的 情况 由于 1 到 m-1 中所有和m互质的数字,在 对m的乘法取模 运算上形成了群 ai = ( 1 2的情况,只需求a^2 = 1 (mod m)的解的个数是不是4的倍数a^2 = 1 (mod m) 等价变换(a + 1)(a -...
分类:
其他好文 时间:
2014-08-04 14:15:17
阅读次数:
284
题目连接:hdu 4910 Problem about GCD
题目大意:给定M,判断所有小于M并且和M互质的数的积取模M的值。
解题思路:有个数论的结论,若为偶数,M=M/2. 可以写成M=pk,即只有一种质因子时,答案为M-1,否则为1.特殊情况为4的倍数,不包括4.
首先用1e6以内的素数去试除,如果都不可以为p,那么对大于1e6的情况判断一下是否为素数,是素数也可以(k=1)...
分类:
其他好文 时间:
2014-08-04 02:05:06
阅读次数:
265
HDU 4910 Problem about GCD
题目链接
题意:给定一个数字,求出1 - n之间与他互质的数的乘积mod n
思路:看了网上别人找出来的规律,原文链接
然后由于这题的n很大,也没法直接判定,可以这样搞,先去试10^6以内的素数,判断可不可以,如果不行,再利用米勒拉宾判下是否是素数,如果不是的话,把这个数字开根在平方,判断是不是完全平方数,这样做的原因是数字...
分类:
其他好文 时间:
2014-08-04 02:03:46
阅读次数:
273
起床困难综合症(BZOJ 3668) 送分题,直接从高位向低位贪心。 魔法森林(BZOJ 3669) 一个容易想到的办法就是枚举A的最大值,以B作为权值求最小生成树。暴力的话要T的。如果从小到大枚举A的最大值,每次仅会添加一些新的边,所以自然想到用LCT维护。本来还可以考一下LCT的,结果考场上A此...
分类:
其他好文 时间:
2014-08-03 23:12:26
阅读次数:
365
题目链接:uva 11256 - Repetitive
Multiple
题目大意:给定一个数n,要求找到最小的k,使得k?n为题目中定义的重复数字.
解题思路:枚举k?n的循环节长度,比如当前枚举为2,那么一次判断u=1001,1001001,1001001001
...,取d = gcd(n,u), 那么k = u / d, a = n / d (因为n?k=u?a)并且保...
分类:
其他好文 时间:
2014-08-03 12:54:35
阅读次数:
211