2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19)

2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19)

  • easy: ABFGHI
  • medium-easy: CE
  • medium: JK
  • ?????: D

Problem A. King’s Inspection

签到。

Problem B. Cash Gap

贪心。

Problem C. Jet Trains

并查集维护 T 边连通性,对于每个连通块用 set 维护从这个连通块连向外面的 F 边。set 启发式合并即可。复杂度 \(O(n (logn)^2)\)

Problem D. Cutting Pizza

好难不会。

Problem E. Unique Solution

  • \(a_i \neq 0\) 的位置分配最高的若干个 2 的幂次。
  • eg 1 0 -1 1 0 0 ,ans = 2^5 2^2 -2^4 2^3 2^1 2^0
  • 根据不等式取等号的条件,\(a_i \neq 0\) 的位置可以约束住。
  • 其它解在 \(a_i = 0\) 的位置的变量也一定为 \(0\),否则求和后的 lowbit 会解体。

Problem F. Metro 2345

最短路

Problem G. Weight Overflow

找到两个 sum 相等的集合。扔掉交即可。

Problem H. Checking Answers to Test

按题意模拟。

Problem I. Magic Trick

Problem J. Superpermutations

\(rank[n] = (rank[n-1] - 1) * n + shift[n] + 1\)
\(pos[n] = pos[n-1] + (rank[n-1] - 1) * n + shift[n]\)
\(pos[1]=rank[1]=1\)

Problem K. Preparing Tests

Two-pointer 求每个左端点的极大右端点,需要删边加边同时维护连通性,LCT 即可。

summary and replay

  • CB 又炸了,记得保存。
  • K 题读错题了,记得看样例解释。
  • E 一开始正确性没考虑好。
posted @ 2019-11-01 21:09  FST_stay_night  阅读(808)  评论(0编辑  收藏  举报