ACM集训第四天

欧拉筛法:
定义一个n+1长度的数组,全部定义为1即认为其全是素数,0和1首先排除其不是素数赋值为0,从2开头,只要是a[i]==0就跳过不然就就往后判断循环,2是素数里面写for(int j=2;ji<=n;j++)a[ji]=0 将素数的全部倍数全部赋值为0,目前已知的最快的判断的判断素数的方法

动态规划背包法:一个承重M的背包有N个物体每个有各自的价值,问最多能装多少价值的东西,怎么装,假设最大能装k个物体此时价值最大,那么吧第k个摘除,还剩下k-1个物体在总价值出去第k个剩下的价值下k-1个的时候是最佳的情况以此类推

埃式法求素数:和欧拉筛法不同的是里面的循环是for(int j=i;ji<=n;j++)a[ji]=0;其余不变

时间复杂度:看主函数里有无循环,并列的循环相加,嵌套的循环相乘,嵌套的循环实质为看循环条件多少次能吧循环运行完,比如for(int i=;i<n;i++)假设一个未知数x则x1=n即x=n所以时间复杂度为n
在比如for(int i=1;i<=n;)i=i
2;2^x=n即x=logn所以时间复杂度为logn

字符串输入的时候遇到换行输入也不会跳过的方法:用一个字符去接受每次输入的东西,遇到换行符就continue或者不管他直接把他加到strng类对象的后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值