2021.09.23am

2021.09.23am

预期 实际
A 100 100
B 30 0
C 100 100
D 100 75
E 30 0
S 360 275

可能水,一定菜

A 零件分组 \(\blacktriangle\)

  1. 据说像导弹拦截,没看出来但是问题不大
  2. 目的是排成多组长度和重量都不下降(幸好不是陌上花开),那为了简化,我们肯定先按照其中一个要素(比如长度)排序。
  3. 排序后题目转化成了能把序列拆成最少个数的不下降序列
  4. 而这有一个有趣的性质:最长下降子序列的长度即为答案。

B 似乎在梦里见过的样子 \(\blacktriangle\!\blacktriangledown\)

  1. 这道题因为数据比较水,甚至最坏 \(O(n^3)\) 都能过。(甚至比严格\(O(n^2)\)
  2. 先想一个 \(O(n^3)\) 的算法:
    • \(O(n)\) 枚举每一个起始位置
    • \(O(n)\) \(KMP\) 预处理
    • 同时由于要满足\(2*k+1<i\),我们最坏 \(O(n)\) (全是 \(a\))不断往前跳 \(nx\)
  3. 优化就在于跳 \(nx\) 后把每一个位置的满足条件的最小 \(k\) 记录下来(之所以最小,是之后肯定也能用)

C 最优贸易 \(\blacktriangle\!\blacktriangledown\)

原题

D Radio Transmission \(\blacktriangle\)

  1. 又是一道利用 \(KMP\) 性质的题。
  2. 最后一个字符的 \(nx\) 的大小表示和第一个字符开始的重复字符数量,而我们要找最小的循化节,那直接把重复字符删掉就是答案。

E Knights of the Round Table \(\blacktriangle\!\blacktriangledown\!\blacktriangle\)

  1. 首先,根据题意,有矛盾的不能坐在身边,难以维护,考虑建反图。
  2. 其次,现在已经是一个反图,有边的就是能坐在旁边,目的是找奇环。
  3. 但是,由于奇+偶=奇的性质,对于一个点双连通分量,只要有一个奇环,则整个点双连通分量都能参与其中的一次会议。
  4. 所以说本题的解题思路就是:
    • 建反图
    • \(Tarjan\) 找点双,同时立即进行染色,出现矛盾后将点双的点标记。
    • 计算答案
  5. 难点就是:反图,奇+偶=偶,以及只有一组数据

image
\(\cal {Made} \ {by} \ {YuGe}\)

posted @ 2021-09-24 13:54  u2003  阅读(28)  评论(0)    收藏  举报