YACS 11 月甲题解

https://iai.sh.cn/contest

这把还是简单的,难度对标普及组。

所有题解均口胡。

T1

观察 & 性质

  1. 你扫左端点,然后维护以当前左端点最长的合法子段,显然右端点单不降,因为当你左指针右移时,显然少了一个数,然后你可以求出以每个位置为左端点的最长合法子段的长度。

  2. 考虑区间限制左右端点,且你有每个右端点单不降的性质,因此你只需要找到一个点,使得它及其它之后的最长合法区间都跨过 r,这一部分的贡献很好计算。然后前面的都没跨过,取长度最大值即可。

T2

考虑序列中仅有 2 个字符时的做法。即将对两个各赋权 1,1,定义一个区间的权值为和的绝对值,求所有区间的最大权值即可。

考虑多个字符,我们钦定 2 个是否正确。

考虑一个序列,但我们没有钦定到其最大,最小,此时算出来的答案不优于钦定到的。

考虑答案序列,我们一定能钦定的到。

所以一定正确。

T3

先考虑缩点后构成 DAG,假如没有逆行的条件的话,显然为 DAG 上带权最长链。

考虑逆行的边一定不会用在强连通分量内(因为你能走完啊。。)

考虑枚举逆行边,(u,v),则其变为双向边。

则现在变成 u 所在的最长带权链(不经过 v)加上 v 的权值。

因为你一条链不能走回头路,所以你一定是先走到 v 然后再走回去最长链的。

需要注意没有逆行边,即原先的最长带权链也要贡献答案。


__EOF__

本文作者F x o r G
本文链接https://www.cnblogs.com/xugangfan/p/16987046.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   FxorG  阅读(67)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
点击右上角即可分享
微信分享提示