摘要:
1. 快速幂模板 虽然前面可能写过了,但是遇到了就再贴一下。 LL qmi(LL a,LL k,LL p){ LL res = 1%p; while(k){ if(k & 1) res = res * a % p; a = a * a % p; k = k>>1; } return res; } 2 阅读全文
摘要:
1. 负进制数 [P1017 NOIP2000 提高组] 进制转换 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 所谓负进制数,就是进制数为负数的一种实数表示法。 例如,-15(十进制)相当于110001(-2进制),并且它可以被表示为2的幂级数的和数: 110001=1(-2) 阅读全文
摘要:
1.差分的应用 我们知道,差分的本质是一个数组前一个元素和后一个元素的差值的列表。 如果一个数组中每一个元素都相同,那么差分数组元素就都是0; 我们有一个问题是进行多次区间增值或减值后,至少要多少次,才能使数组中所有元素大小都相同。这里我们就可以应用上面的原则。 对原数组求差分数组,讲差分数组的负数 阅读全文
摘要:
题目1:最大公约数的延伸问题 P1414 又是毕业季II - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目上提及了最大公约数,但是解答却没有直接使用最大公约数doge 题目意思是 给定n个数,再给定一个k,往这n个数中取k个,求这k个数的最大公约数是多少? 然后题目的要求是k的 阅读全文
摘要:
1. 欧拉质数筛 功能是给一个整数n查找小于等于n的所有质数。 最后使用的是prime【i】 //功能:查找n内第x个质数。 bool isprime[100000010]; //isprime[i]=1表示:i是素数 int prime[6000010],cnt=0;//prime存质数 void 阅读全文
摘要:
1. 图论的反向建边 一般问题:有向图的多个起点到一个终点的最短距离 是最短路的变式。 我们只需要把图的箭头反向(正向变逆向,逆向变正向) 矩阵: mp[u,v] = cost >mp[v,u] = cost 邻接表也是类似的方法 [P2853 USACO06DEC] Cow Picnic S - 阅读全文
摘要:
1.二分查找的原则 当要查找的值target>mid 就在mid和right中查找 当要查找的值target<mid就在left和mid中查找 对于边界条件的处理: while(l<r) mid的取值是[l,r) 重点是下面部分,直接决定使用哪个二分模板。 1.3 中间值归属问题 这个问题其实比较灵 阅读全文