原题地址竟然64位都要爆,这是要大整数乘法的节奏吗?我才不要写大整数乘法呢,用Ruby干掉代码:1 # Enter your code here. Read input from STDIN. Print output to STDOUT2 num = [0, 0]3 num[0], num[1],...
分类:
其他好文 时间:
2015-05-06 01:21:28
阅读次数:
162
大整数乘法问题描述求两个不超过 200 位的非负整数的积。
输入数据
有两行,每行是一个不超过 200 位的非负整数,没有多余的前导 0。
输出要求
一行,即相乘后的结果。结果里不能有多余的前导 0,即如果结果是 342,那么就不能
输出为 0342。输入样例
12345678900
98765432100
输出样例
1219326311126352690000解题思路乘法规律,一...
分类:
其他好文 时间:
2015-05-04 15:36:12
阅读次数:
171
merge sort 是一种采用分治策略的排序方法。其最坏时间复杂度为 O(nlgn) (对数以2为底)可以先列出递归式,然后画递归树来证明. 也可以用master theorem (主定理)来证明.总之,最关键的就是要列出分治过程中的递归式merge sort的递归式为:C++ 代码如下所示:/*...
分类:
其他好文 时间:
2015-04-26 21:08:00
阅读次数:
171
题目大意一个人打工,每一天有一个收益,使用一点体力可以获得一份收益,每天回复固定的体力,体力有一个上限,超出之后就不回复了。问最多可以获得多少收益。思路分治策略:Solve(l, r, st, ed)表示第l天到第r天,初始体力为st,结束体力为ed的最大收益。显然,我们想让这个区间中的收益最大的那天干的越多越好,于是分情况讨论:
如果从一开始就休息,一直休息到收益最大的那天,没有达到体力的上限,...
分类:
其他好文 时间:
2015-03-28 15:50:02
阅读次数:
133
快速排序也是根据分治策略设计的一种高效率的分类算法。首先回顾下分类算法的分类思想:它从待分类序列S中随机取出一个元素x,并把S分成三个子序列S1,S2和S3,分别是S中小于,等于和大于x的元素序列,而后对S1和S2递归使用本算法,就可以得到排好序的序列。实际操作中通常不分出序列S2,而是直接把S2中...
分类:
编程语言 时间:
2015-03-15 18:13:03
阅读次数:
149
自荐者和推荐者请留言
基本算法
贪心算法:贪心算法 作者:独酌逸醉
贪心算法精讲 作者:3522021224
递归和分治:递归与分治策略 作者:zhoudaxia
图论
图的遍历(DFS和BFS): 图的遍历 作者:jefferent
最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉
Dij...
分类:
编程语言 时间:
2015-03-11 17:18:33
阅读次数:
185
递归与分治策略(一)
简而言之,递归就是自己调用自己。
递归算法:直接或者间接地调用自身的算法。
递归函数:用函数自身给出定义的函数。
注意:每个递归函数都必须有非递归定义的初始值,以确保递归函数完成计算。
下面通过两个例子来介绍递归的特点
例1 阶乘函数
阶乘函数递归地定义为:
n!=1 (n=0)
或者
n!=n(n-1)! (n>0)
下面用一段简单的...
分类:
编程语言 时间:
2015-03-02 14:58:09
阅读次数:
171
一、快速排序的描述快速排序是基于分治策略的。对一个子数组A[p…r]快速排序的分治过程的三个步骤为:1、分解数组A[p…r]被划分成两个(可能空)子数组A[p…q-1]和A[q+1…r],使得A[p…q-1]中的每个元素都小于等于A[q],且小于等于A[q+1…r]中的元素。下标q也在这个划分过程中...
分类:
编程语言 时间:
2015-02-16 23:21:18
阅读次数:
338
分治策略:在每层递归中应用如下三个步骤:分解:将问题划分为一些子问题(子问题的形式与原问题一样,只是规模更小)。解决:递归地求解子问题,当然,当子问题规模到你满意时就直接求解!合并:将子问题的解合并为原问题的解注: 有时会遇到需求解与原问题不完全一样的子问题,将其求解视为合并的一部分(出现此类情况可...
分类:
其他好文 时间:
2015-01-27 20:11:43
阅读次数:
255