当前位置: 首页 > news >正文

AGC 039

C

容易发现一次操作是循环移位后最高位取反。

可以证明 \(k\) 次操作可以让 \(X\) 回到原始值,当且仅当 \(k\) 是偶数且 \(X\) 由奇数个长度为 \(\frac k 2\) 的串,不断取反并连接形成。这个结论打下表就发现了,然后证明也不是很难。知道了这个结论后就没啥难的了。

D

我求你了别在主线正赛出这种题,我什么都会做的。

E

如果对这个组合对象比较熟悉,应该会知道一个定理:交叉图为树的弦图数量,恰好是满三叉树的数量。上面这个等式和这个题的分析方法是基本一致的。

off topic:Fuss-Catalan 数。有 \(m\) 个非叶子节点,每个非叶子节点恰好有 \(k\) 个儿子,的树数量 \(C_m^{(k)}=\frac 1{(k-1)m+1}\binom{km}{m}\),满足递推关系 \(C_m^{(k)}=\sum_{a_1+\dots+a_k=m-1}C_{a_1}^{(k)}C_{a_2}^{(k)}\cdots C_{a_k}^{(k)}\)

考虑设 \(f_{l,r,k}\) 表示区间 \([l,r]\) 的点中,有且仅有 \(k\) 连了一条到区间外的边,其他点在内部两两配对的方案数。显然不会有两条跨过 \(k\) 的相交线,且必须有至少一条,否则 \(k\) 的左右两边不连通。那么我们枚举最终答案中最靠上的一条,设为 \((x,y)\),那么内部的点一定可以分为三个区间,设左区间为 \([l,p]\),有且仅有 \(x\) 连到区间外面;中区间为 \((p,q)\),有且仅有 \(k\) 连到区间外面;右区间为 \([q,r]\),有且仅有 \(y\) 连到区间外面。于是我们以 \(n^4\) 的枚举量递归了子问题。实际上,这种分析方式和开头提到的计数问题的分析方式完全一致。复杂度是 \(\mathrm O(n^7)\) 的,常数极小,可以通过,用一些简单的分步转移可以做到 \(\mathrm O(n^5)\)

F

有两种做法。

第一种是容斥做法,我们在确定 \(x_i=\min_{j=1}^m a_{i,j},y_i=\min_{j=1}^n a_{j,i}\) 后,可以确定矩阵的权值为 \(\prod_{i=1}^n\prod_{j=1}^m\min(x_i,y_j)\),还需要乘上合法的矩阵个数。我们进行组合意义的转化:计算满足 \(A_{i,j}\ge\max(x_i,y_j),B_{i,j}\le\min(x_i,y_j)\) 且对于每个 \(i\) 至少有一个 \(A_{i,j}=x_i\) 和一个 \(A_{j,i}=y_i\) 的矩阵二元组 \((A,B)\) 个数,可以看做 \(A\) 是一个任意合法矩阵,而 \(B\)\(\prod_{i=1}^n\prod_{j=1}^m\min(x_i,y_j)\) 拆出的组合意义。我们发现第二条限制很难看,对它进行容斥,容易发现答案为 \(f(x)-f(x+1)\) 状物,只需钦定 \(a\)\(b\) 列,将这些行的 \(x\) 限制加一,这些列的 \(y\) 限制加一,带上 \((-1)^{a+b}\) 的容斥系数即可。注意这个容斥只对 \(A\) 做,\(B\) 的计算过程不需要改变。进行容斥之后,我们就可以 dp 了,设 \(f_{t,i,j}\) 表示填了 \([1,t]\),确定了 \(i\)\(j\) 列的所有方案的一坨系数的和。我们分步转移,先转移没有容斥限制的行/列,再转移有容斥限制的,因为本质上有容斥限制的应该和 \(t+1\) 同一批转移。转移系数考虑与当前行(列同理)相交的所有列,如果一个列的 \(y_j\) 已经在之前被确定了,那么对于这个列和当前行的交点 \((i,j)\),我们可以知道 \(\max(x_i,y_j)=t\),于是 \(A_{i,j}\) 的取值范围也就被确定了,需要带上一个 \((K-t+1)\) 的系数;否则一个列的 \(y_j\) 还没有确定,那么我们能确定的是交点 \((i,j)\)\(\min(x_i,y_j)=t\),于是 \(B_{i,j}\) 的取值范围被确定了,需要带上一个 \(t\) 的系数。容易发现,这些系数的乘积只需要知道之前填的列的数量即可确定。于是就做完了。

第二种做法。暂时不写了。

http://www.jsqmd.com/news/886210/

相关文章:

  • 手把手教你用C语言http-parser库解析HTTP报文(附完整回调函数示例)
  • UniShopX:PHP版京东/天猫级电商系统完整解决方案
  • Win11Debloat深度解析:Windows系统优化与预装软件清理技术实现
  • DeepSeek单元测试辅助,你还在手动补桩?这4个自动化Mock策略已让团队回归测试效率峰值
  • 极验4 w参数生成原理与Python复现指南
  • 英语阅读_a violent volcanic eruption
  • LegacyUpdate PowerShell集成:通过COM对象自动化Windows更新管理
  • AGC 040
  • 深度解析Crawl4AI:如何用智能异步爬虫为AI应用构建高质量数据管道
  • Hindsight语义链接创建:如何构建高质量的知识图谱
  • 2026年AI论文工具实测:5款神器从大纲到答辩全链路通关攻略
  • 如何彻底解决Windows键盘误触问题:SharpKeys的终极配置指南
  • 全国计算机技术与软件专业技术资格(水平)考试2015年上半年 下午试卷Ⅱ答题纸
  • 5分钟上手Zotero Attanger:从源路径选择到自定义重命名全攻略
  • 抖音批量下载助手终极指南:快速构建你的专属视频素材库
  • Atomic Layout核心概念解析:Composition组件如何实现布局与间距分离的终极指南
  • 3分钟完成微信防撤回设置:WeChatIntercept完整使用指南
  • 自然语言处理的核心技术:这5个模型,NLP从业者必知
  • 为Claude Code配置Taotoken以解决密钥被封与Token不足问题
  • 【DeepSeek重构模式推荐权威指南】:20年架构师亲授5大高危重构场景的避坑清单
  • ESP32+DS3231+ILI9341构建工业级气象预报终端:低成本替代方案
  • 构建私有音乐播放服务的完整技术指南:any-listen架构解析
  • ArcGIS Pro自定义工具箱打包与调用全攻略:从.tbx制作到在Add-in中集成
  • APKToolGUI中的Baksmali/Smali工具链:Android逆向工程的终极指南
  • WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案
  • SwipeSelector核心架构揭秘:从ViewPager到自定义组件的实现原理
  • 保姆级教程:用Python+OpenCV+Mediapipe实现手势识别(附完整代码与FPS优化)
  • Pixelle-Video终极指南:如何用AI在3分钟内创作专业短视频
  • 如何在7天内构建一个本地运行的AI虚拟主播?Neuro开源项目的技术实践
  • 如何快速掌握Avidemux:新手完整入门指南与5个核心技巧