Codeforces Round #743 比赛记录(vp)

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Codeforces Round #743 比赛记录(vp)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

赛时:abcD

赛后:ABCDE

题解

A,B俩沙比题

C: 考虑使用拓扑排序计算每个章节是哪一轮被理解的。对于一个依赖关系 (uto v) (表示 (v) 依赖 (v)),设 (u) 在第 (t) 轮被理解。如果 (u<v),那么 (v) 被理解的轮数至少为 (t)。但如果 (u>v),那 (v) 被理解的轮数就至少是 (t+1) 了,因为它是再也没可能在同一轮中被理解了。

因此,设 (t_i) 表示 (i) 被理解的轮数。有:

[t_u= begin{cases} t_p &amp; (p<u) \ t_p+1 (p>u) end{cases} ]

这样,拓扑排序随便做。

D:首先,注意到:(n) 位置的值,只可能是后缀奇数若干个东西的异或。我们看看长度为奇数的后缀里,有没有异或和为 (0) 的。如果没有,就gg。

否则,设 (p) 满足 (n-p+1) 为奇数,且 ([p,n]) 异或和为 (0)。首先,我们让 ([p,n]) 区间都变成 (0)。发现,每个两个操作一下,就能让 (n) 位置为 (0),且前面连续相邻的两个,都是一样的。

即,.... aa bb cc ... xx 0 的形式。aa 表示相邻两个一样的数,bb,cc 同理。然后这边我们可以用 (DFrac{n-p}{2}) 步,让它们都变成 (0)

对于前面,我们可以先用一步把两个变成一样,然后再做一步,把两个一样的变成 (0)。这样,两步做两个,总体上是对的。

但是最后可能剩下 (1,2) 位置不太对,要判一下。

E:显然可以 (n^3) 区间dp。

脑子一转,一定有那么一个最优解的颜色是取在区间两端的。左/右均可。为啥呢?假设它没取到端点,那端点的颜色肯定被动过。我们把动它的那次,去掉。然后最后一步的时候,可能除了这个端点之外,还有一大块,我们把省下的这个操作,去做那个大块。然后区间颜色还是一样,操作次数一样,而颜色就变成了端点的颜色。

处理掉端点处一长段连续相同的情况。然后,(f(l,r)=max{f(l,k)+f(k+1,r), kin[l,r)})

再注意到,这个 (k) 的颜色一定和 (r) 一样,做完了。或者说,和 (r) 一样,一定能取到最优解。

为啥呢?假设 (k,r) 一样。由于我们处理掉了一长段连续相同,那只需要考虑中间那些不一样的情况。中间那些不同的地方,怎么也得先做掉,才能再连上 (k,r)。因此,(k,r) 一定会先处在一个断开的状态。我们直接用这两个dp拼起来的方法做,就是这种方案的答案了。

因此,我们记一下PRe,k不断跳pre转移。由于相同颜色数只有20种,复杂度是 (O(20times n^2)),就能过了。

实况&总结

最近不知道得了什么病,打代码的手感下降了,感觉键盘不是我自己的一样。

3min秒了A,但是B开始就出锅了。B的锅小,修了10min修好了,稍微有些紧张,还交错题交到A上去了qaq

@H_901_126@

为什么做不到打完码就能A呢?

做C题的时候家里来了个查煤气表的,并没有太大影响,我是拿着草稿本出去接待他的(

然后我就想到了一个拓扑排序。打完,啪的一下,挂了!WA on 2

暴露一个问题,我拓扑排序打的不熟练,且会打出锅

此时我就开始慌了,就在猜哪边出了问题。都没猜对,贡献3发WA。

以后先把所有问题都看一遍,减少不必要的WA

慌忙之下开了D。然后我发现这玩意我也会!打完之后,啪的一下,也挂了!WA on 2。

我超!同时挂两个!真就练心态了呗

那咋整啊。我现在会四个题,但同时有两个大锅!我也不能干啥,总不见得开E吧,再来一个锅?于是我选择了对拍

2h比赛对拍,真有你的!

极 限 运 动

存疑:如何增加对拍的速度呢?

然后我拍了1h把C搞定了。那个数据生成器,稍作改动,啪的一下D也拍好了。

此时还剩10min。原本想睡大觉的,一想,我还是继续做吧!然后就去开E

精神可嘉!但是,你会吗?

很好,不会。显然一个 (n^3) 的dp是会的,然后我开始猜转移点。

方向对了!结论?

我看出来一个性质,最优解一定存在一种,是取在区间的端点上的。

接下来,我猜这个转移点距离l,r不超过20。没有得到证明,我纯猜,然后猜错了。再加上我实现的不精细,我当时是TLE的。

多组数据千万不要memset!都给我for循环!

赛后继续去看了题解,完成了E题。

脚本宝典总结

以上是脚本宝典为你收集整理的Codeforces Round #743 比赛记录(vp)全部内容,希望文章能够帮你解决Codeforces Round #743 比赛记录(vp)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。