NOIP 模拟赛:2024-11-21

T1:

题意:至少交换几次相邻字符,使得原串变成相邻串。

结论:每种字符必然前一半在前面,后一半在后面。
把最终的每个字符所到的位置求出来,用 BIT 求逆序对即可。

T2:

原题

总之就是观察到 1,2 分出的两段必须递减,然后加个调和级数优化 DP 就行了。

T3:

多彩路径

题目描述

给定一个n个结点m条边的无向连通图,边1m编号,其中i号边具有颜色wi。保证该图不存在自环和超过2长度的简单环,但可能存在重边。可以理解为若把同一对结点间的所有重边合并为一条边,则会形成一棵树。

对某一条简单路径,定义该简单路径的“多彩值”为路径中相邻的异色边对数。即若其按顺序经过k条边编号为e1,e2,,ek,则“多彩值”为i=1k1(weiwei+1),其中不等判定成立则式子取1,否则取0。

请回答Q次询问,每次回答x,y两点间的所有简单路径的“多彩值”的最大值。

注意到如果两点之间有 3 条边,可以视作有一条独一无二的边。因此可以视作两点之间 2 条边。

容易想到倍增 DP:dp[i][j][a][b]ifa[2j][i] 的路径上,两端的边类型分别为 a,b 的最大多彩值。定义是 O(4nlogn) 的,转移则多枚举两个 A,B 即可,多乘个 4

查询 u,v 就走到 LCA 然后拼起来即可。

写了个 34 的 …… 常数大五倍我都给卡进去了,愣是没想到不用处理三条边 ……

posted @   FLY_lai  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示