摘要: 原题链接 考察:01背包dp 错误思路: 定义二维结构体结构体DP[i][j],代表前i个人选j个的值.DP[i][j].cost代表最小花费,DP[i][j].sum代表最大和.由第i个人选不选划分集合. 此思路错在这里的最优子结构不一定推得到最优解. 比如数据: 5 3 1 1 2 3 4 4 阅读全文
posted @ 2021-03-14 17:03 acmloser 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 思路: 很容易看出状态转移方程,坑到本蒟蒻的是计算时间,总之请记下来.... 这里的f[n]是秒数. 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4 const int N = 2010 阅读全文
posted @ 2021-03-14 02:01 acmloser 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 思路: 乍一看我还以为是背包dp,实际不是,f[i][j]表示第i秒,j位置能得到的最大数.f[i][j] = max(f[i-1][j],f[i-1][j-1],f[i-1][j+1])+w[i][j].每个位置能获得的馅饼数要用另一个数组存,不能用f数组. 关于如何初始 阅读全文
posted @ 2021-03-14 01:29 acmloser 阅读(46) 评论(0) 推荐(0) 编辑