P3784 [SDOI2017]遗忘的集合
非常神仙的一道题!
题意:给出某n个数字跑完全背包m容量的dp数组,求满足要求的字典序最小的n个元素,不知道n是多少。
首先考虑付公主的背包这个题。
对dp数组求一个ln,设它为F。
已知 e(G1+G2+G3)=eF,其中Gi是第i个物品的生成函数求ln。(重量为i的物品的Gi=∑ 1/i ✖ x^vi)
(上面用到的都是付公主的背包中的一些结论)
设ans[n]表示是否有n这个物品,有的话为1,没有为0。
然后显然就有 F【n】=∑ d|n ans[d] ✖ (1/(n/d)) =∑ d|n ans[d]*d/n
等价于 F[n] ✖ n=∑ d|n and[d] ✖ d
调整一下F数组和ans数组,愉快的mobius反演一下就可以求出ans数组了。
本来是一个非常好的题,但非要强行加一个MTT就太毒瘤了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步