杂题3
对于横坐标相同的点两两连边,剩下一个点不管,纵坐标同理
这样形成的图是二分图,因为一个点只会在横轴上连出一条边,纵轴上连出一条边。最后黑白染色即可
差分询问,考虑每个字符串对询问的贡献
于是建出 ACAM
,顺序处理每个字符串对别的字符串的贡献
发现就是在 fail
树上单点加,询问子树和,树状数组即可,
对一个位置,自然的贪心是按 1 2 3
操作
且 1
只需保留最大数,要么用要么不用;2
从大到小操作一段前缀;3
自由人
但位置与位置间还得抉择,貌似只能劣质 了,这似乎没办法优化
另一种视角:乘法很自由,不受位置影响。考虑都转成乘法,然后取前 大
2
可以把每步加法转成乘法,因为加之前和加之后的数都是确定的,于是加上一个数变成乘上一个数,且乘上的数是降序的,贪心选择时仍然是依照前缀顺序操作,仍等效于加法时加一段前缀
1
可以看成对原数加一个增量,把它转成加法后纳入原加法的排序中,发现仍然是对的
因为选了 1
操作结合选了的加法是加了一段前缀,而全部转成乘法后也等效于加一段前缀
当然输出操作顺序时自然要把同一个位置的 1
操作提到 2
操作前
未定向前,把度数为奇数的点两两连边,然后这张图必存在欧拉回路,那么跑一个欧拉回路相邻边定向相反
注意到边数要求是偶数,那么连完后若总边数为奇数就随便找个点连自环即可
很明显的 ACAM
上数位 ,是否出现过长度至少为 的子串只需将 中长度为 的子串扔进自动机里边即可
容易发现边双缩点之后一个连通块内怎样都可以互达,那么剩下的就是给树边定向了,简单差分就好
想了一会发现重点不在决策上,而在刻画连锁染黑的过程中
很容易扔到二分图上观察,一条边表示原图一个点,观察连锁染黑的性质
然后就没看出来了。。。
事实上只需关注二分图上的连通块
考虑连通块中边集对应的点集,而这些点集能构成的所有边都被连锁染黑了
也就是把 的边信息转成了 的点信息
那么我们只需要把这些连通块连到一起即可
感觉这种思维题很需要猜结论
常规思路是观察逐位复原的性质,没头绪,转为观察操作本身的性质
发现操作的中点只会是 的点
然后自然发现可互相交换的位置的封闭性,那么一段一段的看
值域固定,然后不存在三个非可操作中点使得其值降序,这些是充要条件
考虑两个位置的大小关系,统计对答案的贡献
经典地转为求期望
先考虑个聪明点的 做法
确定矩形上下边界,然后双指针左右边界统计
优势是无论实际存在点有多少
注意到 很小,尝试优化上述做法
对于一个左边界确定一个最小右边界,左边界可向左往空列扩张
不重不漏的准则可定为包含某个点使得其在最左边,那么贡献
于是把范围内的点按 排序,对每个点按如上叙述计算贡献,
上边界固定,下边界移动,发现增加点的总量是
考虑直接加点计算贡献增量,加进一个点只会影响 个点的贡献
下边界从大到小移动使加点变为删点,链表即可做到
很容易想到一个贪心:逐渐扩大 的组成,每次加一个使当前 序列贡献最大的 ,答案每次取
于是就要维护形如 的贡献,支持区间
分块后变成
注意到一个整块的 是一样的(取点所在块重构),那么就变成了那个斜率询问 了
对于每个块,单调队列维护凸包,
原以为细节挺多的,结果一遍过了
提交记录
容易 表示能否走过 条边到达
但 很大,想到矩阵快速幂
按 排序后一段一段地做,每段解锁一条边
矩阵快速幂求出恰好走 条边到达的点
然后每段都跑一次最短路取
不过时间卡得紧,快速幂要用 bitset
优化
固定一个点算答案,把叉积式子写出来,二阶前缀和计算
注意二阶前缀和取出区间贡献要去除一些一阶残留物
还没定义向量数乘不知它怎么算的
疯狂取模!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具