上一页 1 ··· 53 54 55 56 57 58 59 60 61 ··· 75 下一页
摘要: 原题链接 原来蒙德里安的梦想和最短路径是两个状压的套路题型....蒟蒻落泪 考察:状压dp 思路: 参考蒙德里安的梦想,本题如果i行的摆放只与i-1行有关.也就是说设i-1行的摆放情况为a,i行为b.要满足这些条件:a&b=0,a无连续1,b无连续1,a|b无连续1. 预处理合法的状态.再枚举合法的 阅读全文
posted @ 2021-02-13 12:14 acmloser 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:状压dp 时隔多年的复习233,还是做出来了 思路: 参考正常版的八皇后.我们需要标记左斜线,右斜线,已放棋子的列.在正常版我们是用数组记录,这里用状压dp可以用二进制位记录.所以三个变量now标记列,left是左斜线,right是右斜线.回溯不同于正常的dfs,正常的八皇后是用fo 阅读全文
posted @ 2021-02-13 00:10 acmloser 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:容斥原理+完全背包+计数dp 本蒟蒻是打死都想不到怎么用容斥原理... 错误思路: 乍看一下是多重背包,时间复杂度80*105*103(采用二进制优化)显然T了 正确思路: 采取完全背包预处理的方法,时间复杂度105 ,求出不限数量的取法.答案就是所有取法-不合法的取法.这里就可以想 阅读全文
posted @ 2021-02-12 17:23 acmloser 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 这道题可以想到P4170涂色和Acwing 编辑距离的结合. 错误思路: 如果直接按a[i]==b[i]与a[j]==b[j]划分的话(实际上a[i]==b[i]与j可以合并),就会少了考虑b连续的条件.使得次数增加了. 错误思路2: 将a[i]==a[j]&&b[i]== 阅读全文
posted @ 2021-02-12 05:01 acmloser 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 转移方程没想出来,思路参考大佬们的题解 错误思路: 本题主要难在[i,j]区间取走某一个数k时,我们要考虑继续往后取还是往前取,如果取前面的就只能取尾端,这就与我们一开始的子结构不符.所以此思路设置间断点划分集合行不通. 正确思路: f[i,]表示i~j人走花费的时间.考虑 阅读全文
posted @ 2021-02-12 02:16 acmloser 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 这题没做出来,要不我还是别学OI了... 思路: f[i][j]表示[i,j]区间内取得的最小值.集合划分就是以中断点为标准,k = i+1,i+2...j-1...f[i][j] = min(f[i][k]+f[k][j]+a[i]*a[k]*a[j]) 为什么是a[i] 阅读全文
posted @ 2021-02-11 22:48 acmloser 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp+记忆化搜索(可有可无) 本蒟蒻是完全没思路...参考大佬的代码 参考大佬的思路: 参考括号匹配的dp题,这道题也是分为(())和()()型.但dp数组有所不同,根据()左右括号颜色的不同,里层或者断点f[i,k]会有不同方案数.以(())为例,14颜色的不同使得里层对应的方 阅读全文
posted @ 2021-02-11 21:02 acmloser 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 区间dp的题想重写一遍,tm学了和没学一样,前几天都在睡,根本没刷题TAT 思路: 本道题要想到由局部最优解推导整体最优解,为什么能推到呢?首先f[i][j]表示[i,j]区间内要穿衣服的最少数量,在[i,j]区间内,枚举断点,由更小的最优解得到[i,j]区间的最优解.如果 阅读全文
posted @ 2021-02-11 16:24 acmloser 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 思路: 和矩阵取数游戏P1005(本题的加强版)不能说很像,简直就是一模一样.f[l][r]区间表示卖掉[l,r]区间的最大收益,但是我们只能买两边的值,因此分为两类,卖l和卖r 1 #include <iostream> 2 #include <cstdio> 3 #in 阅读全文
posted @ 2021-02-11 13:44 acmloser 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:区间dp 思路: f[i][j]为涂色[i,j]区间的最少次数,按s[i]与s[j]的关系划分集合,如果s[i]!=s[j],我们枚举断点,f[i][j] = f[i][k]+f[k+1][j].如果s[i]==s[j],答案不是f[i+1][j-1]+1,这个方程不能处理全都相等的 阅读全文
posted @ 2021-02-11 13:23 acmloser 阅读(86) 评论(0) 推荐(0) 编辑
上一页 1 ··· 53 54 55 56 57 58 59 60 61 ··· 75 下一页