151017上午的测试总结
来源:互联网 发布:curl命令 json 编辑:程序博客网 时间:2024/04/28 16:15
第一题
【题目及题号】letter superoj935
【题解】
dp七维分别表示第几个字母出现了几次的最大权值,然后对每个单词转移一下。
【易错点】
{注意从字母最多的状态开始转移,防止一个单词被使用多次。}
第二题
【题目及题号】highways superoj936
【题解】
法一:求最小生成树,然后得到它最大的边。
法二:二分一个解,大于它的不可用,小于等于该权值的可用,判断是否能够联通所有点。
{最小化最大问题(最大化最小问题)都可以考虑二分。}
{一个结论:最小生成树的最大边,就是连通图最小的最大边。}
第三题
【题目及题号】castle protecting superoj937
【题解】
f[i][j][0]表示当前用了j个炸弹且用一个炸弹炸当前一个格子
f[i][j][1]表示当前用了j个炸弹且用一个炸弹炸当前两个格子
f[i][j][2]表示当前用了j个炸弹且用两个炸弹炸该列两个格子
f[i][j][0] = min f[i-1][j-1][0~2]+1f[i-1][j][0]+save[anim[i].wz]-save[anim[i-1].wz];(anim[i].cs==anim[i-1].cs)f[i-1][j][2]+save[anim[i].wz]-save[anim[i-1].wz]f[i][j][1] = min f[i-1][j-1][0~2]+2f[i-1][j][1]+2*(save[anim[i].wz]-save[anim[i-1].wz]))f[i][j][2] = min f[i-1][j-2][0~2]+2f[i-1][j-1][0]+(save[anim[i].wz]-save[anim[i-1].wz])+1f[i-1][j][2]+2*(save[anim[i].wz]-save[anim[i-1].wz])
【考试ING】
考试的时候写了搜索和n^3的暴力。
这段时间做过的DP题来总结一下,
要降低DP的复杂度:
1.可以降低dp的维数,去掉一些没有意义的维度;
2.可以用两个数组分别记录同一状态的不同值共同限制转移;
3.增加维数记录信息使O(n)的转移变成O(1)。(例如此题)
0 0
- 151017上午的测试总结
- 周六上午总结---(前一天的)。
- 总结一下上午的笔试题
- day5上午总结
- 关于软考上午题的总结2004-2010
- 关于封包工具一上午的研究总结
- 12.11上午会面总结ExpandableListView
- 【NOIP2015 11.2上午模拟】总结
- 2017.07.01 上午咨询总结
- 儿童节的上午
- 郁闷的上午!!
- 上午的作文题
- 上午的设计dongui
- 上午的任务
- 上午的工作进度
- 上午的实践
- 充实的一上午
- 星期三的一个上午
- 科学的研究经济学
- 造成程序闪退的bug
- 登录的意义
- 最长公共子串序列一之 两个字符串的最长公共子串
- SQL Server如何启用xp_cmdshell组件
- 151017上午的测试总结
- LabyrinthAlgorithm
- css盒子模型
- 判断是否为奇数时:除以2余数等于1.(充分而不必要)
- 数据库实例(统计最高分学生信息,不及格率等等)
- python django 数据库查询方法总结
- [leetcode-295]Find Median from Data Stream(java)
- Android 6.0 新增API 简介(4)
- OpenCV之基础轮廓查找