当前位置: 首页 > news >正文

杂题记录 3

P5979 [PA 2014] Druzyny

小清新题。暴力转移是简单的,$f_i \leftarrow f_j,j-i\in[\max_{k=i+1}^j c_k,\min_{k=i+1}^j d_k] $,关于 \(\max\) 和偏序的限制不难往 cdq 优化 dp 的方向想。

然后考虑 \([l,mid]\)\([mid+1,r]\) 的转移,我们对于转移 \(i\in[l,mid],j\in [mid+1,r]\) 记它们的后缀最大最小和前缀最大小为 \(lc,ld,rc,rd\),对于转移的限制应该形如 \(j-i\in[\max(lc,rc),min(ld,rd)]\)

考虑将限制分开维护,变成 \(j-i\in[lc,ld]\)\(j-i\in[ld,rd]\),我们从小到大枚举 \(j\),对于前边的限制,我们将 \(f_i\)\(j=lc+i\) 处加入,在 \(j=ld+i+1\) 处删除,然后查询时找 \(i\in[j-rd,j-ld]\) 的最大值,这不难用单点修的线段树维护。

然后我们便在 \(n\log^2 n\) 解决了此题。

P11391 [COCI 2024/2025 #1] 疑惑 / Zbunjenost

一年前模拟赛考过

因为回路要求简单,所以肯定是三角剖分过后一堆三角形的联通块,而三角形之间相邻连边过后是棵树,假如我们建出树后 dp 是简单的。

考虑我们枚举其中一个点 \(u\),把与它相连的点按凸包上顺序排序,然后看相邻点之间与 \(u\) 是否形成三角形。

找出三角形过后把三角形的三边上记录上这个三角形,然后假如一条边上有两个三角形就把它们连边。

P14255 列车(train)

记录 \(f_i\)\(i\) 最早一个可坐的车,不难发现操作一是对 \(f\) 区间做 \(f_i\rightarrow \max(f_i,x)\)

然后对于查询 \(l\rightarrow r\) 的车,我们分讨车起点 \(x\)\(f_x\)\(r\) 的关系即可,这些都能用线段树上二分简单实现。

P13828 [Ynoi Easy Round 2026] 寒蝉鸣泣之时·卒

假如点个数大于 \(\sqrt n\) 暴力就行。

对于点个数小于 \(\sqrt n\),我们考虑建虚树的过程,把相邻点 \(lca\) 塞个 \(-1\) 的值,然后其余点塞个 \(+1\) 的权值,发现求的东西是 \(\sum_{x\in S}\sum_{y\in S} f(x,y)v_xv_y\),其中 \(f(x,y)\) 为在 \(1→x\) 上选一条边,\(1→y\) 上选一条边颜色相同的数对个数。

发现这东西可以树分块简单预处理整块的贡献,然后枚举 \(x,y\) 是可以单次 \(O(1)\) 查,对于散块我们暴力将它到关键点的路径上的颜色塞到桶里统计,发现两个的复杂度都是 \(B^2\),然后就做完了。

别写递归 dfs,直接按 dfs 序枚举就行,能快很多。

P12587 「KTSC 2019 R2」外星仙人掌

一个点 \(x\) 能装的水等于它左侧最大值与右侧最大值中较小的一个减去它自身的高度。

考察注意力,注意到左右侧至少有一边的最大值是区间最大值,于是我们考虑按区间最大值的位置把区间分开,然后左侧是每个位置前缀最大值的和,右侧是每个后缀最大值的和。

这是单侧递归线段树的经典问题,我们开两棵分别维护前后缀即可。

P6772 [NOI2020] 美食家

考虑把每个点拆成 \((u,t),t\in[0,4]\) 代表过 \(t\) 的时间后走到下一个点。

\((5n)^3k\log T\) 是简单的,注意我们一直是拿向量去乘转移矩阵,这个是 \((5n)^2\) 的。

所以我们预处理转移矩阵的 \(2^0,2^1,\dots,2^{\log T}\) 次方,这是 \((5n)^3\log T\) 的,然后剩余的复杂度是 \((5n)^2 k\log T\) 的,可以通过。

P9675 [ICPC 2022 Jinan R] Shortest Path

因为是无向图,我们发现路径走的边数到很大的时候,路径肯定很多时候在一条边上反复走。

结论是在边数 \(x>4n+1\) 时最短路会开始反复走同一条边,上界是 \(4n+1\) 的原因是我们假如选择的最小边是 \((u,v,w)\),我们要先从 \(1→u\)\(v→n\) 这是最坏 \(2n\) 的,还有一个是因为反复走一条边,走的次数是偶数,有可能路径长度奇偶不对应我们所需的长度 \(x\),所以要进行调整,所以保守估计应该是 \(4n\),但我觉得有可能是 \(3n\)?/yiw

然后我们对 \(x\leq 4n+1\) 的部分暴力 dp,对于 \(x> 4n+1\) 的部分,我们对奇数,偶数的部分都求出 \(kx+b\) 状物,选择的直线是一段一段的,可以二分出来每段长度然后等差数列求和。

\(\max kx+b\) 可以建凸包,但这题 \(n,m\) 很小,再加上跑不满,且暴力部分已经是 \(4nm\)\(n^2\log V\) 也是可过的。

P7984 [USACO21DEC] Tickets P

最坏的时候 \(i\) 的答案 \(f_i\)\(dis_{1,i}+dis_{i,n}\),然后考虑接下来转移应该是 \(f_i \leftarrow \min(f_j+w(i,j))\) 的形式,最短路松弛一下即可。

P6783 [Ynoi2008] rrusq

矩形的颜色段均摊?

扫描线过后要维护的应该是矩形覆盖颜色,问颜色 \(\ge i\) 的点的点权和。

建出 KDT 过后在 KDT 上颜色段均摊,不难势能说明是 \(n\sqrt n\) 次对 KDT 上单个点的修改,然后变成 \(n\sqrt n\) 次单点修,\(q\) 次区间求和。

分块平衡即可,KDT 改成 Leafy 的这个题会好处理些。

P9288 [ROI 2018] Innophone

从小到大枚举 \(a\),然后发现是单点修,区间 \(+f_i\),区间最大值,这是 KTT 的经典问题,随便维护就行。

CF2041N Railway Construction

难点在实现细节的题。

现将原图按 \(a\) 从小到大排序后重标号方便处理。

完全图 MST 首先考虑 Boruvka,注意到第一轮是每个点单独成联通块,然后连边向与自己有边的最小的点,连完过后每个联通块的最小值之间一定是没有连边的,于是第一轮做完过后最多只有 \(O(\sqrt m)\) 个联通块,而且都是菊花状的。

然后再跑 MST,这样图中会新增一些边,但算上之前的 \(\sqrt m\) 个点,只有 \(\le 2 \sqrt m\) 个点度数大于 \(1\),度为 \(1\) 的点的答案是好求的,因为去掉它们过后 MST 只会少与它相连的这一条边,所以 \(O((n+m)\log^2n)\) Boruvka 跑一遍原图 MST 即可。

然后考虑度不为 \(1\) 的点的答案,因为只有 \(O(\sqrt m)\) 个,我们考虑枚举删去这些点,然后跑 MST,我们先 \(O(n)\) 做第一轮 Boruvka 把图变成 \(B \le \sqrt m\) 个联通块,然后我们求出它们两两联通块之间的最小边,然后跑 \(B^2\) 的 Prim 求它们的最小生成树即可。

现在问题在于怎么求联通块间的最小边,我们记 \(c_{i,j}\) 为两个联通块 \(i,j\) 之间的边的条数,我们选取联通块 \(i\) 中最小的 \(c_{i,j}+1\) 个点,然后在 \(j\) 中去找最小的可连的点,精细实现是 \(O(B^2+\sum c_{i,j})≈O(n+m)\) 的。

接着是实现细节,为了减小常数,原图 MST 我是单独写的函数跑的。在删点过后要注意求 MST 的部分枚举时避开删掉的点。要注意重标号是否完全,不要用混了。

然后假如原图 MST 无解时,要分情况讨论。

\(n=2\) 时删点过后变成孤点,要特判输出两个 \(0\)

假如有一个点与其它所有点均无连边则单独跑删去这个点的,然后其它点均无解。

其余情况就真是全无解了。

考虑完细节过后代码其实挺好写的,注意细节应该不会被卡常。

http://www.hskmm.com/?act=detail&tid=38163

相关文章:

  • 2025年比较好的风光互补电动执行器,电动执行器厂家推荐及选择建议
  • 2025年口碑好的荷兰七箭精酿啤酒,精酿啤酒出酒龙头直销制造
  • oracle 各类文件位置
  • ImagesViewer 图片查看器
  • 2025年比较好的布袋定制,帆布布袋定制厂家最新推荐排行榜
  • 2025年400E螺纹钢生产厂家权威推荐榜单:敬业螺纹钢/三级盘螺/盘圆螺源头厂家精选
  • 2025年优质的合规管理知识产权贯标,知识产权贯标推荐
  • 不知道笔记本怎么添加打印机?教你3招轻松搞定!
  • 2025年可靠的注册公司咨询费用
  • 2025年热门的短视频运营方案
  • PostgreSQL初始化配置
  • 2025年比较好的美容院高端美体内衣,塑身美体内衣厂家最新TOP推荐榜
  • docker运行nginx
  • AI 工具网站如何快速起量?一篇讲清新词、外链与选品逻辑
  • 详细介绍:前端登录加密实战:从原理到落地,守护用户密码安全
  • 2025年如何选餐饮设计哪家靠谱
  • 陌陌交友微信小程序:一站式社交解决方案详解
  • 2025年有能力的短视频拍摄哪家好
  • 2025年行业内西铁城机床代理商怎么选
  • 实验3
  • C# Avalonia 17- ControlTemplates - ControlTemplateBrowser
  • 字符调整
  • 2025年专业的云计算就业岗位,云计算就业技能培训
  • PostgreSQL技术大讲堂 - 第109讲:PG18新版本5大特性尝鲜
  • 10月第二篇笔记
  • 2025年知名的装修全包,装修定制公司
  • 2025年诚信的老板IP短视频代运营,城阳短视频代运营培训
  • 配置网站,nginx必须的一个步骤
  • 赋能智慧水利:视频汇聚平台EasyCVR智慧水利工程视频管理系统解决方案
  • 2025年比较好的智慧体育体测教室,智慧体育跑道哪家便宜