随笔分类 -  小知识

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

点击右上角即可分享
微信分享提示