09 2024 档案

摘要:发现至少有 S51,所以考虑维护 (k,Tk) 的对数,然后二进制拆分+维护区间连续段背包 dp 即可。 点击查看代码 #include<bits/stdc++.h> #define fir first #define sec second #def 阅读全文
posted @ 2024-09-07 23:23 ~Cyan~ 阅读(13) 评论(0) 推荐(0) 编辑
摘要:想法还是太过于巧妙了。 首先有一个很简单的容斥 n2 做法。 然后我们能发现 mod 很小,注意:1i<mod Cmodi=0。 所以就有个天才的做法,将矩阵沿着对角线切开,类似这样: 如果我们每隔 mod 阅读全文
posted @ 2024-09-07 23:18 ~Cyan~ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:好题 先不考虑 b 序列的计数,我们先考虑构造 a 序列。 由于是区间 min,所以考虑从小到大填数(类似笛卡尔树),所以设 dpl,r,k 表示在 [l,r] 的区间中填的数都 k,那么就有了转移式 \(dp_{l,r,k} = \sum_{i 阅读全文
posted @ 2024-09-07 22:57 ~Cyan~ 阅读(9) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示