摘要: 此题就是1227 的弱化版。 画个图或者稍微证明一下就能够知道,一定不会超过一次变换。 那么我们只需要统计有多少个白点会变黑,换句话说就是有多少个白点上下左右都有黑点。 离散化横坐标,因为没有黑点在的列是没有任何意义的,对答案也没有贡献。 然后处理每一行,对于每一行,维护一个BIT也就是哪些点会产生 阅读全文
posted @ 2017-03-25 21:55 free-loop 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 由于答案具有单调性,考虑二分答案并验证。 如果能凑齐x堆,因为每个joke在一个牌堆里最多只能用一次,则至多只能用min(x,m)个joke. 对于每个牌,如果这个牌的总数小于x,用joke补齐剩下的,如果能补齐那么一定能组成x堆。 简单证明: 补齐完后的牌堆里每用joke一个,一定能在其他牌里面凑 阅读全文
posted @ 2017-03-25 20:45 free-loop 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 如果考虑每一行的状态的话,是会有后效性的,解决办法就是改变状态的表示。 注意到每一行只能放0个,1个,或2个炮。那么可以依据这个转移来定义状态。 定义dp[i][j][k]表示前i行有j列0个炮,k列1个炮,m-j-k列两个炮的方法数。 则转移方程是显然的。我们剩下的只需要记忆化搜索一下即可。 # 阅读全文
posted @ 2017-03-25 20:25 free-loop 阅读(158) 评论(0) 推荐(0) 编辑