题解列表

筛选

P1007-题解(Java代码)

考虑横向通道,有学生矩阵4*5XXXXXXXAXBCXAXBCXXXX通道优先设在第2排,可隔断两对同学。以此类推。纵向通道同理。```javaimportjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scan

P1005-题解(Java代码)

经典的01背包问题,使用动态规划。dp[i][j]含义,前i株草药中,j时间内可以获得的最大价值。**dp[i][j]=max{dp[i-1][j],dp[i-1][j-time[i]]+value[i]}**前者表示不采第i株草药;后者表示采第i株草药,此时要预留time[i]时间。

P1004-题解(Java代码)

记函数**f(i,j)**表示点(i,j)的最大滑雪距离,值为:**f(i,j)=max{周围比它低的点的滑雪距离}+1**比如,左边的点和下边的点比目标点低,则f(i,j)=max{f(i,j-1),f(i+1,j)}+1为了减少递归次数,对中间结果进行存储。

[递归]母牛的故事-题解(Java代码)

本题有明确的取值范围55,因此可以直接将所有值求出,并且牛的增长和斐波那契数列类似,所以可以找出牛的增长规律;![牛的增长规律,和天数](/image_editor_upload/20200506060537_61980.png"牛的增长规律,

蓝桥杯算法训练VIP-寂寞的数-题解(Java代码)

简单说一下本人思路,声明两个数组,分别存放1到接受和这些数字对应的生成数,然后用第一个中的值挨个遍历生成数组中的值,没有相同的值极为寂寞数;[========]importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]ar

大鱼吃小鱼-题解(Java代码)

题目意思就是每次把最小的两个删了,然后插入删除的两个数的和这不简单java现成的优先队列PriorityQueue没什么难度,自己看代码importjava.util.PriorityQueue;importjava.util.Scanner;publicclassMain{publicstaticv