摘要: <!doctype html> 数论!!! (2019清华自招)问题:设 a 为 4444 的 4444 次方的各位数字和,b 是 a 的各位数字之和, c 为 b 的各位数字之和, 求 c 的值? 寻找底数4444与10的关系——卡位 1000<4444<100000 a <( 4 * 4444 阅读全文
posted @ 2021-11-16 23:42 Altwilio 阅读(244) 评论(0) 推荐(0)
摘要: 今天才知道sort是不稳定的,WA了一个点。 sort()排序不是稳定排序,sort是主要用到了快速排序(平均时间复杂度为O(nlogn)),还结合了插入排序(时间复杂度为O(n2))和堆排序(时间复杂度为O(nlogn))。 STL中的排序算法的稳定性如下表所示 阅读全文
posted @ 2021-11-15 23:40 Altwilio 阅读(701) 评论(1) 推荐(0)
摘要: 根据此定理,可以将x+y的任意次幂展开成和的形式; 使用求和符号,可以把它写作: 二项式的矩阵形式: 阅读全文
posted @ 2021-11-14 22:33 Altwilio 阅读(143) 评论(0) 推荐(0)
摘要: 其实_gcd(,)很香,但是 int gcd(int a, int b){ if(!b) return a; else return gcd(b, a % b); } 好吧 阅读全文
posted @ 2021-11-10 21:52 Altwilio 阅读(62) 评论(0) 推荐(0)
摘要: int fib(int n){ if(n == 1 || n == 2){ return 1; } if(d[n] == 0){ d[n] = fib(n - 1) + fib(n - 2); } return d[n]; } 瞎写一个证明我还活着 ! ! ! 真高兴文化课崩了。 阅读全文
posted @ 2021-11-10 21:14 Altwilio 阅读(34) 评论(0) 推荐(0)
摘要: 首先,将2到n范围内的所有整数写下来。其中最小的数字2是素数。将表中所有2的倍数都划去。表中剩余的最小数字是3,它不能被更小的数整除,所以是素数。再将表中所有3的倍数全都划去。依次类推,如果表中剩余的最小数字是m时,m就是素数。然后将表中所有m的倍数全部划去。像这样反复操作,就能依次枚举n以内的素数 阅读全文
posted @ 2021-11-05 21:36 Altwilio 阅读(40) 评论(0) 推荐(0)
摘要: 1.确定分界点。mid = (l + r) / 2; 2.递归排序,left区间,right区间。 3.归并——合二为一。(重点)双指针算法。 #include <iostream> using namespace std; const int N = 1e5 + 10; int a[N], tmp 阅读全文
posted @ 2021-11-03 22:33 Altwilio 阅读(38) 评论(0) 推荐(0)
摘要: int scan(){ int res = 0, flag = 0; char ch; if((ch = getchar()) == '-') flag = 1; else if (ch >= '0' && ch <= '9') res = ch - '0'; while((ch = getchar 阅读全文
posted @ 2021-10-30 09:19 Altwilio 阅读(117) 评论(0) 推荐(0)
摘要: 二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 版本1 当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时 阅读全文
posted @ 2021-10-28 23:31 Altwilio 阅读(53) 评论(0) 推荐(0)
摘要: 初始化;int a[100][100]={0}; 1.int a[100][100]; 2.memset(a,0,sizeof(a)); 动态分配内存方式构建数组,把malloc函数改用成calloc函数。 阅读全文
posted @ 2021-10-25 20:02 Altwilio 阅读(1319) 评论(0) 推荐(1)