摘要: 有趣的是,这道题目如果像老板一样考虑是很好做的,但是如果像蓝书一样考虑似乎做不出来,否则就要用五进制状态压缩了 阅读全文
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)
摘要: 这个令\(u\)为最小的节点为啥是对的啊?感觉有点问题的。但是如果用填表法倒是可以枚举在集合中的编号最小的点的,因为这个点一定要与某个点配对 带花树是啥啊? update 2024.9.1 这种选编号最小的优化一个次方的技巧一定要记住,属于状态转移的等效缩放 阅读全文
posted @ 2024-01-29 18:53 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 蓝书上的那个补全数组思想其实是 当然这个问题完全可以拓展到状态压缩 中间那一串是乘法的意思 状态压缩具体内容见状态压缩的专题 阅读全文
posted @ 2024-01-29 18:08 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 可以尝试推导一下,是推不动的,但是又没有什么更好的状态设计的方法,这个时候可以尝试分摊费用 我们先随便写一个序列,考虑费用是怎么产生的,然后怎么分摊费用给每个单元 如图,箭头的长度之和就是总费用 所以一个很显然的分摊费用的方法就是:对每一个箭头,把他跨过的位置对答案的贡献加一(也就是每个位置产生的费 阅读全文
posted @ 2024-01-29 17:35 最爱丁珰 阅读(9) 评论(0) 推荐(0)
摘要: 其实做到这里,可以想一下费用提前计算的题目有什么特征 首先,如果按照正常的DP,一个单元所产生的的费用是要等DP到这个单元的时候才计算的 而如果这个单元的费用可以拆分(比如此题,时间乘以费用系数,由于系数固定,所以把时间拆分出来,也就是乘法分配律,\((a+b+c...)\times d=ad+bd 阅读全文
posted @ 2024-01-29 07:44 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 这道题目是很典型的费用提前计算的题目 费用提前计算,我们考虑如何分摊费用到每个单元上 这里就是在走向一个路灯时,把这段时间剩下没关的所有路灯的费用算到这个路灯上 然后尝试推一下方程,由数学归纳法可知是能够推走的 阅读全文
posted @ 2024-01-29 07:28 最爱丁珰 阅读(10) 评论(0) 推荐(0)
摘要: 费用提前计算,一个很重要的思想就是考虑如何分摊费用到每个单元上,然后直接计算每个单元对全局费用的贡献 这道题目可以知道,比较特殊的是蓝草和绿草(所以下面就先考虑这两种草而忽略红草) 对于蓝草,我们种在某一格,他对全局造成的影响是什么?他既会使前面(定义为从入口那端开始数)的绿草的中毒的伤害增加也会使 阅读全文
posted @ 2024-01-29 00:12 最爱丁珰 阅读(25) 评论(0) 推荐(0)