2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)

2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)

  • easy: ACEGHK
  • medium-easy: BJL
  • medium: D
  • ?????: I

A.

B.

C.

  • \(R[],C[]\) 分别按奇偶性分段。
  • 网!

D.

  • 考虑 check 一个串,枚举右走对应的前缀 pre,下走对应的后缀 suf。
  • 把每行反串拼接中间连特殊字符,建 SA,能 match 上 pre 的后缀 rk 是个区间。
  • 把每列拼接中间用特殊字符连接,建 SA,能 match 上 suf 的后缀 rk 是个区间。
  • 问题转化为:矩形内数点。

E.

倒着递推出每个位置的范围。

F.

树 hash

G.

  • 排名的增量为新来的人里面比 1 号选手厉害的人数。
  • 线段树维护区间最小值。

H.

  • 第一种情况是挤在一个矩形内,面积/2即可。
  • 第二种情况在不同的矩形,先对每 A > B 的矩形交换 A,B,若两个矩形分别为 \(a*b,c*d(a<b,c<d)\),那么答案为 \(min(a,b) * min(c,d)\),按 A 排序,枚举第一维被谁卡住,求后缀极大值。
  • 炸精度。

I.

好难。

J.

  • 注意到 type 3 最多摆放 50 个。
  • \(dp[i][j]\) 表示考虑前 \(i\) 个位置,恰放 \(j\) 个 type 3,type 2 最多能放几个。
  • 枚举 \(i,j\) 用 type 1,尝试替换,type 2 即可。

K.

线段树维护区间矩阵乘。区间修改为交换行和行,列和列。

L.

  • 先考虑每条“边”都要建的 case。
  • “边” & 工人的二分图,跑匹配?
  • 给每类工人建个中间点,最大流,ok,边少了。
  • 生成树怎么办?环上怎样选择环长 - 1条边?
  • 建一个中间源点限制流向“环上的边”点流量不超过环长 - 1。最大流为 \(n-1\) 即可。

summary and replay

posted @ 2019-11-02 14:04  FST_stay_night  阅读(691)  评论(0编辑  收藏  举报