tg 71

打摆被锤爆了呜呜呜
考试的时候没关网
然后看到公告栏有ICEY这个单词,
就知道是什么意思了

刚去翻了Administrator-09的博客

T1

写的倍增(其实就是个矩阵快速幂)
首先会发现这个东西显然满足结合律,
不管怎么复制最后都要复制T
然后我的定义是基于值域的一个定义

fi,j,k表示当复制2i次以后的数组中
数字j开头,数字k结尾的最长上升子序列长度
转移就是
fi,j,k=max{fi1,j,x+fi1,y,k},jxyk
如果真正的枚举所有决策,时间复杂度单次就是O(n4)
但是事实上你发现决策集合只会加入不会删除
可以一个变量直接维护最优决策做到单次O(n3)

接下来考虑合并
ansj,k最终序列中已经合并部分数字j开头,数字k结尾的最长上升子序列长度
转移类似

初值:
f0,j,k即为给定初始序列中j开头,k结尾的最长上升子序列长度
若不存在,设为负无穷,表示非法状态
fi,j,k,i[1,logT]
目标:max{ansj.k}

时间复杂度O(v3logT),v是值域,其实并不优秀,但是能直接过

T2

Happy New Year

首先最应该值得注意的东西

k8

所以这一维直接状压即可
发现事实上l,r并不是那么重要,
因为我们事实上设计状态也不会从m入手,
直接离散化然后开个什么东西映射即可

综上,考虑状压DP
fi,j表示到i左端点,用的指令情况j
j的二进制表示下第k1表示使用k,否则不用

转移就非常显然了

T3

posted @   2K22  阅读(18)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示