2024.07.12模拟赛总结

前言:炸没

T1

首先观察到,图形一定是凸的,如果是凹的就不满足条件
那么设f[i][l][r][p=0/1][q=0/1]表示到了i行,填l到r,1k1有没有左端点比l小的区间,右端点有没有比r大的区间
因为这几种情况互不干扰,所以可以做,暴力是O(n5)的,但发现把决策的l,r写出是可以用前缀和优化的,于是就变成了O(n3)

T2

考虑怎么处理转折点,即i和i+1决策不同,考虑批量处理连续的同样的,以U为例
首先设到i的最小的位置为k,设与i+1决策相同的相邻的有q个,设从k开始找长度为q+1的最长上升子序列,设最小的位置为k1
那么,我们断言,k1就是满足前i+q的最小位置,分类讨论即可证明
那么就可以对于转折点处理,用树状数组优化即可

T3

考虑总的决策数不会很多,因为有限制,于是直接暴力搜索即可

T4

算是一道比较好写好调的线段树题了
首先,考虑重心的性质,它的子树权值和一定不小于总的权值和的一半
再考虑深度最小带来的性质,即不小于改成大于
那么就考虑从一个一定在重心子树中的点开始倍增然后判断即可
这个点怎么找呢?把树dfs序求出,它的带权中点一定在其中
因为如果这个点如果不在,那么这个点的某个祖先一定更优,与定义矛盾
于是就可以直接做了,有点卡常,O(nlog2n)
—————————————————————————————————————————————————————————————————————————————————————————————
下次加油!!!

posted @   longzhaocheng  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
点击右上角即可分享
微信分享提示