算法小知识

算法竞赛入门CE: Compiler Error : 编译错误,检查语法,是否少头文件,有些编译器会给你自动补全某些你缺失的cin.tie(0);AC: Accepted : 通过慢输入,优化自己的代码。不要将main函数写成voidmain()头文件。局部变量需要初始化main函数返回值非0。MLE: Memory Limit Exceeded, 内存超限,检测自己数组是不是开的太大了。RE: Runtime Error : 运行错误,数组越界访问(大部分情况),除以0,模0,函数递归过深导致爆栈,严格按照输入输出格式,不要有任何额外的输出WA: Wrong Answer: 回答错误,检查代码逻辑如果你的答案有很多行,千万不要用endl基本注意事项TLE: Tme Limit Exceeded ,检查自己的算法是否足够有些,是否出现死循环,是否使用了endl,cin等ios::syncwithstdio(false);对于大数组,不要定义到局部,否则可能会爆栈。
基本数论向下取整:,从左到右找到离结果最近的整数,比如=5,=-6, 对于正整数,向{子,可以用反证法证。互素,如果两个数最大公因数为则称两个数互素最大公因数 gcd (greatest common divisor)明,当学到exgcd时可以重点学习证明。intgcd(intx,inty)我们这里不考虑负数的情况向上取整,从右到左找离结果最近的整数。returnfalse;returnfalse;{if(x%i0)gcd函数很好写,但是证明可能需要一点时间,这其实和小学学过的短除法是一个算法,这里先不讲证if(y0)一些数学概念}if(x<=1)for(inti=2;i*i<=x;i++){判断素数整除,如果我们称整除,记作,即是的因数returngcd(y,x%y);下取整就是去掉小数部分,编程语言中整数除法一般也是去掉小数部分。判断是否为素数,我们只需要枚举中是否有数能整除,一个素数不存在小于其平方的非1因boolisprime(intx)returnx;}returntrue;}。
数位拆分我们不断取模,加除法可以对一个整数进行拆分:voidsolve(){
x/=10;
intx=1234567;//拆分都是从最低为拆分的,也就是从个位开始,从右到左
//处理这个数位
while(x){
intdigit=x%10;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值