2016,9,24比赛总结
2016-09-24 16:39
211 查看
这一次分好低0(直接用01背包)+100(模拟)+0(用的不能重复全排列)+0(根本没有想)=100(好差)。不过改题还是挺快的。100+100+100+100=400(AK了)。
第一题:用01背包方法在外边套一层循环。或者也可以用题解的方法。
第二题:这道题先把‘A’,‘C’,‘G’,‘T’分别换成1,2,3,4。然后3层循环算出每一行有多少逆序对。然后把这些带着位置一起排序。最后输出每个a[b[i,2],j] 就行了。
第三题:一个递推问题,注意不可以使用Cmn的做法,两者之间是有区别的,在这里用f[i,j]表示用到第i种物品,一共抽了j个物品的方案总数。有f[i,j]=sum{f[i-1,j-k],0<=k<=num[i],k<=j},边界为f[i,0]=1。在标程中,略去之前处理编号的程序,i直接表示编号,范围为1至1000,那些没有出现的编号按照数量为0参与运算。
第四题:这一道题把边线初始化为maxlongint。对于每个同学,只可能从其左方或前方收到纸条。满足最优性和无后效性。f[i,j]表示纸条传到到位于第i行第j列的同学累积的最小好奇程度和。状态转移方程:f[i,j]=min{f[i-1,j],f[i,j-1]}+a[i,j]。
第一题:用01背包方法在外边套一层循环。或者也可以用题解的方法。
第二题:这道题先把‘A’,‘C’,‘G’,‘T’分别换成1,2,3,4。然后3层循环算出每一行有多少逆序对。然后把这些带着位置一起排序。最后输出每个a[b[i,2],j] 就行了。
第三题:一个递推问题,注意不可以使用Cmn的做法,两者之间是有区别的,在这里用f[i,j]表示用到第i种物品,一共抽了j个物品的方案总数。有f[i,j]=sum{f[i-1,j-k],0<=k<=num[i],k<=j},边界为f[i,0]=1。在标程中,略去之前处理编号的程序,i直接表示编号,范围为1至1000,那些没有出现的编号按照数量为0参与运算。
第四题:这一道题把边线初始化为maxlongint。对于每个同学,只可能从其左方或前方收到纸条。满足最优性和无后效性。f[i,j]表示纸条传到到位于第i行第j列的同学累积的最小好奇程度和。状态转移方程:f[i,j]=min{f[i-1,j],f[i,j-1]}+a[i,j]。
相关文章推荐
- NOIP2016普及组比赛总结
- NOIP2016比赛总结分析
- 2016中国大学生程序设计比赛中南地区邀请赛总结
- NOIP2016提高组比赛总结
- 2016 ACM-CCPC长春站比赛总结
- C和C++语言学习总结(资料来自 林锐博士 2001 年7 月24)
- 总结小车比赛
- C和C++语言学习总结(资料来自 林锐博士 2001 年7 月24)
- .Net培训个人总结笔记24
- 2011年"新秀杯"程序设计比赛——现场决赛参考解题报告和个人总结
- 数模比赛总结
- Java_10_24课堂总结
- 电气研09-7班中国象棋比赛总结书
- ACM前四次组队赛比赛总结(7月31日到8月3日)
- 比赛总结
- 十年总结(24):现在的我
- 第三次比赛总结
- 2011大连regional比赛总结
- 对一次多核程序设计比赛的总结
- 2009年8月8日 ACM内部比赛个人总结