总结

题目描述
       凡凡是个聪明的孩子,今天他也要去采药,但是这次和聪聪不一样,他采的药是密度很大的,所以不仅要求背包的总空间V能放得下所采的药,还要求药草的总质量不能超过凡凡所能承受的范围M。
       由于凡凡运动力惊人并且拥有敏锐的察觉力,所以他能发现N种珍惜的药材,对于每个药材凡凡都会精准地目测出其质量、体积和价值,现在要你做出一些取舍,使凡凡所能采到的药材的总价值最大。
       注意:每种药材只有一个。
输入
第一行有三个整数M、V、N。
接下来有N行,每行三个整数,分别表示一种药材的质量、体积、价值。
输出
一行一个数,表示能获得的最大价值。
样例输入
10 20 4
4 8 90
3 16 60
6 12 10
6 3 40
样例输出
130
数据范围限制
数据约定
对于30%的数据,所有的药草的质量为1。
对于100%的数据,M,V<=300,N<=100,对于每一种药草,它的质量、体积分别小于M和V,它的价值小于2^30。最后的总价值可能很大,但不超过2^63。
题目描述
逆序对的定义如下:
有一个数列{an},对于任意的ai<aj若i>j,则称(ai,aj)为一个逆序对。
我们定义一个序列的无序度为其中的逆序对个数。
我们知道对于DNA,仅仅含有ACGT四种碱基,现在我们定义A<C<G<T,那么对于一串DNA序列,我们就可一得到它的无序度。
因此,我们给出n个长度均为L的DNA序列,请你将他们按无序度递增的顺序输出。对于无序度相同的两个DNA序列,输入顺序在前的序列输出也在前。
输入
第一行两个整数L和n。
接下来有n行,每一行有一个长度为L的字符串。
输出
n行,每行一个长度为L的字符串。
样例输入
10 6
AACATGAAGG
TTTTGGCCAA
TTTGGCCAAA
GATCAGATTT
CCCGGGGGGA
ATCGATGCAT
样例输出
CCCGGGGGGA
AACATGAAGG
GATCAGATTT
ATCGATGCAT
TTTTGGCCAA
TTTGGCCAAA
数据范围限制
数据约定
对于30%的数据n<=100。
对于另外30%的数据,序列的无序度各不相同。
对于100%的数据,n<=10000,L<=50。
题目描述
现在有 n 个物品(有可能相同),请编程计算从中取 k 个出来, 有多少种不同的取法。
输入
输入文件有两行。
第一行包含两个整数 n,k(2<=n<=30,0<=k<=n) 。
第二行包含 n 个整数, 表示物品的编号(范围 1..1000)。编号相同的物品看作同一种物品。
输出
输出仅一行一个整数,即方案数。
样例输入
5 2
1 2 3 4 5
 
样例输出
10
数据范围限制
   
题目描述
        数学课上,D突然想到一件很重要的事情要告诉Z,但是她们分别坐在教室的左前方和右后方,这可怎么办呢?
        D决定传纸条!
       但是问题又出现了,D要告知Z的是个机密,D不希望有很多人知道。可是由于纸条必须经过其它同学,所以D只好希望知道这个机密的人越少越好。
       每个同学都有一个好奇程度k(0≤k≤20),好奇程度越大,偷看纸条的可能性也就越大,D希望传递纸条的路径经过的同学的好奇程度和越小越好。
       我们假定每个同学只会将纸条传递给ta后方或者右方的同学。
输入
第1行,两个整数n,m,表示教室有n行m列。(1≤n,m≤100)
第2行到第n+1行,每行m个整数,表示每个同学的好奇程度。
其中D在第1行第1列,Z在第n行第m列,她们的好奇程度都为0。
输出
共1行,1个整数,表示传递路径的好奇程度.。
 
样例输入
5 4
0 10 8 3
4 19 16 4
12 9 13 12
13 14 19 15
13 4 18 0
样例输出
52
数据范围限制
        

2016.9.24

考试思路:
这次因为偷懒没有比赛,所以没有考试思路。


正确思路:
T1
这一题就是一道比较普通的dp,思路和方法大致和01背包一样,就是加入了一个空间的条件,所以可以用三维数组进行dp,f[i,j,k]表示选到第i个药材,总质量为j,总体积k的最大价值,状态转移方程也显而易见,就是f[i,j,k]:=max(f[i,j,k],f[i-1,j-质量[i],k-体积[i]]),最后答案就是f[n,m,v],但要注意数据大小,要用到int64。
T2
这题相对来说比较简单,就是暴力枚举(不用加太多优化)加上快速排序,就可以了。
T3

这题是个递推,f[i,j]表示选到第i种物品,一共抽了j个物品的方案总数,可以利用杨辉三角,三个循环,初始化f[i,0]:=1,然后递推公式也显而易见,所以送上程序核心部分

for i:=1 to max do //max是物品里最大的序号
                for j:=1 to n do
                        for l:=0 to min(a[i],j) do
                                f[i,j]:=f[i,j]+f[i-1,j-l];

最后输出f[max,k]就可以了。
T4
这题也是个递推,但只能从上往下,从左往右推,应为这样才可以结合之前的答案,大部分的情况都是f[i,j]:=min(f[i-1,j],f[i,j-1])+a[i,j],a[i,j]为i,j位置原本的好奇程度,而还有些边界情况自己想想就可以得出来啦。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值