- 博客(6)
- 收藏
- 关注
原创 最长上升子序列
给定一个序列,求其最长子序列的长度 假设序列为 3 6 2 3 4 第一个数是 3 前面没有比 3 小的,所以 dp[0]=1; 第二个数是 6 前面 3 比 6 小,所以 dp[1]=dp[0]+1; 第三个数是 2 前面没有比 2 小的,所以 dp[2]=1; 第四个数是 3 前面有比 3 小的,所以 dp[3]=dp[2]+1; 第五个数是 4 前面有比 4 小的,所以 dp[
2017-11-22 16:06:16 201
原创 数字三角形
从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来,如何走才能使的这个和尽量大? 1、从下往上走,直到第一行第一个数一定是最大的 转换成下列存储形式 7 3 8 8 1 0 2 7 4 4
2017-11-22 15:55:41 243
原创 最小硬币数
输入一个金额,从现有的1,5,10,20,50,100,这六种中取,问最少取多少个硬币才能正好凑够*/ #include #include #include using namespace std; #define MAX 10000 int dp[MAX]; Inint() { for(int i=0;i dp[i]=i; } int ma
2017-11-19 21:00:31 557
原创 数据结构之快速排序
#include using namespace std; int a[10000]; int partition(int a[],int low,int high) { int temp=a[low];//记录子表的第一个元素的值为枢值 while(low { while((low=temp))//将比枢值小的移到低端
2017-11-15 19:04:25 223
原创 生理周期
人有体力、情商、智商的高峰日子,它们分别每隔23天、28天和33天出现一次。 给定三个高峰出现的日子p,e,i;再给定另一个日子d,计算出d之后三个高峰在同一天出现的日子(用距离d的天数作为输出)。 例如,给定d为10,三个高峰出现同一天为12,则输出为2; 枚举也要尽可能的减少枚举次数,剔除不可能的情况 #include using namespace std; int main()
2017-11-15 15:42:36 673
原创 完美立方
形如a*a*a=b*b*b+c*c*c+d*d*d,称为完美立方。给定一个数n,输出小于等于n且满足完美立方的数。a,b,c,d都不是负数,且都大于一。 b 输出格式如 6 3 4 5,如果输出多组,按a从小到大输出,若a相等,按b从小到大输出,以此类推。 #include using namespace std; int main() { int n; cin>
2017-11-15 15:25:37 365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人