不断更新de刷题错误Loading……

不断更新刷题错误Loading……

C++

1、在使用输入完整字符串的时候要把创建的字符数组最好先初始化一下,否则容易出现奇怪的结果。

题源入口

char a[4][100]={0};

2、在使用递归的时候数值一大容易出现超时的情况,在这时候可以找规律并且结合打表的方式防止超时,自己先写出一些项目可能就能够发现其中的递推规律。

题源入口

推导可以发现以下结论:

n%2==0f(n)=f(n-1)+f(n/2)
n%2==1f(n)=f(n-1)

3、回文质数这题对于新手来说可以用一些技巧来保证大数据量的通过。

题源入口

1、先判断n%2==0 则不可能为质数的条件,先筛选掉一半的数。

2、先判断回文数再判断质数从算法复杂度的角度来说可以大大提高运行速度。

3、先在自己的代码上运行,可以发现在1亿(1 0000 0000)的数据中,最大的回文质数其实是9989899,只有7位数,这样直接可以用if把输入范围缩小十倍(这个方法是支撑我通过最后一个超时点的关键所在)!

4、关于第一次遇到记忆化搜索这个名词,原理就是把经过的值给保存下来,就可以避免很多递归调用的步骤了,但也要依据情况来选择合适的记忆容量。

题源入口

比如这题就开辟303030就挺好,还有使用typedef来简化代码可以使代码简洁一些,最后注意一下输出的格式。

typedef long long ll;
ll f[30][30][30];

5、在WLLWWWLE中,规定以E为结尾,但还要知道,测试数据中E不一定在最末尾,可能提前出现,要考虑周全。

题源入口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值