Processing math: 100%

随笔分类 -  各种DP

上一页 1 ··· 3 4 5 6 7
摘要:传送门 DP 注意到m<=2 那就很好搞了 又发现n<=100,k<=10 随便暴力DP都可以了 然后注意一下 可以选空矩阵 状态直接设:f[ i ][ j ][ k ] 表示 第一行 已经选到第 i 个数, 第二行 已经选到第 j 个数,一共选了 k 个矩阵 那么 f[ i ][ j ][ k ] 阅读全文
posted @ 2018-08-28 09:33 LLTYYC 阅读(160) 评论(0) 推荐(0) 编辑
摘要:传送门 DP 题目讲得很清楚"对于电路板的任何两个节点,都存在且仅存在一条通路". 所以电路板是一颗树 题目要求叶子节点时态一致 如果从根开始枚举时间肯定超时 考虑反过来 从叶子节点开始考虑时间 容易注意到 对于一个子树的根 root 来说 不管上面用了多久把信息传下来 要让它的儿子收到信息的时间相 阅读全文
posted @ 2018-08-23 15:10 LLTYYC 阅读(246) 评论(0) 推荐(0) 编辑
摘要:传送门 DP 注意虽然数据小但是搜索还是会超时 不能搜索 考虑DP: 但如果强行DP还是不够 那考虑优化: 每个格子只有两种状态: 选 or 不选 (当然如果这个格子是"贫瘠的"就一定不能选) 明显可以用一个2进制表示 而整行的状态就可以用一串2进制表示 状态的压缩就完成了 可能有人会疑惑n,m最大 阅读全文
posted @ 2018-08-20 22:14 LLTYYC 阅读(185) 评论(0) 推荐(0) 编辑
摘要:传送门 显然是DP容易想到状态压缩:按行处理,按列表示状态状态显然,这一列放0个,放1个,放2个然而还是不够..继续优化换种思路:设f[i][j][k]表示处理到第i行,并且这i行m列中有j列放了一个棋子,k列放了2个棋子,其他的没放。好了状态出来了转移也就好写了..看代码就好了..可以用滚动数组, 阅读全文
posted @ 2018-08-20 17:17 LLTYYC 阅读(152) 评论(0) 推荐(0) 编辑
摘要:传送门 DP每次向下一格,显然是DP方程也十分显然:设f[i][j]为到第i行第j列时能得到的最大价值显然f[i][j]=max(f[i1][k]+v[i][j]),max(0,jt)<=k<=min(m,j+t)然后40分,其他超时..考虑优化方程稍微变一下:$f[i] 阅读全文
posted @ 2018-08-20 17:14 LLTYYC 阅读(270) 评论(0) 推荐(0) 编辑
摘要:传送门 DP数列长度过大无法枚举,考虑DP设f1[i]储存以第i个字符为结尾时,的最后一个数最小时,这个数的开头的位置(很难想有木有)OK,状态有了,方程想一想就出来了:设num[i][j]为数列中从i到j的数连起来后的值,len为数列长度则如果$num[ j ][ i ]>num[ f1[ 阅读全文
posted @ 2018-08-20 17:11 LLTYYC 阅读(373) 评论(0) 推荐(0) 编辑
摘要:传送门 DP其实主要是单调队列..数据最大为一千,考虑O(n^2)的做法在a*b的矩形中找出n^n的正方形再怎么样至少也要把a和b分别枚举吧。必须考虑O(1)处理单个正方形最大最小值。容易发现正方形大小不变为n,如果只看一行,就是滑动窗口,那么处理单个正方形最大最小值时间复杂度为O(n);仔细思考后 阅读全文
posted @ 2018-08-20 17:04 LLTYYC 阅读(193) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7
点击右上角即可分享
微信分享提示