Para 集训

news/2025/11/7 21:59:58/文章来源:https://www.cnblogs.com/paper-book/p/19200987

Para 好闪,拜谢 Para!Para 最好啦!

[清华集训 2014] 主旋律

abs,第一题就忘了怎么做了。

DAG 计数模板题。

这里有一个经典的 trick:不是强连通分量的总会存在缩点后度数为 \(0\) 的点。但是不好直接做,考虑容斥。容斥系数当然是 \((-1)^{cnt}\) 其中 \(cnt\) 是钦定的度数为 \(0\) 的点的个数。

发现确定构成度数为 \(0\) 的点的点集后系数是确定的:\(2^{e_{S-T}}\times 2^{e_{(S-T,T)}}\),所以容斥部分可以预处理:

\(mul_S\) 表示将 \(S\) 划分为若干个独立的强联通块的方案数,带上容斥系数。\(dp_S\) 代表 \(S\) 构成一个完整强连通的方案数。

\[mul_S=-dp_S - \sum_{\emptyset\subset T \subseteq S \land \text{lowbit}(S)=\text{lowbit}(T)} dp_T\times mul_{S-T} \]

\[dp_S=2^{e_S} + \sum_{\emptyset\subset T \subseteq S} mul_T \times 2^{e_{S-T}}\times 2^{e_{(S-T,T)}} \]

根据定义转移 \(dp_S\) 的时候 \(mul_S\) 不能加上 \(dp_S\) 的贡献,所以可以先算 \(mul_S\),转移完 \(dp_S\) 后再加上去。

进行一个排的重

印象深刻,被蓝题刺杀的一集,现在再看好像也比较自然了。

首先发现 \(f(a)_{\max}\) 必定是 \(n\) 加最长上升子序列长度。因为贡献为 \(2\) 的位置至多就只有最长上升子序列的长度个,其余位置都是 \(1\) 的贡献。

那么方案数怎么求呢?首先发现确定了贡献为 \(2\) 的位置后其余点能填在哪两个之间也是确定的,所以倒着转移就行。

[APIO2016] 划艇

现在来看算是比较简单的题了。

首先显然离散化,分成 \(\text O(n)\) 段,容易想到 \(dp_{i,j}\) 表示用前 \(i\) 个学校填满了前 \(j\) 段,从 \(dp_{l,j-1}\) 转移即可。此时问题出在学校可以不参加比赛,我们不能暴力枚举参加的学校的数量,那样复杂度会达到 \(\text O(n^4)\)

求的其实是 \(n\) 个数填到 \([0,m]\) 的值域中,所有非 \(0\) 数单调递增的方案,这个其实可以直接用 \(\binom{n+m}{m}\) 表示,组合意义容易思考,啊实际上这就是范德蒙恒等式。

[CF838D] Airplane Arrangements

每日三黑噩梦生活的开端,在金佛山上写的。

考虑转化一下不合法即有人无法落座的情况:将长度为 \(n\) 的序列扩充成长度为 \(n+1\) 的环,一旦最终环上有人则不合法。又因为环上每个点都是等价的,所以合法的概率为 \(\frac{n-m+1}{n+1}\),乘上总方案数即可。

真的会有人不看题解就想得出来吗?太强了。

十二重计数法

这是个啥???

哦,原来是盒子与球。

懒得写了,该复习的时候滚回去再想一遍就行。

象棋世界

实际上只有象和王比较难。

象:

先判掉无解和一步到达的情况。

然后最短步数显然是要贴着边跳,枚举初始跳跃方向,二分步数,然后进行调整。

发现每将一个拐点往中间平移一个单位终点就会向上平移两个单位,插板法即可,实现有点难受。

王:

\(R\) 较大,考虑矩阵转移,但是这样会达到 \(\text O(C^3\log R)\) 的级别,需要优化。

\(A\) 表示转移矩阵,这里给出三个性质:

  • \(A^n_{i,j}=A^n_{j,i}(1\le i,j \le C)\)
  • \(A^n_{i,j}=A^n_{C-i+1,C-j+1}(1\le i,j \le C)\)
  • \(A^n_{i,j}=A^n_{i - 1,j - 1}+A^n_{1,i+j-1}(1\le i+j-1\le C)\)

如果满足这三个条件那么我们只需要知道矩阵的第一行与第一列即可求出矩阵,前两个正确性显然,主要难点在第三个。

考虑归纳法,考虑第一维为 \(2\)

因为 \(A^{n+1}_{1,i}=A^{n+1}_{i,1}\),所以 \(A^n_{1,i-1}+A^n_{1,i}+A^n_{1,i+1}=A^n_{i, 1}+A^n_{i,2}\),得 \(A^n_{2,i}=A^n_{1,i-1}+A^n_{1,i+1}\)

接着归纳第一维大于 \(2\)

因为 \(A^{n+1}_{k,i}=A^{n+1}_{i,k}\),所以 \(A^n_{k,i-1}+A^n_{k,i}+A^n_{k,i+1}=A^n_{i,k-1}+A^n_{i,k}+A^n_{i,k+1}\),因此 \(A^n_{k,i-1}+A^n_{k,i+1}=A^n_{i,k-1}+A^n_{i,k+1}\)

因为 \(A^n_{k,i+1}=A^n_{k-1,i}+A^n_{1,i+k}\),所以 \(A^n_{k+1,i}=A^n_{1,i+k}+A^n_{k,i-1}\)

好像是有更直接的反射容斥的做法,但是孩子的多项式是个大大大坑,所以先摆在这里有空再填吧。

[AGC039E] Pairing Points

重做一遍好像还是想不出来……

关键问题在于状态设计即子问题划分方法。

初步思考发现这东西是初始一条边,接着有许多跨越这条边两端的边,每个边的两端各对应着一个区间,在该区间内继续划分。发现只有第一条边要考虑两个端点,所以直接钦定第一条边连了 \(1\) 号点,令 \(dp_{l,r,i}\) 表示处理 \([l,r]\) 这个区间并且其中 \(i\) 号节点是连向了区间外部的那个点的方案数。

转移也有点讲究,枚举最外侧的一条边覆盖的两个区间 \([l,L],[R,r]\),然后缩成 \(dp_{L+1,R-1,i}\) 继续做,加一点优化就很容易达到 \(\text O(n^6)\),带个 \(\frac{1}{720}\) 的常数,随便过。

[AGC036F] Square Constraints

神题。

这个问题相当于是在半径为 \(n\)\(2n\)\(\frac{1}{4}\) 环中间摆 \(2n\) 个车使其互不攻击的方案数。

这种东西一般都要构造出来某种神秘的偏序关系使得前面的可选范围一定被后面的包含,然后就能直接做减法。

两个环中间夹着十分不好做,考虑没有里面的那个环,那么此时显然从最短的也就是 \(2n\) 开始做是符合上面的思想的。

比较容易想到容斥,钦定以小扇形为上界的点的数量 \(k\),令小半圆在 \(i\) 处值为 \(L_i\),大扇形为 \(R_i\)

怎么处理呢?这里 有一个非常奇妙的写法:将 \([1,n]\) 的以 \(L_i\) 为第一关键字,\((n,2n]\) 的以 \(R_i\) 为第二关键字。你可以发现这样完美契合我们最初提出的那个思想,也就是所有钦定的 \(L_i\) 一定可以影响到比它大的 \((n,2n]\)\(R_i\),令 \(dp_{i,j}\) 表示这样排序后转移到第 \(i\) 个点,钦定了 \(j\) 个以 \(L\) 为上界的方案数。

此时再想想你就会发现选取 \(R\) 为上界的 \([1,n]\) 不好求啊。这里又有一个超牛的想法:提前计算。

发现所有以 \(L\) 为上界的和 \((n,2n]\) 中的所有点和在其之前的以 \(R\) 为上界的点都一定能影响到它,后两个比较好求,可是以 \(L\) 为上界的数此时还不知道总共有多少个啊?

仔细观察你可以发现,你现在的复杂度是 \(\text O(n^2)\),而 \(n\le 250\),因此你可以直接在 \(dp\) 外部暴力枚举钦定的上界总数 \(k\),然后直接减 \(k\) 就行。

[AGC028D] Chords

非常唐的一道题。

考虑在每个联通块的左右端点记录贡献,令 \(dp_{l,r}\) 表示区间 \([l,r]\) 全部内部连边且 \(l\)\(r\) 联通。

可以使用容斥转移:

\[dp_{l,r}=g_{c(l,r)} - \sum_{k=l}^{r-1} dp_{l,k}g_{c(k + 1, r)} \]

\(g_i\) 表示 \(i\) 个点两两配对的方案数,实际上是 \(1+3+\dots+i-1\),很好证。\(c(i,j)\) 表示 \([i,j]\) 中还没有被强制要求选择的点的数量。

没啦!

[AGC009E] Eternal Average

也是吃上 Firefox 了。

转化题意,发现这是个 \(k\) 叉树,有 \(n +m\) 个叶子且每个节点的值是其儿子节点的值的平均数,让你求根节点的值的可能情况数。仔细思考一下你就会发现每个叶子对根节点的贡献只取决于其深度,所以直接背包把 \(m\)\(1\) 分配到 \(\frac{n+m-1}{k-1}\) 层中就行。

但是这样会算重,因为有进位,不过你只需要保证每层叶子至多有 \(k-1\) 个,然后把每个 \(x \equiv m \pmod{k-1}\) 都加到答案里就行了。

[CF850F] Rainbow Balls

严肃没有思路

首先发现如果指定了最终剩余的球的颜色那么其余的颜色都是等价的,因此如果令 \(f_i\) 表示选择的颜色有 \(i\) 个球并且最终剩下该颜色对答案的贡献。

\[f_i=f_{i-1}p+f_{i+1}p+(1-2p)f_i+g_i \]

其中 \(p\) 是指第一个选到 \(i\) 个中一个,第二个选到另外的颜色的概率,显然 \(p=\frac{i(s-i)}{s(s-1)}\)

\(g_i\) 是指当剩下 \(i\) 个球时最终能变成该颜色的概率,也就是这一步对答案的贡献。

\[g_i=g_{i+1}p+g_{i-1}p+(1-2p)g_i \]

移项得:

\[2g_i=g_{i+1}+g_{i-1} \]

得:

\[g_{i+1}-g_{i}=g_{i}-g_{i-1} (1\lt i \lt s),g_0=0,g_s=1 \]

推得:\(g_i=\frac{i}{s}\)

\[2f_ip=f_{i-1}p+f_{i+1}p+\frac{i}{s} \]

\[f_{i+1}=2f_i-f_{i-1}-\frac{s-1}{s-i} \]

已知 \(f_0=0\),如果能求 \(f_1\) 我们就赢了。

\[f_2=2f_1-1 \]

已知

\[f_1=f_1-f_s=\sum_{2\le i\le s} f_i-f_{i-1}=(s-1)(f_1-f_2)-(s-1)(s-2) \]

为什么是这个值呢?因为:

\[f_{i+1}-f_i=f_i-f_{i-1}-\frac{s-1}{s-i} \]

最后代入 \(f_2=2f_1-1\)\(f_1=\frac{(s-1)^2}{s}\)

害,现在都要看着题解才会推,废掉惹。

[CF1713F] Lost Array

好巧妙的一道题(虽然可能是我见的题太少了)。

首先你可以 \(n^2\) 枚举起点终点然后用组合数算,\(i\to j\) 的贡献次数是 \(\binom{i-j+n}{n}\)

发现只有贡献次数是奇数才会有贡献,因为是异或。我们知道当且仅当 \(j\) 在二进制下为 \(i\) 的子集时 \(\binom{i}{j} \equiv \pmod{2}\),但是现在的问题是 \(i-j\) 不固定,考虑能否使组合数的上项固定。

考虑在对角线上将问题拆开,因为一个点到对角线上的任意可到达的点的总步数都相等。

此时我们就只需要先用 FWT 求一个超集“和”,在求一个子集“和”的逆运算,因为这里是异或,所以逆运算相当于没逆。

[CF1392H] ZS Shuffles Cards

所以这种题到底是什么人在过啊???

  • 第一步:

\(ans=E(\text{轮数})\times E(\text{每轮抽牌次数})\)

虽然这一看就很对!但是并不妨碍我想不到。

  • 第二步:

\(E(\text{一轮抽牌次数})=n\times E(\text{某张牌被抽到})+1=n\times E(\text{某张牌前面没有 joker})+1=\frac{n}{m+1}+1\)

相当于在 \(m+1\) 个空里插一张牌,但只能插在最前面。

  • 第三步:

\(E(\text{轮数})=\sum^n_{i=1} E(\text{还剩 i 张牌时抽到可用卡牌所用额外轮数})+1=\sum_{i=1}^n\frac{m}{i}+1\)

为什么是 \(\frac{m}{i}\) 呢?因为卡牌出现在 joker 前的概率为 \(\frac{i}{m+i}\),所以期望轮数为 \(\frac{m+i}{i}\),但这里求的是额外轮数,所以减一得 \(\frac{m}{i}\)

所以!\(ans=(\frac{n}{m+1}+1)(\sum^n_{i=1}\frac{m}{i}+1)\)

还可以列方程做,不过上面的方法还是对期望的学习更有启发。

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

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

相关文章

RK3576在智能工程机械中的应用|三屏八摄AI视觉解决方案

一、工程机械智能化的加速趋势近年来,随着人工智能与边缘计算的深入融合,工程机械行业正迎来从“机械化”到“智能化”的转型浪潮。无论是挖掘机、装载机、塔吊,还是矿卡、摊铺机等重型设备,智能控制、实时监控与人…

贪心,排序,二分,分治

题目描述 马上就要放暑假啦! 为了激励一下公司的员工,徐老师决定给所有人发奖金! 发奖金的方式非常简单,徐老师会在桌上一字排开 \(n\) 张纸团,每张纸团上会写着一个数字 \(a_i\),为了平衡公司成本,这里的数字可…

python01

练习编程语言:是我们与计算机交流的介质 编程:用编程语言写出一个个文件,最后达到我们的目的 编程有什么用:让计算机来帮我们干活 因为了解清楚才能学好所以引出下面的内容。 计算机组成原理 控制器 类似于大脑来控…

C语言实现数据结构顺序表

1.顺序表的定义 线性表可分为两种存储结构,一种是顺序存储结构,一种是链式存储结构。一般来说,顺序表是一个相同数据类型的集合,且内存地址一定相邻。在C语言中,一般使用数组实现。 2.顺序表的存储结构 使用结构体…

AI Compass前沿速览:Cursor 2.0、Firefly Image5、Agent HQ 、LongCat-Video、Kimi-k2 Thinking

AI Compass前沿速览:Cursor 2.0、Firefly Image5、Agent HQ 、LongCat-Video、Kimi-k2 ThinkingAI Compass前沿速览:Cursor 2.0、Firefly Image5、Agent HQ 、LongCat-Video、Kimi-k2 Thinking AI-Compass 致力于构建…

25.11.7联考题解

A 简单题,考虑一个串变化后不同并且计数不重不漏只须保证区间两端不同即可。 B 简单贪心。shopping plans 的超级弱化版。 C 设 \(f_i\) 表示被分在 \(\le i\) 的 L 型的方案数,显然有 \(f_i=\left(\sum_{j=x-i}^{x-…

浅谈dp中的最优化、计数问题

前言 诚然,这东西本来是一个挺好的东西的,但是如果它染上了数学,那么就不那么好了。 我承认,我的分类和题目选取是不够全面、不够有代表性的,因为这只是写给我自己看的。 这东西有三个难点:状态,转移,优化。(…

CF715B

给定 \(n\) 个点 \(m\) 条边的无向图,以及 \(s, t, L\)。每条边有边权(有些被抹去),你要为每个被抹去的边权赋一个正整数值使得 \(s \rightarrow t\) 的最短路为 \(L\)。 \(n, m \le 10^5,L \le 10^9\)首先把所有未…

[NOIP 2001 提高组] 一元三次方程求解

看题目数据范围: 方程存在三个不同实根(根的范围在 −100 至 100 之间) 可以知道这道题其实可以暴力 #include <iostream> #include <cstdio> using namespace std; int main() {double a,b,c,d;scanf(&…

EPnP算法学习随笔

EPnP算法学习随笔这几天刚好在看epnp算法,写篇随笔简要回顾一下。 PnP问题是个很经典的问题,就是根据图像上的关键点来估计相机的位姿,这里主要研究的是单目摄像机,但是值的注意的是单目的精度一般都比较差,因为单…

毒盘未转存仅支持在线观看30s

毒盘未转存仅支持在线观看30s转载,原作者不详 解决方案:控制台里面输入这些代码,回车。 let video = document.querySelectorAll("#html5player_html5_api")[0] video.controls="true" video.p…

Advantech iView SQL注入漏洞分析:认证绕过与数据泄露

本文详细分析了CVE-2022-50594漏洞,涉及Advantech iView SNMP管理工具中的SQL注入漏洞,攻击者可绕过认证窃取包括明文密码在内的用户数据,CVSS评分8.8分。概述 CVE-2022-50594是Advantech iView软件中存在的一个高危…

【机器学习入门】7.1 决策树 —— 像 “判断流程图” 一样做分类 - 教程

【机器学习入门】7.1 决策树 —— 像 “判断流程图” 一样做分类 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

P14322 「ALFR Round 11」E 空崎ヒナ 小结

首先把 x 移个项,变成 abs(b[i]-x)。 然后你发现这个东西就是 max a_i 的倍数了。 这个东西很好写,首先你先预处理单调栈和后缀答案。 后缀答案不能在线,于是离线处理。 然后你发现回答询问也不能在线。 于是你再离…

AI元人文:理论自省与客观评估

AI元人文:理论自省与客观评估引言:在理想与现实之间 AI元人文理论作为一种突破性的价值共识框架,其生命力不仅在于理论建构的完整性,更在于持续的自我审视与客观评估。本文旨在以三值纠缠思维为镜,对这一理论体系…

[Element Plus 组件库的官方 API 参考文档] 的部分内容的解释

对于初学者,不需要死记硬背这个 API 文档。更好的学习顺序是:先看组件的基础示例和演示代码 → 模仿着写出能运行的代码 → 有特殊需求时,再回头查这个 API 文档Q1: 除了template是插槽,怎么连el-menu-item都是?…

ZK笔记

1.官网下载地址 https://zookeeper.apache.org/ https://archive.apache.org/dist/zookeeper/ 2.安装步骤 1.安装jdk 2.解压压缩包 tar -xf apache-zookeeper-3.5.7-bin.tar.gz -C /tol/app mv apache-zookeeper-3.5…

完整教程:《以 Trae 为桥:高效集成豆包 1.6 API 的实践与思考》

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:Labview项目01:标准可配置序列测试框架

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …