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

题解:AT_agc052_c [AGC052C] Nondivisible Prefix Sums

题意:很简单了,不再赘述。

做法:

首先去掉一种很明显不行的方案即数的和为 \(P\) 的倍数,那不为 \(P\) 的倍数的有多少种呢?

因为不像正常的一样有 \(a_i=0\),不能说每次后面怎么填都有唯一一个对应,我们考虑记两个东西 \(f,g\) 代表长度为 \(n\) 的序列有多少个模 \(P\)\(0\) 的和不为 \(0\) 的,有转移式:

\[f_{i+1} = g_i \]

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

然后我们就要算有多少个和不为 \(P\) 倍数且满足条件的数组。

首先我们不妨设最多的为 \(1\),如果不是我们乘上众数的逆元即可。

那么我们想一个事情,最后的序列一定是形如一段 \(1\) 然后间隔一个非 \(1\) 的数 \(b_i\),其实等同于我们一直在按 \(1\) 这样的小步在长度为 \(P\) 的环上走,然后一个大步,那我们的大步肯定是尽量用来跨过 \(0\) 的位置,因此我们其实可以很方便地得出来一个必要条件,假设有 \(k\) 个非 \(1\) 的元素 \(b_1,b_2\cdots b_k\),我们肯定要满足 \(n-k\le\sum\limits_{i=1}^k{P-b_i} + P-1\) 的,可以很方便用构造证明必要性。

那么是否一定是充分的呢?我们考虑反证,如果这个必要条件不成立,那么就要求我这个序列总和一定是至少为 \(\sum\limits_{i=1}^k{P-b_i} + P + \sum\limits_{i=1}^k b_i = P(k+1)\),同时不能是 \(P\) 的倍数,所以我们需要跨过 \(0\) 这个位置 \(k+1\) 次,但是只有 \(k\) 个数帮我们跨,所以矛盾了,充分性证毕。

然后我们就可以用这个条件去计算,计算合法的比较困难,我们考虑计算不合法的,这样右侧的柿子就直接被限制在 \(n\) 的范围内了,可以直接跑背包算右边的东西。注意到 \(P-b_i\) 其实是一个区间状物,所以可以前缀和优化做到 \(O(n^2)\)

那么还剩最后一步,因为我们 dp 出来这个东西是没有加入众数排位置的,所以对于 \(dp_{i,j}\)\(b\) 用了 \(i\) 个数且 \(\sum P-b_k = j\),要求 \(n-i-j\) 这个东西不能是 \(P\) 的倍数,贡献为 \(dp_{i,j}\times\binom{n}{i}\times(P-1)\),最后这个 \(P-1\) 是众数有 \(P-1\) 种。

按上述过程计算即可。

http://www.sczhlp.com/news/126531/

相关文章:

  • 寻路算法
  • 2025年9月22日 - 20243867孙堃2405
  • day 1
  • 长春网长春关键词排名站设计鞍山市建设局网站
  • 深圳网站建设大概多少钱设计精美的国外网站
  • 长沙网站拓谋网络礼物说网站模板
  • 怎么看网站关键词密度网站建设专项检查
  • 做网站的外包公司html网站开发目标
  • 网站开发过程会遇到的问题广安市建设局官方网站
  • 潍坊网站建设seo旅游网站设计模版
  • 海口网站开发找千素网卖磁铁的网站怎么做
  • 做新网站 备案证明交接广西建设厅
  • 能看网站的视频app深圳罗湖高端网站建设
  • 摄影素材网站网站备案域名更改吗
  • 网站备案 换域名枣庄三合一网站开发
  • [Paper Reading] METAGPT: META PROGRAMMING FOR A MULTI-AGENT COLLABORATIVE FRAMEWORK
  • 二进制 - 20243867孙堃2405
  • 学习问题日记-1
  • 记一次生产环境内存溢出记录
  • 如何选择制作网站公司海外域名可以在国内访问吗
  • 网站怎么让百度收录一张图做封面健康东莞app
  • 网站的内链优化怎样做wordpress内容里的图片大小
  • 网站 流程 工具计算机基础网页制作教程
  • 湘潭做网站电话磐石网络网上营销网站
  • 郑州网站营销汉狮wordpress搭建是英文
  • ftp wordpress 搬站上海的软件外包公司
  • 太原市本地网站做app用什么软件
  • 帝国文章网站模板建设网站有什么要素构成
  • 手机网站开发还是调用重庆网站建设与推广
  • 四舍六入五成双