Codeforces Round #331 (Div. 2)

A

8min -1

日常WA签到题。看清数据范围啊。

B

7min

\(ans=\sum |a_i-a_{i-1}|\)

C

33min

  • 对于每个\(y-x=w\)的条件,建一个堆。从大到小,依次分配编号,每次取出\(w\)对应的堆顶元素。
  • 接下来我们check得到的解是否合法。解合法只需任何点,左下方所有点编号的最大值,都小于这个点的编号。
  • 然后对所有点先按\(x\),再按\(y\)排序,遍历数组的同时,按\(y\)将点的编号,插入BIT。用这个BIT维护前缀最大值即可。
D

109min

  • \(dp[l][r][0/1][0/1]\)表示,区间\([l,r]\),第\(l-1\)棵树倒的方向,第\(r+1\)棵树,倒的方向。对答案的贡献。
  • 考虑转移。分为四种情况
    • 左边的树,向左倒。
    • 左边的树,向右倒。
    • 右边的树,向左倒。
    • 右边的树,向右倒。

emmmm一开始我为什么会觉得区间dp复杂度是\(O(N^3)\)的吖!
然后老想着统计每棵树对答案的贡献,拿期望的可加性来做。耽误了不少时间。

E

YY了一下,很可做。懒死了,不想写。

  • 建图后,我们会得到一个基环森林。
  • 我们尝试着拿每一颗基环树去匹配它给的字符串。我们将基环树边反向,然后将需要匹配的字符串倒着匹配。
  • 先在环上狂转,能转掉几个字符是几个,基环树去掉环后是一片森林。我们在每棵树上继续匹配即可。

有空补补吧。基环树的题,细节都比较多的啊!

稍微总结一下。

  • 看到n个点,n条边,出于本能也该想到基环树啦!
  • 看到n个点,n-1条边,出于本能也该想到树啦!

基环树有个很好玩的性质,边和点可以完全一一匹配CF1027F

比如这个问题,每条边可以看做一场考试,每个点可以看出,一天。
如果是个基环树的话,那主角就得到施展了。

然后,基环树经常是先在环上玩,在环上完玩了,去树上玩。

转载于:https://www.cnblogs.com/RUSH-D-CAT/p/9737426.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值