随笔分类 - 小知识
摘要:圆桌问题 http://acm.hdu.edu.cn/showproblem.php?pid=4841 用vector建立动态数组,方便对数组进行一系列操作。首先需要赶走n个人,每次赶走的人是坏人,定义一个cnt记录当前位置,圆桌是环,用取余处理。 代码: #include<bits/stdc++.
阅读全文
摘要:判断一个大数是不是素数。 引入费马小定理:对于任意的a<n 如果a^(n-1)=1(mod n)成立,那么我们认为p是一个素数。 但是求一个2^n,当n很大的时候,就不行啦。 于是用幂模运算(快速幂取模):(a^b)%c = ((a%c)^b)%c 还看到了一种做法,挺好玩: 如果 a^(n-1)%
阅读全文
摘要:有时候做题需要优化程序,经常遇到有重复的计算,比较影响时间复杂度,于是这里引入容斥原理。 先让我们来看看百度对他的解释: 具体是通过数学归纳法来证明的。 码道题: https://www.51nod.com/Challenge/Problem.html#problemId=1284
阅读全文
摘要:ceil()函数用于求不小于 x 的最小整数,即向上取整。 头文件:include<math.h> double ceil(double x); 参数 x 是一个双精度数值。 返回值:不小于 x 的最小整数。 floor()函数用于求不大于x的最大整数,即向下取整。 round()函数用于四舍五入。
阅读全文
摘要:处理大数可以用同余。 公式: (a*b)%c = ((a%c)*(b%c))%c (a+b)%c = ((a%c)+(b%c))%c http://www.fjutacm.com/Problem.jsp?pid=2424 简单的同余,直接用就行了。 然后一般可以按位读入取模。 http://www.
阅读全文
摘要:今天做题,有道题嗑了好久(不是题难,脑子问题,再问自鲨)然后逛(zhao)博(ti)客(jie)的时候看见有个没见过的东西,记一下。 判断字符串是否全为数字 ( isdigit()库函数 ) #include <bits/stdc++.h> using namespace std; int main
阅读全文