首页 > 其他分享 >luogu P8367 [LNOI2022] 盒

luogu P8367 [LNOI2022] 盒

时间:2023-03-05 21:11:58浏览次数:56  
标签:LNOI2022 limits luogu Sum choose P8367 sum 式子

题面传送门

比较厉害的题目。

首先我们发现我们只需要计算 \(i\) 和 \(i+1\) 之间经过的货物数,也即设 \(a\) 的前缀和为 \(Sum\) ,\(b\) 的前缀和为 \(c\),则 \(i\to i+1\) 经过的货物数量就是 \(|Sum_i-c_i|\),价值就是 \(|Sum_i-c_i|w_i\)。

我们现在已经知道 \(Sum\) 了,不妨枚举 \(c\) 。容易发现方案数就是前 \(i\) 个放 \(c_i\) 个,后 \(n-i\) 个放 \(S-c_i\) 的方案数。答案也就是 \(\sum\limits_{i=1}^{n-1}{w_i\sum\limits_{j=0}^{S}{|Sum_i-j|{i+j-1\choose i-1}{n-i+S-j-1\choose S-j}}}\)

外面的 \(w\) 可能不一样,因此我们考虑对于每个 \(i\) ,求出里面这个式子。

显然先把绝对值给卸了。这里就讨论 \(Sum_i\leq j\) 的情况,另一部分同理。

然后列出来,把里面的 \(j\) 消掉,就变成

\[Sum_i\sum\limits_{j=0}^{Sum_i}{{i+j-1\choose i-1}{n-i+S-j-1\choose S-j}}-i\sum\limits_{j=0}^{Sum_i}{{i+j-1\choose i}{n-i+S-j-1\choose S-j}} \]

你发现其实后面这个和前面这个是很类似的,不妨设 \(F(i,Sum_i,n,S)=\sum\limits_{j=0}^{Sum_i}{{i+j-1\choose i-1}{n-i+S-j-1\choose S-j}}\),那么式子可以变成 \(Sum_iF(i,Sum_i,n,S)-iF(i+1,Sum_i-1,n+1,S-1)\)。我们只需要考虑 \(F\) 的计算。

假设所有 \(i\) 都相等,那么这个其实是平凡的。每次只需要暴力移动 \(Sum_i\) 即可,均摊是 \(O(S)\) 的。如果我们有一种能 \(O(1)\) 移动 \(i\) 的方法,那么求 \(F\) 就不再困难。

直接对着这个式子化肯定不行。考虑其组合意义,你会发现就是在 \(n+S-1\) 的盒子上放 \(n-1\) 个球,每个盒子只能放一个,且第 \(i\) 个球不能超过 \(i+Sum_i\) 的方案数。

这还有另一种计算方法:枚举 \(j\in [i,n-1]\) 表示在 \(i+Sum_i\) 范围内的球的个数。容易得到式子:

\[F(i,Sum_i,n,S)=\sum\limits_{j=i}^{n-1}{{i+Sum_i\choose j}{n+S-i-Sum_i-1\choose n-j-1}} \]

只要让 \(i\to i+1,Sum\to Sum-1\),就可以 \(O(1)\) 实现将 \(i\) 变大。

然后另一边干同样的事情即可,时间复杂度 \(O(T(n+S))\)。

submission

标签:LNOI2022,limits,luogu,Sum,choose,P8367,sum,式子
From: https://www.cnblogs.com/275307894a/p/17181677.html

相关文章

  • luogu P8294 [省选联考 2022] 最大权独立集问题
    题面传送门做了半个下午,写了大半个晚上,真的是dirtywork。首先一个点只会和父亲交换一次,并且交换了两边就相对独立了。因此我们考虑从这个方面入手dp。设\(f_{i,x,y}......
  • Luogu3731 新型城市化 - 二分图 - 网络流 - 强连通分量 -
    题目链接:https://www.luogu.com.cn/problem/P3731题解:考虑原图的补图,因为题目中保证了城市群最多有两个,因此补图是一个二分图,城市群等价于独立集原题转化成了,删去一条边......
  • luogu P6276 [USACO20OPEN]Exercise P
    题面传送门首先考虑一个固定排列的答案是什么。考虑它的若干置换环,应该是所有环环长的LCM,所有数都会转回本来的位置。现在变成计算所有环的环长的LCM的积的问题。注意......
  • 【luogu CF1098D】Eels(结论)
    Eels题目链接:luoguCF1098D题目大意有一个可重集,每次操作会放进去一个数或者取出一个数。然后每次操作完之后,问你对这个集合进行操作,每次选出两个数a,b加起来合并回......
  • luogu P8444 不等价交换法则
    题目传送门分析仔细审了题面,猜想是贪心模拟,下面给出证明:因为只能用元买一个商品,所以要挑贵的买(越贵,换得的商品越多),后令商品尽可能的去换低价格的商品,即把手头所有的商品......
  • [luogu P4705玩游戏] 题解
    P4705玩游戏题解题意概括给出两个序列\(a_0,a_2,\cdotsa_{n-1}\),\(b_0,b_2,\cdotsb_{m-1}\),从两个序列中各等概率的选出两个数\(a_i,b_j\),对于\(k\in[1,t]\)......
  • Solution Luogu6097 子集卷积
    其实是暴力。因为这是模板题,所以模板的前置知识也要讲。前置知识:FWT计算或卷积。这里只需要掌握快速计算或卷积的方法,所以内容较少。如果向了解更多(比如异或卷积)的话......
  • LuoguP5354 [Ynoi2017]由乃的OJ题解
    P5354[Ynoi2017]由乃的OJPreface自己的由乃题一血,写篇题解纪念一下。Description给定一颗\(n\)个结点的树,每个结点都有一个权值\(a_i\)和一个位运算符\(\mathrm{......
  • 【题解】Luogu P3939 数颜色
    题目分析:解法一:显然我们可以直接对每一种颜色建一棵线段树,然后剩下的操作就非常简单了。代码:点击查看代码#include<bits/stdc++.h>usingnamespacestd;constint......
  • luogu7764[COCI2016-2017#5] Poklon
    luogu7764[COCI2016-2017#5]Poklonlink莫队解法看了题面之后,便知道能用莫队做。我们知道数组中的数据范围是小于\(10^{9}\)的自然数,而\(1\leN,Q\le5\times10......