首页 > 其他分享 >洛谷P9035 Pont des souvenirs 题解

洛谷P9035 Pont des souvenirs 题解

时间:2023-02-05 15:58:20浏览次数:63  
标签:underset 洛谷 P9035 题解 sum times leq choose overset

题面很简洁,这里不做多说。

70pts 做法

首先考虑到 \(a_{n-1}\) 和 \(a_n\) 两项是整个数列 \(a\) 中的最大的两项,所以若 \(a_{n-1}+a_n\) 不超过 \(k+1\),则数列中任意两项之和肯定不超过 \(k+1\)。

考虑当 \(a_{n-1}=x\) 时,首先可以计算出 \(a_n\) 的取值范围:

  • 因为 \(a_{n-1}\leq a_n\),故 \(a_n\geq x\)。

  • 因为 \(a_{n-1}+a_n\leq k+1\),则 \(a_n\leq k+1-x\)。

所以 \(x\leq a_n\leq k+1-x\),取值数量为 \(k+2-2x\),当 \(x > k+1-x\) 时取值数量为 \(0\)。

考虑第一个约束,因为:

\[1\leq a_1\leq a_2\leq ...\leq a_{n-2}\leq a_{n-1} \]

将不等式的每一个部分加上下标,为了方便,下式的表达式所加的下标从 \(0\) 开始:

\[1\leq a_1+0 < a_2+1< ...< a_{n-2}+n-3 < x+n-2 \]

所以 \(a_{n-2}+n-3\leq x+n-3\)。

具体证明本蒟蒻不太会,建议查询相关资料。

于是我们可以得到 \(a\) 数列的前 \(n-2\) 项就是在 \([1,x+n-3]\) 范围中选择 \(n-2\) 个数,方案数为 \({x+n-3\choose n-2}\)。

于是对于 \(a_{n-1}=x\),方案数为 \({x+n-3\choose n-2}\times \max(k+2-2x,0)\)。

累加所有的可能,答案为:

\[\overset{k+1}{\underset{i=1}{\sum}} {i+n-3\choose n-2}\times \max(k+2-2i,0) \]

100pts 做法

我们只需要化简如上求和式子即可,本蒟蒻不会等号对齐,故观感可能较差。

首先 \(\max(k+2-2i,0)\) 很难化简,于是我们需要求出 \(i\) 的上界,解不等式可得 \(\lfloor { \frac{k+1}{2} } \rfloor\),为了之后化简的方便,以下用 \(m+1\) 代替该数字。

\[\overset{k+1}{\underset{i=1}{\sum}} {i+n-3\choose n-2}\times \max(k+2-2i,0) \]

化为:

\[\overset{m+1}{\underset{i=1}{\sum}}{i+n-3\choose n-2}\times (k-2i) \]

运用乘法分配律得:

\[k\times \overset{m}{\underset{i=0}{\sum}} {i+n-2\choose n-2} - 2\times \overset{m}{\underset{i=0}{\sum}} {i+n-2\choose n-2}\times i \]

由组合数公式,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{i=0}{\sum}} {i+n-2\choose n-2}\times i \]

由于 \(\times 0\) 无意义,故省去,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{i=1}{\sum}} {i+n-2\choose n-2}\times i \]

变换形式,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{i=1}{\sum}} \overset{i}{\underset{j=1}{\sum}} {i+n-2\choose n-2} \]

调换求和顺序,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{j=1}{\sum}} \overset{m}{\underset{i=j}{\sum}} {i+n-2\choose n-2} \]

将第二个求和换成两式相减,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{j=1}{\sum}} (\overset{m}{\underset{i=0}{\sum}} {i+n-2\choose n-2} - \overset{j-1}{\underset{i=0}{\sum}} {i+n-2\choose n-2}) \]

运用组合数公式,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{j=1}{\sum}} ({m+n-1\choose n-1} - {j-1+n-1\choose n-1}) \]

拆除一个括号,方便化简,得:

\[k\times {m+n-1\choose n-1} - 2\times \overset{m}{\underset{j=1}{\sum}} {m+n-1\choose n-1} + 2\times \overset{m}{\underset{j=1}{\sum}} {j-1+n-1\choose n-1} \]

化简第一个求和,得:

\[k\times {m+n-1\choose n-1} - 2m\times {m+n-1\choose n-1} + 2\times \overset{m}{\underset{j=1}{\sum}} {j-1+n-1\choose n-1} \]

降低求和范围,得:

\[(k-2m)\times {m+n-1\choose n-1} + 2\times \overset{m-1}{\underset{j=0}{\sum}} {j+n-1\choose n-1} \]

运用组合数公式,得:

\[(k-2m)\times {m+n-1\choose n-1} + 2\times {m+n-1\choose n} \]

至此,我们就化简完毕,可以预处理阶乘及其逆元,求组合数时 \(\mathcal{O}(1)\) 求解,记得取余。

标签:underset,洛谷,P9035,题解,sum,times,leq,choose,overset
From: https://www.cnblogs.com/ydzr00000/p/17093468.html

相关文章

  • P2016题解
    P2016题解题目描述Bob要建立一个古城堡,城堡中的路形成一棵无根树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能瞭望到所有的路。注意,某个士兵在一个结点上时......
  • CF1666K Kingdom Partition 题解
    神仙网络流题。Description传送门Solution考虑最小割,将每个点\(u\)拆成\(L_u,R_u\)两个点。对于每一条原图中的边\((u,v,w)\),连双向边\((L_u,R_v,w),(L_v,R_u,w)......
  • 题解 ARC155D Avoid Coprime Game
    题解ARC155DAvoidCoprimeGame题意给定一个可重集\(S\),保证\(\gcd_{x\inS}(x)=1\),维护一个初始为\(0\)的整数\(G\),双方轮流操作,每次每人选择\(S\)中一个数......
  • circle 题解(思维+堆)
    题目有\(n\)个圆心在\(x\)轴上的不相交的圆(存在边界重合),求这些圆将平面分为几部分。保证\(1\leqn\leq3\times10^5\),\(-10^9\leqx_i,y_i\leq10^9\)。一个......
  • CF765F Souvenirs 题解
    Preface在会压位Trie的前提下,本题最好想的做法应该是压位Trie+回滚莫队,可是竟然没人写这个做法的题解?Solution我们先转化题意:设\(a_i\)在\([l,r]\)中的前驱后继......
  • PAT乙级题解
    1001害死人不偿命的(3n+1)猜想传送门知识点:简单模拟思路:判断奇偶,根据题意即可参考代码:点击查看代码#include<iostream>usingnamespacestd;intmain(){i......
  • 题解 G. Grammar Path 2020-2021 ICPC NERC (NEERC), North-Western Russia Regional
    传送门【大意】给定一个CNF和一个有向图。有向图上的每一条边都写上了一个字母。要求你从\(s\)到\(t\)走一条尽可能短的路,且将经过的字母写下来后,这个字符串能被......
  • [JOI 2021 Final] 地牢 3 题解
    做法学习自日语酱的题解/hs/bx。本文旨在讲述我个人看完题解对此题做法的理解,可以视作对日语酱题解的注解(?。本人很菜,很可能出错,请谅解qwq。首先,对样例进行模拟,得到......
  • 最小公倍佩尔数 题解
    首先需要知道\(f\)是个啥这里直接给出结论,过程可以看大佬的博客\(f(n)=2f(n-1)+f(n-2)\)\(f(0)=0\)\(f(1)=1\)这种类似斐波那契数列的递推式有结论\(gcd(......
  • P3119 [USACO15JAN]Grass Cownoisseur G 题解
    做过的原题,模拟赛时PDF里的题面实在有点难受。首先有显然结论:在一个环上反走一定是不值的,因为环上的点本来就相互可达。所以考虑缩点。缩点后的问题可以看成:求对于每一......