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

题目记录(before 暑假 ver.)

T1. P15649

考虑令 \(dp_{u,l}\) 表示在节点 \(u\),重链长度为 \(l\) 的概率,然后考虑树上背包。

首先先把 \(l = \sum l_i\) 给预处理出来,这个可以直接用树上背包。然后考虑枚举重儿子 \(v\),那么我们可以考虑使用前后缀拼接来算,复杂度是 \(\mathrm O(n^3)\)

此时我们发现背包合并其实类似于多项式乘法,所以这提示我们可以考虑用类似于多项式除法的东西来把 \(v\) 的贡献扣掉。这种东西就叫做删除背包。

所以此时复杂度就是 \(\mathrm O(n^2)\)。算答案是容易的。

T2. P15650

考虑一个子串 \(h\) 长什么样的时候才会有贡献:

  • \(s\) 的前缀。
  • 存在 \(i\) 满足 \(h_{[1,i]} = s_{[1,i]}\)\(h_{i + 1} = 0,s_{i + 1} = 1\)

那么如果 \(t\) 的一个子串 \(h\) 满足 \(h\)\(s\) 的前缀,此时 \(h\) 就有两种可能的贡献:

  • \(t\)\(h\) 下一位是 \(0\)\(s\)\(h\) 的下一位是 \(1\),此时后面每次加一个数都会加一贡献。
  • 否则贡献为 \(1\)

此时发现我们把问题转化为了前缀匹配。此时考虑令 \(dp_{i,j,k,0/1}\) 表示当前匹配到了 KMP 自动机的 \(i\) 号节点上,有 \(j\) 次第一种贡献,当前贡献总数是 \(k\),是否匹配出一个完整的 \(s\)。注意到第二维有用的个数是在 \(\mathrm O(\sqrt k)\) 这个级别的,所以可以直接暴力跳 \(nxt\) 数组来 dp。

T3.qoj4892

考虑对于一组 \(a,b,c\),假设这三个数的中位数为 \(v\),那么对于任意两个数 \(i,j \in \{a,b,c\}\) 都有:

  • 如果 \(i > v\)\(j \le v\)
  • 如果 \(i < v\)\(j \ge v\)

考虑令 \(x_{i,t}\) 表示 \([v_i \ge t]\)。那么我们就可以把上面的两个限制条件转化为一个 \(2-SAT\) 模型,即:

  • \(v_{i,v+1}\) 为真,那么 \(v_{j,v+1}\) 为假。
  • \(v_{i,v}\) 为假,那么 \(v_{j,v}\) 为真。

同时需要注意如果 \(v_{i,v+1}\) 为真,那么 \(v_{i,v}\) 肯定也为真。

此时只需要看这个 \(2-SAT\) 是否有解即可。

T4.qoj2570

\(f_i\) 表示以 \(i\) 为结尾的 \(LIS\) 数量,\(g_i\) 表示以 \(i\) 开头的 \(LIS\) 数量,\(m = \max f_i\)。那么我们注意到只有 \(f_i + g_i = m + 1\) 的点我们才值得考虑,我们令这些点为关键点。

那么考虑建出以下的最小割模型:

  • \((i,i + n,1)\)
  • \((S,i,1)\)\(f_i = 1\)
  • \((i + n,T,1)\)\(f_i = m\)
  • \((i + n,j,1)\)\(i < j,a_i < a_j,f_j = f_i + 1\)

此时考虑这个最小割模型在干什么:每一次删掉一个长度为 \(m\)\(LIS\),要求每一次删除的 \(LIS\) 互不相交,请问最多能删多少次。

现在考虑把前面的图简化为只有 \((i,j)\)\(i < j,a_i < a_j,f_j = f_i + 1\) 这一种边。此时考虑按照 \(f\) 的值来分层,具体的令 \(i\) 在第 \(f_i\) 层。那么我们就可以注意到所有的边一定是从上一层连到下一层的。且对于第 \(k\) 层的点,将其按照下标从小到大排序后,每一层的 \(a\) 都是单调不降的。

然后我们又能发现对于所有在第 \(k\) 层的点 \(i\),其向 \(k+1\) 层的点的连边一定为一个区间 \([l_i,r_i]\)。且对于所有的 \(i < j\) 且在同一层的 \(i,j\) 均有 \(l_i \le l_j,r_i \le r_j\)。而总是存在一种删除方法,使得所有的第 \(i\) 条路径 \(p_i\) 和第 \(j\) 条路径 \(p_j\) 满足 \(\forall k\in [1,m],p_{i,k} < p_{j,k}\)

此时直接暴力删除是 \(\mathrm O(n^2 \log n)\)。接下来考虑如何加快这个操作。

由上面的分析可得,一个点连向下一层的一段区间,也是由上一层的一段区间连向其。容易归纳得出,任意轮结束后,被删除的点一定是每层的一个前缀。那么对于每一层我们只需要维护一个当前删到了第 \(k_i\) 个数即可。

http://www.jsqmd.com/news/481454/

相关文章:

  • MinGW下载全攻略:Windows上的GNU开发环境(附安装包,2026最新) - xiema
  • 动力电池充电系统设计(Matlab仿真+Proteus仿真+英文文献+PPT+详细过程说明书)
  • 苏州奥康斯阳光房性价比如何,靠谱供应商产品费用高吗? - mypinpai
  • 别再瞎找了!AI论文写作软件 千笔ai写作 VS 知文AI,专科生专属神器!
  • 嵌入式Linux系统的安装和配置
  • 2026年哈尔滨靠谱的公务员面试培训机构排名 有实力企业大盘点 - 工业推荐榜
  • 千寻百念精选头像小程序源码
  • 这份榜单够用!8个AI论文工具:多场景适配,开题报告+学术论文+毕业论文全搞定
  • 上海落户职称有哪些,如何选择合适的落户服务机构 - 工业品网
  • Sign Up
  • 中小汽修门店汽修单管理系统PHP源码,数字化管理维修订单与客户信息
  • 宠物骨科就医体验分享:从这些方面评估医院水平,24小时宠物医院/异宠/宠物骨科/母猫绝育/宠物眼科,宠物骨科医生有哪些 - 品牌推荐师
  • day51 图论part3
  • 学习周报三十六
  • 2026年3月国内实验室污水处理设备口碑佳的产品推荐,二氧化氯发生器/次氯酸钠发生器,实验室污水处理设备产品怎么选择 - 品牌推荐师
  • 说说南京扬旺中空板周转箱靠谱吗,在上海、广州等地口碑如何 - myqiye
  • 哈尔滨公务员面试强化培训怎么选,友恒公考值得考虑吗? - 工业推荐榜
  • 在OpenClaw争议中,除了技术层面的抓取,是否存在文化层面上拿来主义与贡献者文化的深层冲突?
  • 通信工程毕业论文(毕设)2024开题思路
  • 学长亲荐!千笔AI,碾压级的一键生成论文工具
  • 2026年公务员面试强化培训选哪家,友恒公考本土优势突出 - 工业设备
  • 深圳龙岗区发布龙虾十条政策扶持,政府力量介入一个开源软件项目是否会扭曲市场竞争造成新的寻租空间?
  • 从Linux到OpenClaw,开源项目的走红逻辑发生了什么变化?为什么现在的爆火总是伴随着巨大的争议和焦虑营销?
  • 2026年全国耐磨聚乙烯板推荐厂家排名,哪家性价比高值得选? - 工业品牌热点
  • wps word2026年开始有ai检查错误的功能了,还可以一键检查-一键修正的功能,大家觉得如何
  • 数字化产品战略核心:2026年主流产品管理软件竞争格局与工具全景解析 - 十大品牌推荐
  • 2026安庆婚纱照首选推荐|玛萨龙摄影,官方咨询+线下到店全维度指南 - 江湖评测
  • 2026年热门关节机器人厂家,哪家性价比靠谱 - 工业品网
  • 【局域网风暴】当周围的节点都在诱惑你“重启旧程序”
  • 【第二周】关键词解释:RAG (Retrieval-Augmented Generation,检索增强生成)