第二章是递归和分治策略,通过Hanoi塔问题、排列问题等学习递归的思想,通过二分搜索算法、大整数乘法等学习了分治法的思想,并学习了归并排序和快速排序两种排序方法。PTA上的问题一是找第k小的数,用到了快速排序的方法对数组进行排序,同时在寻找第k小的数时递归调用int find(int a[],int ...
分类:
编程语言 时间:
2018-10-06 21:38:48
阅读次数:
169
#include #include #include #include #include using namespace std; const int maxn = 2000; int a[maxn]; int b[maxn]; int c[maxn]; char s[maxn]; char t[m... ...
分类:
其他好文 时间:
2018-10-01 19:55:18
阅读次数:
132
2018-09-27 22:42:13 一、大整数加法 问题描述: 问题求解: 二、大整数乘法 问题描述: 问题求解: ...
分类:
其他好文 时间:
2018-09-27 23:55:12
阅读次数:
183
乘法的计算比加法要麻烦,主要有两个思路: 1. 模拟手算 2. 先不管所有进位计算,最后统一处理进位 乘法手算的步骤: 还是用string来表示数字,乘积的位数最大为两个相乘数的位数和,所以开始就可给定结果的位数。为了节省内存,我们用了一个小技巧:用result来表示每次相乘的和,这样就不需额外声明 ...
分类:
其他好文 时间:
2018-07-22 15:17:59
阅读次数:
149
大整数乘法:概念上就是一个用int,long, long long ,double等存不了的数,长度为几百位 所以我们用字符串来存储并且从最小位开始存,然后大整数乘法也就转化成了 小学里的竖式乘法的问题。 例题: 链接:https://www.nowcoder.com/acm/contest/118 ...
分类:
其他好文 时间:
2018-05-09 17:28:08
阅读次数:
179
【传送门:caioj1450】 简要题意: 给出两个超级大的整数,求出a*b 题解: Rose_max出的一道FFT例题,卡掉高精度 = = 只要把a和b的每一位当作是多项式的系数,然后做FFT就好了 然后将答案取下来,进行进位的操作,最后输出就好了 参考代码: ...
分类:
其他好文 时间:
2018-05-02 15:52:37
阅读次数:
163
【快速傅里叶变换】 〖相关资料〗 《虚数的图解》 《虚数的意义》 《FFT学习笔记》 《从多项式乘法到快速傅里叶变换》 《Fast Fourier Transform》 《【快速傅里叶变换】【FFT】【WikiOI】【P3132】【高精度练习之超大整数乘法】》 〖模板代码〗 [FFT] 1 cons ...
分类:
编程语言 时间:
2018-04-20 00:01:57
阅读次数:
200
分治算法 一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并 ...
分类:
编程语言 时间:
2018-03-04 18:09:11
阅读次数:
186
#include #include #include using namespace std; int main() { char str1[1000],str2[1000]; cin>>str1>>str2; int sum[1000]; memset(sum,0,sizeof(sum)); in... ...
分类:
其他好文 时间:
2018-02-26 23:17:08
阅读次数:
222
[抄题]: 以字符串的形式给定两个非负整数 num1 和 num2,返回 num1 和 num2 的乘积。 [暴力解法]: 时间分析: 空间分析: [思维问题]: [一句话思路]: [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入): [画图]: [一刷] ...
分类:
其他好文 时间:
2018-02-23 22:24:19
阅读次数:
107