2016.8.15.总结
来源:互联网 发布:莽荒纪摇钱树数据 编辑:程序博客网 时间:2024/05/24 06:29
总结:
这次比赛比的不错,终于实现了我的梦想,获得了第一名,直接AK!在此我分析一下今天的题目:
[1]icow(icow)这其实是一题水题,很水。注意:不能用快排,考试时差点弄错。首先,在循环里,用一个max记录下这个数列中的最大值,用k记录下最大值的编号,然后用两个变量记录下max div (n-1)和max mod (n-1)。分别按题目要求加入数列中,我在此不加说明。
[2]化装舞会(costume)
其实可以用合法方案的方法,先快排,再用两重循环枚举,i为从
1——最大的a[i](max),j 为max downto i+1 只要找到i和j 匹配就直接加上j-i 这样就可以对了。
[3]奶牛的比赛(contest)
这题可以用一个弗洛伊德(Floyed)算法做。
首先用一个数组存每头奶牛分别的比赛结果,F[i,j]记录第i头奶牛和第j头奶牛比赛的结果(谁获胜)所以F[i,j]=i 那么我们只需要用弗洛伊德的专署格式:三重循环,分别枚举k,i,j,然后判断i是否等于j,然后就看看F[i,k]的胜者是否为i ,F[k,j]是否是k。就可以把F[i,j]和F[j,i]设为i了。
最后判断每只奶牛是否跟所有牛都比赛过了,如果是,那么就inc(ans)。
[4]贝茜的晨练计划(cowrun)
这是一题比较典型的动态规划类题目,搜索(search)会超时,所以只能用动态规划做。所以由此我们可以想到,用F[i,j]表示走到第i分钟时疲劳值为j走的最远距离。这段状态转移方程分为两段,一段是贝茜休息时的,一段是贝茜走路时的。休息时的:F[i,j]:=max(F[i,0]{贝茜在i时间段刚好休息完(疲劳值为0)},F[i-j,j]{贝茜从 i-j 时间段开始休息,当时的疲劳值为j }); F[i,0]:=F[i,j];
走路时的:F[i,j]:=max(F[i-1,j-1]{表示它从上一个时刻走到这一个时间前的值},F[i,j]{表示它本身});
0 0
- 2016.8.15.总结
- 2016.8.5 学习总结
- 2016.8.6 学习总结
- 2016.8.6 学习总结
- 2016.8.6 学习总结
- 2016.8.10测试总结
- 2016.8.12总结
- 2016.8.14总结
- 2016.8.16.总结
- 2016.8.17.总结
- 2016.8~9总结
- 2016.8~9总结
- 2016.8~9月总结
- 2016.8.25 暑假总结
- 总结
- 总结
- 总结
- 总结
- 资源拷贝选项
- 在Android中使用第三方的库
- Linux dirname、basename 指令
- java 之多态与泛型
- 水仙花数
- 2016.8.15.总结
- 矩阵的应用
- 地铁建设 纪中2568 水dp
- YII excel 导入,导出
- 多种方法实现打电话、打开网址、发邮件、发短信、应用评分
- Http协议详解
- 6.0权限申请
- HttpWebRequest使用总结
- 往class="easyui-combobox"的select中添加onchange事件