AGC 069

news/2025/2/13 10:54:56/文章来源:https://www.cnblogs.com/Rainbowsjy/p/18578878

D. Tree and Intervals

感觉这个题可做啊,真该先开这个题的/fn

\(x_i\) 可以看作一端 \(\le i\),另一端 \(>i\) 的边数,进一步可以转化为:把 \(\le i\) 的点染成黑色,\(>i\) 的点染成白色,得到的总连通块数。

考虑判定怎样的“总连通块数”序列是可以被生成的。

一个个把点染黑,维护当前的黑色连通块数 / 总连通块数。

如果某一步总连通块数不变,那这步可以忽略。

如果某一步总连通块数增大,那黑色连通块数可能 \(+0\)\(+1\)(如下图)。

如果某一步总连通块数减小,那黑色连通块数需要减小,有两种减小方式(如下图):

  • 第一种方式:总连通块数 \(-cnt\),黑色连通块数 \(-cnt\)
  • 第二种方式:总连通块数 \(-(cnt+1)\),黑色连通块数 \(-cnt\),此时要保证有 \(\le 2\) 个白色连通块(否则所有白色都消失了),或者这是最后一次操作。

最后操作完要保证黑色连通块数 \(\ge 1\)

显然黑色连通块数越多越好,这样可以保证不被减到 \(\le 0\)

我们可以贪心,维护当前能达到的最大黑色连通块数。由于第二种方式比第一种减少的更少,如果能用第二种方式就用第二种,否则用第一种。

\(f(i,j,s)\) 表示黑色连通块数为 \(j\),当前总连通块数为 \(s\) (这也确定了白色连通块的个数 \(=s-j\))的方案数,其中 \(j\) 这一维贪心计算。

枚举到下一个位置的连通块变化数,据此可以写出 \(O(n^4)\) 的转移:

int n;
modint f[505][505][505];
signed main()
{n=read(),initmod();For(i,2,n) f[1][1][i]=1;For(i,1,n-1){For(j,1,n) For(s,1,n) if(f[i][j][s].x) {int wh=s-j;For(k,1,n) if(s+k<=n) f[i+1][j+1][s+k]+=f[i][j][s];f[i+1][j][s]+=f[i][j][s];For(k,1,n) {int jj=j-(k-1)-(wh<=1 && i<n-1);if(jj>=1 && jj<=n && s-k>=1) f[i+1][jj][s-k]+=f[i][j][s];}}}modint res=0;For(j,1,n)res+=f[n][j][1];cout<<res.x;return 0;
}

发现转移可以前缀和优化到 \(O(n^3)\),就做完了。submission

E. Pair of Sequences

列出答案的生成函数。

\[[x^ny^Sz^T] \prod_{i=0}^{m-1}(1+\sum_{j\ge 0} x y^i z^{ij}) \]

\[=[x^ny^Sz^T] \prod_{i=0}^{m-1}(1+\frac{x}{1-yz^i}) \]

\[=[x^ny^Sz^T] \prod_{i=0}^{m-1}\frac{x+1-yz^i}{1-yz^i} \]


拆开分子与分母,两部分都是 q-binomial 的形式。

分子:

\[\prod_{i=0}^{n-1} (1+q^iy) = \sum_{i=0}^n q^{\binom{i}{2}} {n \brack i}_q y^i \]

\[\prod_{i=0}^{m-1}(x+1-yz^i) \]

\[=(x+1)^{m} \prod_{i=0}^{m-1} (1-\frac{y}{x+1}z^i) \]

\[=(x+1)^{m}\sum_{i=0}^m z^{\binom{i}{2}} {m\brack i}_z (- \frac{y}{x+1})^i \]

\[=\sum_{i=0}^m (x+1)^{m-i} (-1)^i z^{\binom{i}{2}} {m\brack i}_z y^i \]


分母:

\[\frac{1}{\prod_{i=0}^{n} (1-q^ix)} = \sum\limits_{i \ge 0} x^i {i+n \brack n}_q \]

\[\frac{1}{\prod_{i=0}^{m-1} (1-yz^i)} \]

\[=\sum_{i\ge 0} {i+m-1 \brack m-1}_z y^i \]


一边提取 \([y^i]\) 系数,一边提取 \([y^{S-i}]\) 系数。

\[=[x^nz^T]\sum_{i\ge 0} (x+1)^{m-i}(-1)^i z^{\binom{i}{2}} {m\brack i}_z {S-i+m-1 \brack m-1}_z \]

\[=[z^T]\sum_{i\ge 0}\binom{m-i}{n}(-1)^i z^{\binom{i}{2}} {m\brack i}_z {S-i+m-1 \brack m-1}_z \]

由于 \(z^{\binom{i}{2}}\) 的存在,需要保证 \(\binom{i}{2}\le T\)\(i\) 只能枚举到 \(O(\sqrt T)\) 大小。

从小到大枚举 \(i\) 并暴力维护右边关于 \(z\) 的多项式即可,每次只需要做若干次形如 \(z^k-1\) 的乘/除。这部分复杂度 \(O(n\sqrt n)\)(设 \(n,m,S,T\) 同阶)。

\(i=0\) 时多项式为 \({S+m-1 \brack m-1}_z\),可以 \(O(n\log n)\) 算出。

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

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

相关文章

基于特征子空间的高维异常检测:一种高效且可解释的方法

本文将重点探讨一种替代传统单一检测器的方法:不是采用单一检测器分析数据集的所有特征,而是构建多个专注于特征子集(即子空间)的检测器系统。 在表格数据的异常检测实践中,我们的目标是识别数据中最为异常的记录,这种异常性可以相对于同一数据集中的其他记录衡量,也可以相…

【机器学习算法】XGBoost原理

一、基本内容基本内容:GBDT的基础上,在损失函数上加入树模型复杂度的正则项与GBDT一样,也是使用新的弱学习器拟合残差(当前模型负梯度,残差方向)GBDT损失函数\[Loss = \sum_{i=1}^{N}L(y_i, y_i^{t}) \] XGboost损失函数\[Loss = \sum_{i=1}^{S}L(y_i, y_i^{t}) + \sum_{…

《网络与系统攻防技术》实验七

1.实验内容及要求 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法。具体实践有 (1)简单应用SET工具建立冒名网站 (2)ettercap DNS spoof (3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站。 二、实验过程 (一)简单应用SET工具建…

HCIP-04 交换高级技术

VLAN聚合通过配置Super-VLAN和Sub-VLAN,不同Sub-VLAN之间进行通信,需要Super-VLAN开启ARP代理。 VLAN聚合既避免了由于子网划分带来的网络地址规划复杂的问题,又能够实现通过VLAN隔离不同广播域的目的。 • MUX VLAN包括Principal VLAN和Subordinate VLAN,同时Subordinate …

基于Jenkins构建微服务发布平台-2

基于Jenkins构建微服务发布平台-2 续——基于Jenkins构建微服务发布平台-1 4 流水线自动发布微服务项目 4.4 Docker阿里云镜像加速失效解决方案 在所有节点上执行。# tee /etc/docker/daemon.json <<-EOF{ "registry-mirrors": [ "https://do.nar…

九种常见二维插值方法及双线性插值的理解

九种常见二维插值方法概述 在数据分析、计算机视觉和图形处理等领域,插值是一种重要的技术,用于估算在已知数据点之间的未知值。以下是几种常用的插值方法的详细介绍。 1. 双线性插值 (Bilinear Interpolation) 双线性插值是一种在二维直线网格上进行插值的技术。它首先在一个…

c# is 和 as 浅看重制版

前言 当年写的比较差:https://www.cnblogs.com/aoximin/p/12965408.html,所以特来重新写一遍。 正文 首先为什么会出现is 和 as 呢? 因为是为了有需要检验的地方,如果直接使用显示转换的话,那么可能直接报错了。 namespace ConsoleApp4 {class Program{static void Main(s…

20222422 2024-2025-1 《网络与系统攻防技术》实验五实验报告

一、实验内容 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息: DNS注册人及联系方式 该域名对应IP地址 IP地址注册人及联系方式 IP地址所在国家、城市和具体地理位置 PS:使用whois、dig、nslookup、traceroute、以及各类在线和离线…

安装扫描仪DS-410出现安装Desktop Experience提示

安装Epson Scan所需的某些模块没有安装。安装Desktop Experience之后安装Epson Scan。在Windows server 2012上安装扫描仪出现该错误,该错误为server系统需要桌面支持,默认Windows server 该功能是不安装的需要用户按需求安装。 安装windows server 2012 R2 安装桌面体验勾选…

2019-8-29-02-JS-DOM

图片轮播是Web开发中最常见的组件之一,这是一篇用原生JavaScript实现简单图片轮播的教程。 要实现图片轮播,首先我们要将图片轮播拆分为图片容器、图片、上一页按钮、下一页按钮、底部点选容器、底部点选按钮。 下面我们用HTML代码表示。 ... <div id="page">…

【朝花夕拾】蓝牙WiFi常识篇

一、蓝牙常识点 1、常见英文缩写缩写 英文全称 释义BLE Bluetooth Low Energy低功耗蓝牙BR Basic Rate基本速率,一般说的经典蓝牙就是指BR/EDREDR Enhanced Data Rate增强速率,BR的增强版,一般说的经典蓝牙就是指BR/EDRBluetooth SIG Bluetooth Special Interest Group蓝牙技…

Git入门图文教程(1.5W字40图)--深入浅出、图文并茂

原文:Git入门图文教程(1.5W字40图)🔥🔥--深入浅出、图文并茂 - 安木夕 - 博客园01、认识一下Git!—简介 Git是当前最先进、最主流的分布式版本控制系统,免费、开源!核心能力就是版本控制。再具体一点,就是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起…