AtCoder Beginner Contest 187

这比赛我今年(2021)一月二号打了,那时候还很菜 qwq,只做了四道题,现在还有不到一个小时就到 2022 了,写下题解纪念。

附上全部 AC 代码链接:
https://atcoder.jp/contests/abc187/submissions/me?f.Task=&f.LanguageName=&f.Status=AC&f.User=HinanawiTenshi

前四题很水就不讲了,只讲今天做的 E,F。

E

个人感觉根本没必要出两个操作,纯属吓人(233,可以将两个操作化为一个操作处理。

无非就是每次给你一条边 (u,v),然后 u 经过 v 到达的点不更新,其它点加上 x

我们将这棵树的根节点指定为 1,考虑对每一次操作分类:

  • uv 的子树,那么我们向 u 点打一个 +x 的标记。
  • 否则,我们向 v 点打一个 x 的标记,然后记录下偏移量 del

在处理完操作之后,跑一遍 dfs,将标记下传,然后结果加上偏移量 del 即可,细节见代码。

F

状压 dp。

首先预处理,枚举子集,将所有的完全子图都标记一下。

然后转移方程显然是 f(S)=min(f(S),1+f(Ss)),其中 sS 的子集且满足 s 是对应的点集在原图中是完全子图

posted @   HinanawiTenshi  阅读(35)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示