算法学习
文章平均质量分 73
脑子不灵
这个作者很懒,什么都没留下…
展开
-
(Day 5)循环赛日程表(分治策略)
循环赛日程表一.问题描叙设有n=2^k个运动员,要进行网球循环赛。现在要设计一个满足以下要求的比赛日程表(1).每个选手必须与其他n-1个选手各赛一场(2).每个选手一天只能赛一次(3).循环赛一共进行n-1天分析:当...原创 2020-03-09 19:42:00 · 1230 阅读 · 0 评论 -
(Day 4)蓝桥杯练习系统 基础练习 矩阵乘法
矩阵乘法问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 22输入格式 第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数 接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值输出格式 输出共N行,每行...原创 2020-03-08 20:14:56 · 175 阅读 · 0 评论 -
(Day 3)蓝桥杯练习系统 基础练习 分解质因数
分解质因数问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=225=56=237=78=2229=3310=25数据规模和约定 2<=a<=b<...原创 2020-03-08 14:10:23 · 276 阅读 · 0 评论 -
(Day 2)蓝桥杯练习题 基础练习 特殊回文数
特殊回文数问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 1<=n<...原创 2020-03-03 20:45:56 · 239 阅读 · 2 评论 -
(Day 1)蓝桥杯练习系统 基础练习 十六进制转八进制
十六进制转八进制问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012...原创 2020-03-03 14:34:11 · 163 阅读 · 0 评论 -
斐波那契Fibonacci 算法优化
方法一: 递归法int Fib(int n){ if(n==1 || n==2) return 1; return Fib(n-1)+Fib(n-2);}递归法的时间复杂度为o(2^n)。递归算法的程序看上去很简洁,但实际上运行起来却不如此,深度的递归会占用很多栈空间,容易造成溢出。另外在递归计算Fibonacci数列过程中有很多重复计算。比如,计算f(5)需要计算f(4),f(3...原创 2020-03-02 17:22:27 · 1119 阅读 · 1 评论 -
蓝桥杯练习系统 基础练习 十六进制转十进制
十六进制转十进制问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535#include <iostream>#include <cmath>using namespace std;long long he...原创 2020-03-02 13:31:18 · 142 阅读 · 0 评论 -
蓝桥杯试题 基础练习 十进制转十六进制
十进制转十六进制问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格...原创 2020-03-02 13:22:19 · 448 阅读 · 0 评论 -
“蓝桥杯”练习系统 VIP试题 基础练习 阶乘计算
阶乘计算资源限制时间限制:1.0s 内存限制:512.0MB问题描述 输入一个正整数n,输出n!的值。 其中n!=123*…*n。算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位...原创 2020-03-01 18:03:08 · 421 阅读 · 0 评论