题解列表

筛选

1557: 蓝桥杯算法提高VIP-聪明的美食家[java版]

###解题思路:####本题的意思就是求解一个数组里面的最长升序子序列,建立一个dp数组,dp[i]的含义是以nums[i]结尾的的最长升序子序列。求出nums数组中每个元素结尾的最长升序子序列,从中找出最大的那个即是,nums数组的最长升序子序列。

利用斐波那契求解

摘要:解题思路:分子分母按斐波那契额数列增长注意事项:sum数组下标与遍历求和变量的关系参考代码:#include<stdio.h>int main(){    int z,i,j,k;    int f[……

疯狂的裁缝-题解(java代码)

解题思路:由于没有说明n的最大规模,于是这道题试了一下可以暴力破解,怎么暴力破解啦。比如从第一段开始,比较当前价值是否比之前大,如果大则交换,然后加上第二段,又开始比较,直到最后,于是就把第一段开始的全部价值都比较了一次。然后又从第二段开始,一直到最后一段开始,全部比较找到最大值就可以了。

数据结构-快速排序(C++)

用递归来实现快速排序(quicksort)算法。快速排序算法的基本思路是:假设要对一个数组a进行排序,且a[0]=x。首先对数组中的元素进行调整,使x放在正确的位置上。同时,所有比x小的数都位于它的左边,所有比x大的数都位于它的右边。然后对于左、右两段区域,递归地调用快速排序算法来进行排序。

利用数组来解决约瑟夫问题的一个方法

解题思路:设置一个数组,数组大小为输入的数字n,下标0-n-1储存着1-n.再利用循环开始计数,如果count为3,那么就将此时的数组储存的数赋值为0,直到这个数组中的数只有一个不为0,就退出循环,再返回不为零的数下标,最后打印结果这个好像是约瑟夫问题,

1003: [编程入门]密码破译

解题思路:如果直接输出c1+4,得到的结果是c1的ASCII码值+4,需要用(char)转换一下。注意事项:题目表述不清晰,一方面说要给五个字符变量赋初值,一方面又说输入是China,我的解法是无输入的,也通过了。希望程序更加健壮的话可以写成不赋初值的。

利用斐波那契解题

摘要:解题思路:注意事项:参考代码:#include<stdio.h>#include<math.h>double feb(int n){    if(n==1) return 1;    else if ……
优质题解

1933: 蓝桥杯算法提高VIP-约数个数(算数基本定理)

解题思路:O(n)的算法很容易想到,正好刚学了数论,就写一个求约数的模板吧,它的时间复杂度是O(sqrt(n))根据算数基本定理,一个数可以分成多个质数相乘,例如60=2*2*3*5;而约数个数就是根据算数基本定理来的,约数的个数等于分解出的质数次方+1相乘如60的约数个数为:(2+1)*(1+1)*

弟弟的作业(C++)

摘要:**解题思路:** 算式答案可能为 字符 "?" ,也可能是数字,所以在进行正确判断前,要将字符型转化为整型 运用库函数 atoi(s.s_str()),可以将字符串(string或者char[]……

编写题解 1197: 发工资咯

摘要:解题思路:注意事项:参考代码:while True:     ls=list(map(int,input().split()))     if ls[0]==0:         break ……