2025.2.9 test
比赛过程是:0:30 秒掉 A,然后在某时刻打 B 的暴力,B 这种不会做,然后在还剩 1:30 的时候看出 C 题大致做法,但是实现不出来。
总结一下就是要加强代码能力,以及补充 T2 这种分治想法的练习,还有 T3 拆绝对值使得每个点独立的想法要早一点看出来。
A
手机图案密码的解锁过程可以简单地看做从矩形点阵中任选一些不同的点并将他们按某种排列顺序顺次连接,你必须保证连续经过的两个点中间连线上的点都已经在之前连接过了。你的要在
假设在一行里走,如果从
于是有一个 dp 设
根据常见优化只需要维护
B
对两个长度
我很唐氏对于这种题。这种题目叫做分治乘法。
也就是对于最高位取
初始的想法是对
事实上这里可以通过”合并同类项“思想来简化运算。
考虑构造。令
那么
一直递归下去,那么
一开始我误以为要用 FWT 的想法,构造 fwt 数组,但是这是做不了的。
其实这个做法跟 FWT 没什么联系,FWT 也可以用分治乘法做是
C
插入操作:加入一个点作为新的可选点。查询操作:选出所有的固定点以及
首先
拆绝对值。
所以你可以取所有赋权值方案的最大值即可。所以我们的想法是使得每个点独立开来。
对于每一维都是
然后你要选
相当于一个
即维护
注意每个点不能重复出现,所以转移要倒着转移。
关键是拆绝对值使得每个点贡献独立于别的点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】