摘要:
算是一个找规律的题目吧。 枚举前sqrt(n)个数,数i出现的次数为n/i-n/(i+1),对答案的贡献为(n/i-n/(i+1))*i。 对于sqrt后边的数,可以直接由n/i获得,并且一定只出现一次。 (数学果然博大精深~~~~) code: #include<bits/stdc++.h> us 阅读全文
摘要:
算是一个找规律的题目吧。 枚举前sqrt(n)个数,数i出现的次数为n/i-n/(i+1),对答案的贡献为(n/i-n/(i+1))*i。 对于sqrt后边的数,可以直接由n/i获得,并且一定只出现一次。 (数学果然博大精深~~~~) code: #include<bits/stdc++.h> us 阅读全文
摘要:
题目给的时间限制是3s,所以可以直接暴力来做,注意n的取值范围是1e8,如果开一个1e8的数组会RE。分段打表,可以每100个数记录一次,然后对每次询问先找到它所在的区间,然后在暴力往后找。(学到了~~) #include<bits/stdc++.h> using namespace std; co 阅读全文
摘要:
题目大意:很好理解,一个for循环语句,从a开始到b结束,步长是c,模数是pow(2,k) 问,最少循环多少次,才能到达b,如果永远都到不了b,输出FOREVER 题解:其实就是求一个线性方程,cx=b( mod p)。问x最小是多少。 这个线性方程怎么来的呢?从a开始假设我们走了x步,到达了b,则 阅读全文
摘要:
乘法逆元问题,常常以这这样的形式出现 a/b ( mod p )=a*(p1)( mod p),b是关于p的逆元。 求解乘法逆元的几种方法: 1 费马小定理,a在模p下的逆元,要求p为质数。 ll fpm(ll x, ll power, ll mod) { x %= mod; ll ans = 1; 阅读全文
摘要:
题目链接:https://codeforces.com/problemsets/acmsguru/problem/99999/106 这个题是关于EXGCD特别好的一个题目。题目大意:有一个等式ax+by+c=0,输入a,b,c以及a的范围l1,r1和b的范围l2,r2,输出满足方程的整数解的个数。 阅读全文
摘要:
例题:https://www.acwing.com/problem/content/1272/ ST表类似于dp。 定义st[i][j]表示以i为起点,长度位2^j的一段区间,即[ i , i + 2^j - 1 ]。 而这个区间又可以被拆分为[i,i+2^(j-1)-1]+[ i + 2 ^ ( 阅读全文
摘要:
题目大意:有一个矩阵,"."表示石头,"#",表示小草,有两个人,可以在任意两个位置点燃小草,小草可以上下左右蔓延,蔓延一次的时间为1,问所有蔓延完所有小草所花费的最短时间。如果不可能蔓延完所有的小草,输出-1。 题解:暴力枚举两个点的位置,然后以这两个点为起点,将这两个点放入队列中,跑bfs。(属 阅读全文
摘要:
题目大意: 一共有61个位置,标记为0~60。其中有10个重要位置,分别为:5, 12, 22, 29, 33, 38, 42, 46, 50 and 55。 有一个筛子,一共6个面,标有1~6。摇到几走几步,开始的位置是在0,一共可以要10次。 输入筛子摇出每个面的概率,输出经过这10个重要位置的 阅读全文
摘要:
题目大意:输入两个数 a,b,输出一个k使得lcm(a+k,b+k)尽可能的小,如果有多个K,输出最小的。 题解: 假设gcd(a+k,b+k)=z; 那么(a+k)%z=(b+k)%z=0。 a%z+k%z=b%z+k%z;a%z=b%z;(a-b)%z=0; 也就是说,z一定是a-b的因子。a- 阅读全文
摘要:
只看懂了CRT,EXCRT待补。。。。 心得:记不得这是第几次翻CRT了,每次都有迷迷糊糊的。。 中国剩余定理用来求解类似这样的方程组: 求解的过程中用到了同余方程。 x=a1( mod x1) x=a2( mod x2) x=a3( mod x3) 假设: n1=a1( mod x1) n2=a2 阅读全文
|