ICode9

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

[SDOI / SXOI2022] 多边形 解析

2022-08-12 18:00:51  阅读:148  来源: 互联网

标签:frac SDOI SXOI2022 题面 xF 50 条边 多边形 三角形


题目大意

给定一个不严格凸的多边形, 求其三角剖分的数量, 其中切出的三角形面积不能为 \(0\), 同时也不要求完全切完.

解法概要

容斥原理其实就是凑某个权函数, 我们直接思考这里的权是怎么凑的. 对于任意连续的 \(k\) 条边, 我们假设有 \([x^k]F(x)\) 这么多种方案将 \(k\) 条边当做一条边处理, 换句话说, 对于一条包含 \(a_i\) 个线段的边, 我们有 \(P_{a_i}(x) = [t^{a_i}]\frac 1{1-xF(t)}\), 有 \([x^r]\) 中方法将其当做 \(r\) 条边来处理. 我们最后将乘积 \(\prod_i P_{a_i}(x)\) 算出之后, 将系数和 Catalan 数点乘.

为了让答案是对的, 我们要正确地设置 \(F\), 为此我们要看贡献是怎么累计的. 考虑全体三角剖分, 允许留下 \(0\) 面积三角形, 那么这样一个方案会被统计多少次呢? 把所有零面积三角形去掉, 对于每条边的端点, \(a_i\) 会被拆成一些正整数的和, 一个 \(k\) 会算做 \([x^k] G(x)\) 种方案. \(G\) 是什么呢? 是它实际下面有多少种划分成 \(0\) 面积三角形的方案, 也就是

\[G = F + G^2. \]

我们需要让 \(G\) 是什么呢? 根据题面, 任何正整数长度都是允许的, 所以

\[G = \frac {x}{1-x}. \]

那么

\[F = \frac{x(1-2x)}{(1-x)^2}. \]

由于外层有个分治 FFT, 所以复杂度已经被冲到 \(O(A\log^2 A)\) 了. 所以在怎么求 \([t^{a_i}]\frac 1{1-xF(t)}\) 这一块, 预计的是大家各凭本事, 如果完全没有本事也能获得 \(50\) 分. std 则是直接找出了一个整式递推式, 具体递推式长什么样子还请看代码.

若干注记

Remark 1 从 analysis 可以看出, 本题的题面是很灵活的, 最开始的想法是让 \(G=x\), 也就是不能有退化成三角形的多边形, 但是这样的话容斥系数更容易被猜出来, 所以未被采用, 于是将 \(G\) 微操得到了现在的题面.

Remark 2 预计的情况是好几个 \(\geq 50\) 的人, 过 \(100\) 的人预计是用一些需要 FFT 但是好写的做法来求的 \([t^{a_i}]\frac 1{1-xF(t)}\). 实际情况是一个 \(50\) 分一个 \(100\) 分 (qazswedx), 好像是维护了一个二维整式递推啥的. 看来我对现在大家的下限和上限都估计的不太准确...

Question 1 有哪些多项式族 \(F_i(x)\) 满足 \(\prod_i F_i(x)^{c_i}\) 的计算可以在非平凡的时间内解决? 例子是 \(F_i(x) = F(x^i)\). 或者解决其弱化版, 如果 \(\sum ic_i = A\), 在 \(o(A\log^2 A)\) 内解决?

标签:frac,SDOI,SXOI2022,题面,xF,50,条边,多边形,三角形
来源: https://www.cnblogs.com/Elegia/p/16580903.html

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

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

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

ICode9版权所有