AtCoder Grand Contest 070

news/2025/3/10 12:05:56/文章来源:https://www.cnblogs.com/definieren/p/18762350

AGC070A Multiples in the String

太难。

AGC070B Odd Namori

考虑给每个点钦定一个出边,得到一张图,那么要求就是不能有偶环,要计算的是 \(2^{\text{奇环个数}}\)

将贡献看成钦定奇环的方案数,那么就是每钦定一个偶环就乘 \(-1\) 的容斥系数,每钦定一个奇环就乘 \(1\) 的系数。

自然地考虑凑个行列式,对于 \(p_i = i\) 的点,认为它是出边随便连的点;对于一个长为 \(k\) 的环,它有 \(k - 1\) 个逆序对,我们认为它的容斥系数是 \((-1)^{k-1}\),这样就凑出行列式。

记邻接矩阵为 \(A\),度数矩阵为 \(D\),那么根据上面的分析,答案显然为 \(\operatorname{det}(A +D)\)

考虑模拟高斯消元,过程比较简单(难以描述)

时间复杂度 \(O(n \log V)\)

AGC070C No Streak

一定是恰好平局 \(M = N - A - B\) 次。

考虑看成二维平面上的折线,记 \(F(n, m, k)\) 表示走到 \((n, m)\),不跨过 \(y = x\),且恰好有 \(k\) 个拐点的方案数,那么答案为:

\[\sum_{1 \le k \le N} \binom{M + k +1}{A + B} \cdot F(A, B, k) \]

先考虑没有 \(y = x\) 相关的限制怎么做,记 \(f(n, m, k)\) 表示从 \((0, 0)\) 走到 \((n, m)\),恰好有 \(k\) 个拐点的方案数,通过简单的分类讨论可以得到:

\[f(n, m, k) = \begin{cases} \displaystyle 2 \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} &, \text{ if } k \equiv 1 \pmod 2 \\ \displaystyle \binom{n - 1}{\frac{k}{2} - 1} \binom{m- 1}{\frac{k}{2}} + \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1}&, \text{ if } k \equiv 1 \pmod 2 \\ \end{cases} \]

现在来解决不能穿过 \(y = x\) 这个限制。

对于一般的情况,我们通常是通过反射容斥的方式来解决这个问题。

但是这里的问题是通过反射容斥的方式翻折后转折点个数是不好确定的,所以考虑构造双射使得翻折后转折点个数恰好减少 1:

  • 找到不合法的折线与 \(y = x-1\) 第一次接触的位置,并翻折形成走到 \((n+1, m-1)\) 的折线。
  • 若这条折线与 \(y = x - 1\) 相交后走的第一步 \((1, 0)\),将交点后到这一步之间的部分(包括这一步)全部删掉,形成新的折线。

不难验证转折点个数一定减少 1,这样就构造出了符合条件的双射。

考虑枚举相交后向上走的步数,可以得到:

\[F(n, m, k) = f(n, m, k) - \sum_{i \ge 0} f(m - i - 1, n, k - 1) \]

\(k\) 是奇数时:

\[\begin{aligned} F(n, m, k) &= f(n, m, k) - \sum_{i \ge 0} f(m - i - 1, n, k - 1) \\ &= 2 \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} - \sum_{i \ge 0} \left( \binom{m - i - 2}{\frac{k-1}{2} - 1} \binom{n- 1}{\frac{k-1}{2}} + \binom{m - i - 2}{\frac{k-1}{2}} \binom{n - 1}{\frac{k-1}{2} - 1} \right) \\ &= 2 \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} - \sum_{m - 2 - i \ge 0} \binom{m - (m - 2 - i) - 2}{\frac{k-1}{2} - 1} \binom{n- 1}{\frac{k-1}{2}} - \sum_{m - 2 - i \ge 0}\binom{m - (m - 2 - i) - 2}{\frac{k-1}{2}} \binom{n - 1}{\frac{k-1}{2} - 1} \\ &= 2 \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} - \binom{n- 1}{\frac{k-1}{2}} \sum_{i \le m - 2} \binom{i}{\frac{k-1}{2} - 1} - \binom{n - 1}{\frac{k-1}{2} - 1} \sum_{i \le m - 2}\binom{i}{\frac{k-1}{2}} \\ &= 2 \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} - \binom{n- 1}{\frac{k-1}{2}} \binom{m-1}{\frac{k-1}{2}} - \binom{n - 1}{\frac{k-1}{2} - 1} \binom{m-1}{\frac{k+1}{2}} \\ &= \binom{n - 1}{\frac{k - 1}{2}} \binom{m - 1}{ \frac{k - 1}{2}} - \binom{n - 1}{\frac{k-1}{2} - 1} \binom{m-1}{\frac{k+1}{2}} \\ \end{aligned} \]

\(k\) 是偶数时:

\[\begin{aligned} F(n, m, k) &= f(n, m, k) - \sum_{i \ge 0} f(m - i - 1, n, k - 1) \\ &= \binom{n - 1}{\frac{k}{2} - 1} \binom{m- 1}{\frac{k}{2}} + \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1} - \sum_{i \ge 0} 2 \binom{m - i - 2}{\frac{k - 2}{2}} \binom{n - 1}{ \frac{k - 2}{2}} \\ &= \binom{n - 1}{\frac{k}{2} - 1} \binom{m- 1}{\frac{k}{2}} + \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1} - 2 \binom{n - 1}{ \frac{k - 2}{2}} \sum_{m - 2 - i \ge 0} \binom{m - (m - 2 - i) - 2}{\frac{k - 2}{2}} \\ &= \binom{n - 1}{\frac{k}{2} - 1} \binom{m - 1}{\frac{k}{2}} + \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1} - 2 \binom{n - 1}{ \frac{k - 2}{2}} \sum_{i \le m - 2} \binom{i}{\frac{k - 2}{2}} \\ &= \binom{n - 1}{\frac{k}{2} - 1} \binom{m- 1}{\frac{k}{2}} + \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1} - 2 \binom{n - 1}{ \frac{k - 2}{2}} \binom{m - 1}{\frac{k}{2}} \\ &= \binom{n - 1}{\frac{k}{2}} \binom{m - 1}{\frac{k}{2} - 1} - \binom{n - 1}{ \frac{k}{2} - 1} \binom{m - 1}{\frac{k}{2}} \\ \end{aligned} \]

时间复杂度线性。

后面的俩太难了 /ll

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/896759.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

No.44 ES6---Babel转码器(安装有点问题,用到再说)

一、Babel转码器Babel是一个广泛使用的 ES6 转码器,可以将 ES6 代码转为 ES5 代码,从而在老版本的浏览器执行。 这意味着,你可以用 ES6 的方式编写程序,又不用担心现有环境是否支持。 1.浏览器支持性查看https://caniuse.com/2.Babel 官网https://babeljs.io/3.转码示例原始…

kubesphere中查看argocd登陆密码

获取argocd密码PASSWORDkubectl get secret argocd-initial-admin-secret -nargocd -o jsonpath="{.data.password}"|base64 -d 登陆: admin/PASSWORD

rockchip sdk使用make menuconfig无法删除选项文字(MobaXterm)

问题:在使用make menuconfig编辑内核配置时,按退格键删除不了相关选项,如下图所示:解决办法: 1. 在全局设置部分,把这里的退格键发送^H取消勾选:2. 在开启一个新会话时,进行同样的设置:

线控转向控制系统SbW

线控转向控制系统是一种将驾驶员对方向盘的操作信号转换为电信号,再传递给转向机,从而控制车轮完成相应的转向动作的技术。经纬恒润推出的线控转向控制系统SbW,分为路感模拟器与转向执行器,皆采用全冗余设计及主从控制方案,同时,按照ISO26262与DIN70065进行功能安全与降级…

uniapp使用scroll-view嵌套时不触发滚动事件

参考链接:微信文档:https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html uniapp文档: https://uniapp.dcloud.net.cn/component/scroll-view.html布局代码:<scroll-view scroll-y class="scroll-box" bindscrolltolower="scro…

OpenCL 调用关系

学习 OpenCL,概念很多,理解不深,所以看示例代码时比较糊涂。 于是,把调用关系简单画了个图:希望能加深理解吧。

SAP SMW0 配置EXCEL 上载模板,供其他tcode 下载模板

本文演示如何在自定义的tcoe 中,可以点击下载保存好的默认excel模板: 1. 打开 SMWO: 筛选 直接点新增 点浏览,找你本机的 excel 模板,进行上载 上载完后, 回到上载程序,点击,就能弹出需要下载的excel模板了

OP51常见问题(自动安装座板)

座板放置歪斜 1.夹爪夹住座板后,上升-->翻转180-->横移-->下降放置。需要准确放入铆钉内。 2.因为座板和夹爪都是金属件,所以旋转和横移过程中可能会发生水平方向的偏移,导致放置时对孔失败。 如果放置失败座板浮起,对光检测到了,上方的大压块会下压一次,尝试将…

YASKAWA点焊机器人维修的流程

在现代工业生产中,工业机器人发挥着至关重要的作用,而YASKAWA点焊机器人更是其中的佼佼者。然而,就像任何设备一样,机器人也会遭遇故障,这时候安川机器人维修、YASKAWA机器人维修以及工业机器人维修就显得尤为关键。一、机器人故障的常见类型YASKAWA点焊机器人在长时间的工…

Camstar中ToggleContainer标题样式改成建模框一样的

😘宝子:除非不再醒来,除非太阳不再升起,不然都请你好好生活,挣扎着前进,开心的笑。(●◡●)

Unpivot Columns与Pivot Columns的连用

一、背景 需要进行数据清洗二、 数据准备 三、操作步骤 3.1 上传数据 +3.2 UnpivotOtherColumns3.3 AddColumn 3.4 RemoveColumns3.5 Pivot

pd将字符串默认为NaN

一、背景 有些字符串会被pandas都城NaN。但是有时不想这么操作。二、数据准备 三、代码展示import pandas as pddf1 = pd.read_excel(NaNTest.xlsx) df2 = pd.read_excel(NaNTest.xlsx, na_values=[], keep_default_na=False)df = pd.concat([df1, df2], axis=1) print(df) 四、…