上一页 1 ··· 95 96 97 98 99 100 101 102 103 ··· 130 下一页
摘要: 主要是拿这道题目练练手,用蓝书的三进制状态压缩思想和老板的二进制状态压缩思想做做 但是千万别被三进制状态压缩给弄混了,比如这道题目,非常简单,只用知道最后一行的状态用二进制状态压缩就行了,这就可以类比炮兵阵地,因为炮兵阵地这道题目是炮兵可以影响后面两排,而这里只能影响后面一排,所以前者用三进制状态, 阅读全文
posted @ 2024-01-30 10:23 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 具体解法见蓝书 可以想一下如何像老板那样做,即状态只考虑前\(i-2\)行放置的炮兵(因为这样他们的攻击范围才是全在前\(i\)行里面)怎么做 如果用二进制状态压缩,应该是需要用两位描述第\(i\)行和第\(i-1\)行的状态的(本质上就是蓝书上的解法一) 阅读全文
posted @ 2024-01-30 10:22 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: 有趣的是,这道题目如果像老板一样考虑是很好做的,但是如果像蓝书一样考虑似乎做不出来,否则就要用五进制状态压缩了 阅读全文
posted @ 2024-01-29 23:53 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 这道题目稍加思索就可以知道是状态压缩题单的第六题 当然第六题的方法太高级了,这是在每一维都开最大的情况下空间无法承受的情况才使用 这道题目完全可以用更简单的实现方法(当然也没必要开很多维,用一个高进制数实现就好了) 这个高进制数的比较的代码要记住 阅读全文
posted @ 2024-01-29 22:25 最爱丁珰 阅读(5) 评论(0) 推荐(0)
摘要: 蓝书上面的最后一行考虑的状态是考虑的放到下一行的竖着的长方形的个数 而老板的PPT上考虑的状态是更常规的思路,只考虑整块长方形都在前\(i\)行的方案数 在转移的时候先用dfs把第\(i\)行的\(0\)全部铺满(无论是用横放还是竖放),然后再得出第\(i+1\)行的状态 update 2024.7 阅读全文
posted @ 2024-01-29 21:38 最爱丁珰 阅读(16) 评论(0) 推荐(0)
摘要: 但是我怎么判断一个人是否被选了多次呢? 如果能问出这个问题,就说明我们陷入了思维定式 我们以前的状态压缩都是以二进制状态为阶段进行DP,这里我们如果再这么做,就必须记录某一位求职者是否被选择了,那么时空复杂度根本无法承受 所以我们换个思路,直接以求职者为阶段,当一个背包做 讲一下为什么这种代码一个人 阅读全文
posted @ 2024-01-29 20:28 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 这道题目非常简单,我只是想说一个东西 题目说“开始时球在任意一个人的手上”,我们不要去搞个\(n\)次DP,而是像下面这样 脑子别犯浑了。。 阅读全文
posted @ 2024-01-29 19:40 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 其中\(j_i\)的范围是\([0,M_i]\),上面的\(J\)就是一个变进制数 阅读全文
posted @ 2024-01-29 19:33 最爱丁珰 阅读(6) 评论(0) 推荐(0)
摘要: update 2024.9.1 证明不了正确性,而且上面的第一种转移是忽略了阶段的,如果要进行第一种转移,只有先对所有状态做第二种转移,然后选出最小的状态去转移其他状态;把这题背下来吧 阅读全文
posted @ 2024-01-29 19:25 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2024-01-29 19:24 最爱丁珰 阅读(6) 评论(0) 推荐(0)
上一页 1 ··· 95 96 97 98 99 100 101 102 103 ··· 130 下一页