多边形序列(组合数)(高精)(NTT)
多边形序列
题目大意
一个由 LR 组成的序列,可以构造一个多边形,L 表示 90 度的角,R 表示 270 度的。
然后一个可视的多边形是你可以在多边形内部找到一个点可以看到多边形的每个点。
给你序列长度,问你有多少种序列满足可以构成的直角多边形中有可视的。
思路
你看一下图,你会发现一个东西,就是它不可能出现凸字形的。
你看这个图形,它如果要左边凸出来被看到,就一定要在粉色的区域,如果有右边凸出来被看到,就一定要在棕色的区域,你无论在哪个位置,都会有一个凸出来的看不到。
那你搞一搞会发现它其实就是一堆 LR(RL),然后里面有四个 L 来转方向。
然后不难看到不能有两个 R 在一起,因为就会出现凹字形。
那就是 个 R, 个 L,R 不能放在一起。
不难想到插空法得到组合数,但是你还要去一种不合法的。
因为你是环形,你是不可以在最两边都放 R 的。
所以你要一种是一定要一边,一种是一个都不要。
然后就是 。
然后就要用高精,乘法就要用 FFT 或者 NTT,我这里用的是 NTT。
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/jzoj_4758.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/jzoj_4758.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
标签:
数学&数论
, FFT / NTT / FWT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现