码迷,mamicode.com
首页 > 其他好文 > 详细

题解-CF375

时间:2021-01-08 11:14:45      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:个数   方法   就是   如何   不清楚   BMI   force   节点   get   

CF375


CF375A Divisible by Seven

luogu

注意到 \(1,9,8,6\) 全排列可以得到所有 \(\bmod 7\) 的余数。

然后别的数随便排,这四个数选个排法就好了。

aclink


CF375B Maximum Submatrix 2

luogu

方法 \(1\)

我场上怼的做法,时间复杂度 \(\Theta(nm\log )\),加个快读就过了。

分治,每次处理 \([l,r]\) 的列,找到中线,设 \(f(l,r)\) 表示中线左边有连续超过 \(l\)\(1\),中线右边有超过 \(r\)\(1\) 的行数,答案与每个 \((l+r)f(l,r)\) 取最大值即可。

方法 \(2\)

时间复杂度 \(\Theta(nm)\),先预处理 \(f(i,j)\) 表示 \((i,j)\) 这个格子左边的连续的 \(1\) 个数。然后对每个 \(j\),把 \(i\) 这维排序然后计算贡献即可。这个排序可以用个桶。

aclink-方法 \(1\)


CF375C Circling Round Treasures

luogu

看清题意:炸弹和宝藏合起来不超过 \(8\) 个。

题目中说了如何判断回路包含物品,但讲得不清楚。

大概就是每个物品向右有一条射线,如果穿过回路奇数次就被包括。

注意:把路径想象成一条曲线,然后这条射线可以与这个物品格子的上边线重合,这样可以防止把回路的一部分顺着这条射线走当成被包含。

然后把一个炸弹当作价值 \(-\infty\) 的宝藏,就可以分层图最短路,节点 \((x,y,s)\) 表示在 \(x,y\) 这个位置,对于 \(s\) 这个集合的宝藏射线穿过次数为奇数。

然后得出最短路以后答案与每个 \(s\) 的价值 \(-\) 起点与这个集合节点的最短路取 \(\min\) 即可。

aclink


没写完,fuckyou。

题解-CF375

标签:个数   方法   就是   如何   不清楚   BMI   force   节点   get   

原文地址:https://www.cnblogs.com/George1123/p/14242261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!