摘要: 果然暴力出奇迹。。 O(n^2m^2)=1e8 536ms能过。 枚举锤子的长和宽,再验证是否可以满足条件并更新答案。 我们先从左上角为(1,1)的先锤,显然锤的次数是a[1][1]. 锤(i,j)的时候呢,算一下右下角为(i,j)的锤数组的矩形面积,然后更新(i,j)的值。 用二维前缀和可以做到O 阅读全文
posted @ 2017-04-04 22:39 free-loop 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 先缩点,对于缩完点后的DAG,可以直接在每个scc dfs一次就可以求出终点是这个scc的点的点对个数。 # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream> # include <vector 阅读全文
posted @ 2017-04-04 19:53 free-loop 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 首先这题的两条线不相交的限制可以去掉,因为如果相交的话把点换一换是不影响最终结果的。 剩下的费用流建图是显然的,把点拆为两个,建立超级源点s和源点ss汇点t,连边(s,ss,2,0). 对于每个点,连边(ss,i,1,0), (i,i',1,1),(i',t,1,0). 这样跑一遍费用流就行了,然而 阅读全文
posted @ 2017-04-04 18:29 free-loop 阅读(182) 评论(0) 推荐(0) 编辑