20260324

A - 粟粟的书架

分两个问题。


Part 1:R=1R=1R=1,C≤5×105C \le 5 \times 10^5C≤5×105.

可以二分分界值,判断大于等于这个值的所有值之和是否大于等于 HHH。

注意到 pi,j≤1000p_{i,j} \le 1000pi,j≤1000,所以不用二分,直接暴力枚举,并计算个数和总和即可。

O(m×pmax⁡×log⁡2C)O(m\times p_{\max}\times \log_2 C)O(m×pmax×log2C)


Part2:R,C≤200R,C \le 200R,C≤200.

同理,但离线下来。

从大到小枚举分界值,暴力算即可。


好像两个都可以这样算,O((R×C+m)×pmax⁡)O((R\times C+m) \times p_{\max})O((R×C+m)×pmax),由于 3s,常数较小,应该能过。

B - 璀灿光华

感觉只要构建出来这个图形,直接暴力求解即可。

C - 染色

枚举出现 SSS 次的颜色,并统计方案。

设 fn,kf_{n,k}fn,k 表示长度为 nnn 的序列,用 kkk 种颜色,且每种颜色出现次数都不是 SSS 的方案数。

答案则是:∑i=0mfn−i×S,m−i×Ami×Cni×S×gi×wi\sum_{i=0}^m f_{n-i\times S,m-i}\times A_{m}^{i}\times C_{n}^{i\times S}\times g_i \times w_i∑i=0mfn−i×S,m−i×Ami×Cni×S×gi×wi.

其中 gi=Ci×SS×gi−1g_i=C_{i\times S}^S \times g_{i-1}gi=Ci×SS×gi−1

关键就是求这个 fff.

发现这个 fff 在 n−i×S,m−in-i\times S,m-in−i×S,m−i 才有用,即 x0+i×Sx_0+i\times Sx0+i×S,y0+iy_0+iy0+i。

重新设 fif_ifi 表示原 fx0+i×S,y0+if_{x_0+i\times S,y_0+i}fx0+i×S,y0+i。

fi=∑j=1i−1fj×gi−j×Cijf_i=\sum_{j=1}^{i-1} f_j\times g_{i-j}\times C_i^jfi=∑j=1i−1fj×gi−j×Cij。

卷积,NTT优化。没时间打了~


好像是错的,看了题解,要用二项式反演。

二项式反演

感觉其实是将类似"恰好"转化成"任意",假如令 fnf_nfn 表示"恰好"为 nnn 的特定结构的方案数,gng_ngn 为"任意"特定结构的方案数。

显然 gn=∑i=1nCni×fig_n= \sum_{i=1}^n C_n^i\times f_ign=∑i=1nCni×fi。

则有 fn=∑i=1nCni×(−1)n−i×gif_n= \sum_{i=1}^n C_n^i\times (-1)^{n-i} \times g_ifn=∑i=1nCni×(−1)n−i×gi。

它还有其它形式对于 gn=∑i=nNCin×fig_n=\sum_{i=n}^N C_i^n\times f_ign=∑i=nNCin×fi,则有 fn=∑i=nNCni×(−1)i−n×gif_n= \sum_{i=n}^N C_n^i\times (-1)^{i-n} \times g_ifn=∑i=nNCni×(−1)i−n×gi

不会证明。


回到这道题,还是一样考虑恰好为 iii 个 SSS 的方案数,设其为 fif_ifi,用 gig_igi 表示大于等于 iii 个的方案数。

gi=Cmi×AnS×i(S!)i×(m−i)n−S×ig_i=C_m^i \times \frac{A_n^{S\times i}}{(S!)^i} \times (m-i)^{n-S\times i}gi=Cmi×(S!)iAnS×i×(m−i)n−S×i.

也有 gi=∑j=inCji×fjg_i=\sum_{j=i}^n C_j^i\times f_jgi=∑j=inCji×fj

反演得,fi=∑j=in(−1)j−i×Cji×gjf_i=\sum_{j=i}^n (-1)^{j-i}\times C_j^i\times g_jfi=∑j=in(−1)j−i×Cji×gj.

可用NTT优化卷积。

相关推荐
qq_416018722 小时前
设计模式在C++中的实现
开发语言·c++·算法
倾心琴心2 小时前
【agent辅助pcb routing coding学习】实践9 CU GR 代码 算法学习
算法·agent·pcb·eda·routing
数据智能老司机2 小时前
谷歌 TurboQuant 深度拆解:LLM 内存压缩 6 倍、推理加速 8 倍、零精度损失,它是怎么做到的?
算法
2301_776508722 小时前
C++与机器学习框架
开发语言·c++·算法
ALex_zry2 小时前
现代C++设计模式实战:从AIDC项目看工业级代码架构
c++·设计模式·架构
Albertbreak2 小时前
STL容器内部实现剖析
开发语言·c++·算法
chudonghao2 小时前
[UE学习笔记][基于源码] 理解 Gameplay
c++·笔记·学习·ue5
CoovallyAIHub2 小时前
AAAI 2026 | AnoStyler:文本驱动风格迁移实现零样本异常图像生成,轻量高效(附代码)
算法·架构·github
2301_795741792 小时前
模板编译期机器学习
开发语言·c++·算法