摘要:
简单费用流。 考虑每个点 (x,y)(x,y)(x,y) 转化成 (x−1)×(p+1)+y+16(x-1) \times (p+1) + y+16(x−1)×(p+1)+y+16。加上 161616 是为了避免结果为负数或 000。 题目限制只能往上或往右,于是对于每个点 uuu,找到上边和右边的 阅读全文
posted @ 2023-07-13 19:03
HappyBobb
阅读(10)
评论(0)
推荐(0)
摘要:
考虑每行一个点,每列一个点。源点 SSS 向每行连边,每列向汇点 TTT 连边,容量都是 111。 对于每个棋子,新开两个点,一个是行对应的点 xxx,另一个是列对应的 yyy。 发现其行可以在 [Ai,Ci][A_i,C_i][Ai,Ci] 中任取,列可在 [Bi,Di][B_i,D_i][B 阅读全文
posted @ 2023-07-13 18:52
HappyBobb
阅读(13)
评论(0)
推荐(0)
摘要:
首先发现答案可以二分,考虑如何判定。 首先用最短路算法跑全源最短路预处理 di,jd_{i,j}di,j 表示 iii 到 jjj 最短路。用 Floyd 做复杂度是 O(n3)O(n^3)O(n3) 的,若使用 Dijkstra 算法则是 O(nmlogm)O(nm \log m)O(nmlo 阅读全文
posted @ 2023-07-13 18:47
HappyBobb
阅读(13)
评论(0)
推荐(0)
摘要:
莫队板子。若 iii 出现 cic_ici 次,我们能要求的是 ∑i∈N⌊ci2⌋\sum \limits_{i \in \mathbb{N}} \lfloor \frac{c_i}{2} \rfloori∈N∑⌊2ci⌋。 简单莫队维护即可,复杂度 O(qn)O(q \sqrt n)O(q 阅读全文
posted @ 2023-07-13 13:27
HappyBobb
阅读(11)
评论(0)
推荐(0)
摘要:
有趣的网络流。 首先,除了 222,所有质数都是奇数,所以只能被表示成两个奇偶性不同的数的和。所以我们先抛开 222 不谈。 如果抛开 222,意味着原序列没有 111。若是这样,我们可以直接最大流解决,具体是这样: 考虑对于 ai+aja_i+a_jai+aj 为质数且 aia_iai 是奇 阅读全文
posted @ 2023-07-13 13:24
HappyBobb
阅读(9)
评论(0)
推荐(0)
摘要:
首先可以二分答案,接着考虑如何写 check。 我们发现尽管我们二分了最大和最小的差,但我们仍然无法确定这个区间,这是因为最小值不固定。 由于 B≤20B \leq 20B≤20,所以我们可以枚举最小值,求出对应区间。也就是说,每头牛去的牛棚在 [i,i+x−1][i,i+x-1][i,i+x−1] 阅读全文
posted @ 2023-07-13 13:10
HappyBobb
阅读(10)
评论(0)
推荐(0)

浙公网安备 33010602011771号