题解列表

筛选

DNA-题解(C++代码)

#关于题目1115:DNA的解法##思路:由题目的到的信息可以知道,本题有3个条件:1.要输入一共输入的行数,也就是几组DNA图像.2.要输入每一组DNA的行数与重复次数.3.要保证每组DNA图像之间有一行空格.##代码:`#includeusingnamespacestd;intmain(){//声

K-进制数-题解(C++代码)——深搜版

#思路**!!!写给自己!!!**因为两个相邻数位不能都是零,所以可以从最高位开始进行分配数字,因为可以重复,所以这个数位从0开始或从1开始完全由上一位是否为0决定,所以在DFS函数中加入形参limit代表上一数位是否为0,若上一位为0则limit为1,否则为0。

吹哨传球-题解(Java代码)

考虑用动态规划解决。dp[i][j]含义,球从0号传到第i号,经过j步有多少种方法。**dp[i][j]=dp[i-1][j-1]+dp[i+1][j-1]**因为最后一步总是从左边或者右边把球传到第i号。```javaimportjava.util.Scanner;publicclassMain{p

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]时间。

[传智杯]补刀-题解(C++代码)

##我的做法比较单纯,就是找出所有的可能######剔除一些极端情况,可以得到一个规律,运用这个规律可以省很多力#includeusingnamespacestd;intmain(){intn;bools;//布尔值,代表能或不能longlonga,b,c;//a是小兵生命值,

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为了减少递归次数,对中间结果进行存储。

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

1.根据题意,列出母牛数量变化年份n1234567数量x123469132.可以知道,n>=4时,第n年的母牛数量=n-1年的数量+n-3年的数量------------```c#includeintmain(){inti,juge(intx);//声明juge递归函数while(~scanf("%d