上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: P1045 [NOIP2003 普及组] 麦森数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 想法很简单,我们要做的就是两件事,求2^P-1的位数,求出2^P-1的最后500位数,也就是低五百位,500位想一想常规类型肯定存不下,int到10^9,long long 到10^1 阅读全文
posted @ 2023-04-19 17:16 凪风sama 阅读(116) 评论(0) 推荐(0)
摘要: 先贴一个快速幂模板 long long int quik_power(int base, int power) { long long int result = 1; while (power > 0) //指数大于0进行指数折半,底数变其平方的操作 { if (power & 1) //指数为奇数 阅读全文
posted @ 2023-04-18 23:38 凪风sama 阅读(89) 评论(0) 推荐(0)
摘要: 可以知道在处理高精度乘法的时候,我们是不考虑当场进位的,在所有位数都模拟完竖式乘法后才进行逐位进位,这就要求存储每个位的数组保证不会爆掉溢出 众所周知char类型最多只能存储到255,非常非常容易溢出成负数,对于char型数组要考虑每一步乘法都要进位。 而int型数组最大21亿就不用考虑这种问题,当 阅读全文
posted @ 2023-04-18 23:01 凪风sama 阅读(64) 评论(0) 推荐(0)
摘要: 对于计算比较大的幂的结果时可以采用快速幂来降低时间复杂度 例如求K的n次幂 int Pow(int K, int n) { for (int i = 0; i < n; i++) K *= K; return K; } 最朴素的思想就是直接n次循环,让K自乘n次,但是随着n的增加循环次数会越来越多, 阅读全文
posted @ 2023-04-18 17:54 凪风sama 阅读(84) 评论(0) 推荐(0)
摘要: 这道题是数论加高精度,高精度倒好说,就是高精度乘法实现,模拟列竖式乘法,但是找出要乘的这几个数实属不容易,没学过数论,只能从题解中学怎么找规律这里引用一下洛谷题解区赞数最高的题解 不知道大家看其他的题解有没有产生很多问号??? (本题解修改了一些第一次提交发现的错误,感谢yhm12345同学指出。) 阅读全文
posted @ 2023-04-18 16:09 凪风sama 阅读(518) 评论(0) 推荐(0)
摘要: 最简单的思路就是扫描一边所有节点,对每个非地雷节点,去检查一下他八个方向的元素是否有‘*’,有的话就加一 但是逐个写出有点麻烦,我们不妨定义两个增量数组来存储每一次的相对位移,对每次检查只需要遍历这个数组即可 如下 #include<stdio.h> #include<stdlib.h> #incl 阅读全文
posted @ 2023-04-12 18:09 凪风sama 阅读(63) 评论(0) 推荐(0)
摘要: 输入:1 2 3 4 5 6 7 8 9 10 如上的输入,并未告诉我们终止条件,这种无上限输入的格式可以用以下格式读入 int main() { int S[100]; int i = 0; while (scanf("%d", S + i)) { i++; } } 其中scanf改成cin也是一 阅读全文
posted @ 2023-04-11 17:03 凪风sama 阅读(105) 评论(0) 推荐(0)
摘要: 可以知道对于一个有n个数据的集合,其子集个数有2^n个 至于证明可以这样理解,对于n个数据,其子集就是对数据进行组和,而对于每个位置上的数据,组合时仅有两种状态即有此数据或无此数据,也就是有两种可能,而对于n个数据,就有2^n种可能 不妨设其中一个非空数据X,对于X,依据X可以将子集划分为两种,包含 阅读全文
posted @ 2023-04-11 16:36 凪风sama 阅读(196) 评论(0) 推荐(0)
摘要: 欧拉筛的终止条件是i<n; 而埃氏筛的终止条件可以为i<sqrt(n)或i<n,保险起见,加个sqrt并不会影响时间复杂度,所以还是都写i<n吧 阅读全文
posted @ 2023-04-11 15:20 凪风sama 阅读(34) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 下一页