logo

yaohaoyou

春节

CP duels记录

2024-11-19 Views Codeforces | 做题记录328字2 min read 置顶

CF1368E Ski Accidents

比较神的构造,被对手 10min 秒了。

看到 47\frac47outi2out_i\le2,然后就应该想到 47=2220+21+22\frac47=\frac{2^2}{2^0+2^1+2^2},尝试将 nn 划分为 33 个集合。感觉比较结论,所以直接说了。将 nn 划分成 33 个无交且并为全集的集合 A,B,CA,B,C,满足

aA,{ua,uC}\forall a\in A,\{\forall u \rarr a,u\in C\}

bB,{ub,uA},{ub,uB}\forall b\in B,\{\exist u \rarr b,u\in A\},\{\not\exist u\rarr b,u\in B\}

cC,{uc,uB}\forall c\in C,\{\exist u \rarr c,u\in B\}

分类讨论一下,不难发现 A,B,CA,B,C 交且并为全集。由于 bB,ab\forall b\in B,\exist a \rarr bB2A|B|\le2|A|,同理,B2C|B|\le2|C|,即 4A2BC4|A|\ge2|B|\ge|C|C47n|C|\le\frac47n。删除 CC 中的所有点后 AA 的入度都是 00BB 的出度都是 00,故最多只有 aba\rarr b 的边,满足条件。

因为是 DAG,分集合时可以做拓扑排序。复杂度线性。

EOF