首页 > 其他分享 >11.25 模拟赛

11.25 模拟赛

时间:2024-11-25 21:11:53浏览次数:9  
标签:11.25 dbinom sum 中选 mid long 模拟 DP

复盘

T1 好像很可做。推式子启动。1h 过了大样例。

T2。怎么又是组合数,比普通的范德蒙德卷积多一个上限?这可做吗?好像不会,部分分启动。

有 \(45\) 分暴力。两个简单的性质能做到 \(55\) 分。但 \(n-m\le 20\) 真的没有思路。事实上这个东西非常好做(观察组合数什么是否为 \(0\))但是没想到。

T3。\(\mathcal O(n^2)\) 好像非常简单。直接开写!

……?复杂度好像算错了,是三次方的。重新想。

发现还是很简单。很快写完了。

赛后发现这个做法是能通过 \(t\) 全部相同的。但是没写。

预计 \(100+55+30+0\),然后 T3 没开 long long 炸了 \(20\)。

总结

好的:

  • T1 做对了。但好像比正解复杂,但是积累了一个方案数转期望再转方案数的 trick。

不足:

  • long long
  • 最后时间太紧张,T3 是可以拿 \(45\) 分的(如果开了 long long)
  • T2 没做出来。感觉头脑清醒的话做出来问题不大。

知识点

T1:基环树,数学

T2:数学

T3:树形 DP,换根 DP

题解

A. 强连通分量

赛时写的打草用的,发现可以直接当总结的题解。

考虑一颗基环树的答案。

环上有 \(a\) 个点,环外有 \(b\) 个点。

枚举总共删 \(x\) 个点。

如果全删环外,scc 数量为 \(b+1-x\)。

如果删 \(i\) 个环内,scc 数量为 \(b+b-x\)。

所以要求的是:

\[\sum_x\left( (b+1-x) \dbinom bx + \sum_{i=1}^a \dbinom ai \dbinom b{x-i} (a+b-x)\right) \]

怎么快速求:

\[\sum_{i=1}^a\dbinom ai \dbinom b{x-i} \]

范德蒙德卷积!

组合意义是,总共选 \(x\) 个物品,从 \(a\) 中选 \(i\) 个,从 \(b\) 中选 \(x-i\) 个,\(i \ge 1\),方案数。

可以看作从 \(a+b\) 中选 \(x\) 的方案数,减去从 \(b\) 中选 \(x\) 的方案数。

\[\dbinom {a+b}x-\dbinom bx \]

怎么合并两颗子树的答案?

转成期望。然后直接线性性相加。

\[(\dfrac a{2^A}+\dfrac b{2^B}) \times 2^{A+B} \]

B. 《原神》

快进到求:

\[\sum_{i=0}^{n} f(i)\dbinom xi\dbinom {m-x}{n-i} \]

其中 \(f(i) = 2 \operatorname{highbit}(i+1)\)。

注意到对于 \(i \in [2^{j-1}-1,2^j-2]\),都有 \(f(i)=2j\),因此可以分成 \(\log\) 个段,分别计算。

为了方便记 \(l_j = 2^{j-1}-1,r_j = 2^j-2\)。

\[\sum_{j=1}^{30} 2j \times\sum_{i=l_j}^{r_j}\dbinom xi \dbinom {m-x}{n-i} \]

考虑如何快速计算 \(g(x,k)=\sum\limits_{i=0}^k\dbinom xi \dbinom {m-x}{n-i}\)。那么上式的后半部分就是 \(g(x,r_j)-g(x,l_j-1)\)。

考虑其组合意义:

  • 有 \(m\) 个物品,要选 \(n\) 个,且前 \(x\) 个中选择的物品 \(\le k\) 个。

一个事实是当 \(k \ge x\) 时 \(g(k,x)=\dbinom mn\)。

考虑 \(g(k,x) \to g(k,x+1)\) 的增量,或者说 DP 转移。

注意到只有一种方案是不合法且被转移过去的,即 第 \(x+1\) 个物品选,且前 \(x\) 个物品中选了 \(k\) 个。这种情况的方案数是 \(\dbinom xk \dbinom {m-x-1}{n-k-1}\)。所以:

\[g(k,x+1) = g(k,x)-\dbinom xk \dbinom {m-x-1}{n-k-1} \]

C. 叶子

首先每个叶子最终走到的有效计分点,一定是 \(s \rightsquigarrow t\) 路径的一段前缀。不妨二分这个点 \(mid\)。然后需要 check:

  • 所有能到达 \(mid\) 的叶子节点中,\(s \rightsquigarrow t\) 是否是长度最短的。

不妨将 \(t\) 设为根。那么能到达 \(mid\) 的叶子节点,等价于 \(mid\) 的子树内的叶子节点。

于是对于每次询问给定的 \(t\) 都做一遍这样的树形 DP。复杂度 \(n|\{t_{1\sim q}\}|\)。有 \(45\) 分。

考虑优化。我们把 \(s \rightsquigarrow t\) 的路径画出来:

image-20241125165341702

当以 \(t\) 为根时,\(v_1\) 的子树仍是原始的子树,而 \(v_2\) 的子树全部取了反。于是换根 DP。

标签:11.25,dbinom,sum,中选,mid,long,模拟,DP
From: https://www.cnblogs.com/2huk/p/18568749

相关文章

  • 11.25随笔
    这里是11.25随笔。本周作业:没写完差旅费报销管理信息系统2.1页面要求(1)系统可以通过浏览器直接访问;(1分)(2)各个功能页面整体风格统一;(3)首页为用户登录页面,职员、职员经理、总经理、财务人员四种角色用户登录后,进入相应的功能页,只能看到角色允许访问功能模块,用户登录界面包含用户......
  • NOIP 模拟 16
    A图直接上std::bitset。B序列首先赋值在加法前,加法在乘法后,一个有效的赋值可以看做一个加法,乘法的顺序无所谓,直接加最大,考虑把加法转化成乘法,那就看加的数在原数的占比,需要考虑加法的顺序,一定是先加大的,所以直接排序后转化成乘法就好了。C树究极换根DP好题。先看\(D=......
  • NOIP 模拟 17
    A镜的绮想直接做,不过如果\(n=2e5\)咋做?B万物有灵倒着选一定最优,然后每\(K\)层是一个周期,为了避免分讨,使\(K\gets2K\),写完贡献的式子是等比数列,但是这题卡逆元,所以用矩阵加速或者倍增求和即可。C白石溪\(n^2\)DP容易想到,但是无论如何都需要石子数量的状态,整个是2D......
  • 11.25 ~ 11.30
    11.25早读的时候吃了\(\text{Huge}\)一个小技能......
  • 2024.11.25 test
    A我唐氏了,原来分层图后可以变成DAG少一只log。B一场比赛有\(n\)人参加,已知第一天第\(i\)个人得到了\(A_i\)分,且分数互不相同,第二天每个人的得分将是一个\(1\simn\)的排列,比赛的排名按两天的总分从大到小排序(有同分则随机排序)。给定\(P\)求符合以下要求的三元组$......
  • 2024.11.25 noip模拟赛
    赛时T1发现公差只有\(m/n\)个,可以枚举,对于每个数在一个公差下可以推出首项为几是它才不改变,我开\(map\)存了在这个公差,首相下有几个\(a\)可以不变。此时快九点。T2很快有了\(O(n^3)\)的做法,感觉很好写,就没有立即写,想着再想想,把后面的题想了一圈,受挫,回来老实码,码完不过......
  • 2024.11.25总结
    本文于github博客同步更新。A:限制等价于位置\(i\)的所有可能情况平均值均大于等于整体平均值,用个双指针模拟即可。无解情况是不存在的。B:\(i\)使用优惠卷而\(b\)未使用,若想让\(i\)的优惠卷给\(j\)用,需要满足\(a_i-b_i<a_j-b_j\)。然后我们每次找到一个原价/优......
  • 11.25 鲜花
    推歌-《半岛铁盒》走廊灯关上书包放走到房间窗外望回想刚买的书一本名叫半岛铁盒放在床边堆好多第一页第六页第七页序我永远都想不到陪我看这书的你会要走不再是不再有现在已经看不到铁盒的钥匙孔透了光看见它锈了好久好旧好旧外围的灰尘包围了我好暗好......
  • 2024.11.25 NOIP2024模拟赛
    挂了若干分。赛时T1赛时开了\(T1\),最开始都没有往正解去想,当时想着$\Deltay$是可以枚举的范围,于是我就先枚举了公差,之后再把处于同一个系中的数绑一块,然后我加了个所谓的\(n^2\)优化,但其实根本没用,应为肯定会覆盖\([0,(m-1)/(n-1)]\),可以省掉一个\(n^2\)。然后(没删反......
  • [2024.11.25]NOIP全真模拟赛
    总榜rk6,但是发现只需要改3s的T1就可以拿到rk2,但是没有如果。赛时T1怎么像是原啊,算了反正不记得。总结关键词:斜率为非负整数,直线在某区间内的高度有限制。想了想,发现斜率最大值是\(m\overn\)级的,所以后面显然可以再乘上一个\(n\)。于是有思路:枚举斜率\(k\),对每个......