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