ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AGC005

2022-02-08 10:32:54  阅读:167  来源: 互联网

标签:AGC005 sum texttt 先手 Easy mathcal binom


A

模拟。

B

从小到大枚举。

C \((\texttt{Easy} \ 2 / 0)\)

考虑找出最大的 \(a_i\) 作为直径,然后在上面挂点。

设 \(m = \max a_i\),我们由此可以得出有解的充要条件:

  • 能找出 \(m + 1\) 个点构成直径。
  • 剩下的点 \(i\) 需要满足 \(a_i > \left\lceil\frac{m}{2}\right\rceil\)。

时间复杂度 \(\mathcal{O}(n)\)。

D \((\texttt{Easy} \ 3 / 0)\)

刚开始想到一个雷哥 \(n\) 元生成函数做法,但是到后面发现其实根本不用,容斥一下就可以了。

具体地,设 \(g_i\) 表示钦定 \(i\) 个位置满足 \(|p_i - i| = k\) 的方案数,那么答案可以用 \(\sum_i (-1) ^ i g_i\) 表示。

考虑 \(g_i\) 怎么求。发现如果钦定 \(|p_i - i| = k\) 的话,模 \(2k\) 不同余的数之间是不会影响的。考虑所有模 \(2k\) 同余的数,它们的选择等价于在一条链上选若干对不重复的相邻的点,而在一条 \(n\) 个点的链上选 \(m\) 对不重复的相邻的点的方案数为 \(\binom{n - m}{m}\),所以可以直接背包合并。

暴力是 \(\mathcal{O}(n^2)\) 的,使用多项式科技可以优化至 \(\mathcal{O}(n \log n)\)。

E \((\texttt{Medium} \ 4 / 1)\)

一个显然的事实是,如果先手能走到一条红边,其两个端点在蓝树中的距离不小于 \(3\),并且后手下一步抓不到他,那么游戏就不可能结束了。

将后手起点 \(y\) 设为蓝树的根,那么如果不存在上述情况,因为先手走一步是在蓝树上走至多 \(2\) 步,所以先手会一直在蓝树上后手的子树内。

再次观察,可以注意到一个引理:

引理:设 \(dr_u\) 为红树中 \(\text{dist}(x, u)\)、\(db_u\) 为蓝树中 \(\text{dist}(y, u)\),则 \(2dr_u\) 时刻游戏未结束且先手在 \(u\) 节点是可能的当且仅当对于红树中 \(x \to u\) 路径上的任意点 \(v\) 都有 \(dr_v < db_v\)。

这下就简单了,我们可以方便地判断一个点是否是安全可达的。如果存在两端点在蓝树中距离 \(\ge 3\) 的红边端点是可达的,那么答案就是 \(-1\)。否则枚举在哪里死的,对于所有的可达点 \(u\),把 \(2db_u\) 取 \(\max\) 即可得到答案。

时间复杂度 \(\mathcal{O}(n)\)。

F \((\texttt{Easy} \ 3 / 2)\)

史上最水的 F 题。

容斥。首先把点的贡献转化为边的贡献,一条边不在包含一个点集的最小连通块内等价于这个点集中所有点都在这条边的一侧。假设一条边把树分为了大小为 \(m\) 和 \(n - m\) 的两部分,那么它没有产生贡献的大小为 \(i\) 的点集就有 \(\binom{m}{i} + \binom{n - m}{i}\) 个。

所以这个问题就变成了给定 \(a_1, \cdots, a_n\),对于 \(i = 1, 2, \cdots, n\) 求 \(f_i = \sum_j a_j \binom{j}{i} = \sum_j \frac{a_jj!}{i!(j - i)!}\),差值卷积即可。

本题的模数虽然是 \(\rm NTT\) 模数,但是其原根为 \(5\)。

标签:AGC005,sum,texttt,先手,Easy,mathcal,binom
来源: https://www.cnblogs.com/Scintilla/p/15870335.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有