尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

题解:AT_abc436_g [ABC436G] Linear Inequation

题解:AT_abc436_g [ABC436G] Linear Inequation
📅 发布时间:2026/6/17 20:02:48
ABC436G:多项式、线性递推、Berlekamp-Massey 算法。

本题是一个完全背包问题。设 \(A=\max_{i=1}^nA_i\)。

设 \(f(m)\) 表示 \(\sum_{i=1}^NA_ix_i=m\) 的解数,考虑写出生成函数:

\[F(z)=\prod_{i=1}^N\sum_{k=0}^{+\infty}z^{A_ik}=\prod_{i=1}^N\frac{1}{1-z^{A_i}} \]

则 \(f(m)=[z^m]F(z)\)。

由于 \(F(z)\prod_{i=1}^N(1-z^{A_i})=1\),故 \(f(m)\) 是一个阶数最多为 \(D=\sum_{i=1}^NA_i\le NA\le 10^4\) 的线性递推。答案是 \(\sum_{m=1}^Mf(m)\),从而是一个阶数最多为 \(D+1\) 的线性递推。

通过上面的分析,你当然可以直接把线性递推系数算出来。但是我懒,所以通过完全背包求出前充分多项的值后,直接用 Berlekamp-Massey 算法求线性递推系数即可。

最后使用 Bostan-Mori 或其他算法求解线性递推即可。

时间复杂度 \(O(D^2+D\log D\log M)\),其中 \(D=NA\)。

代码:

//By: OIer rui_er
#include <bits/stdc++.h>
#define rep(x, y, z) for(int x = (y); x <= (z); ++x)
#define per(x, y, z) for(int x = (y); x >= (z); --x)
#define debug(format...) fprintf(stderr, format)
#define fileIO(s) do {freopen(s".in", "r", stdin); freopen(s".out", "w", stdout);} while(false)
#define endl '\n'
using namespace std;
typedef long long ll;namespace Polynomial {// 篇幅过长,多项式全家桶省略// 完整代码见 https://atcoder.jp/contests/abc436/submissions/71684486
}using namespace Polynomial;const int K = 105, M = 2e4 + 5;int n, a[K];
ll m;int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);initPoly(N);cin >> n >> m;rep(i, 1, n) cin >> a[i];Poly<mod, g> F(M);F[0] = 1;rep(i, 1, n) rep(j, a[i], M - 1) F[j] += F[j - a[i]];rep(j, 1, M - 1) F[j] += F[j - 1];if(m < M) cout << F[m] << endl;else {Poly<mod, g> A = berlekamp_massey(F);A.insert(A.begin(), 0);cout << bostan_mori(A, F, m, A.size()) << endl;}return 0;
}

相关新闻

  • Typst数学排版终极指南:盒子对齐与括号匹配的实用技巧
  • 3、掌握GIMP基础工具,开启创意图形之旅
  • 4、深入探索GIMP:画笔、图案与选区的运用

最新新闻

  • 如何配置stock-scanner数据源:AkShare数据获取与优化终极指南
  • 同一人公证书在国内可以办理吗?同一人公证书在国内怎么操作?解析身份 - 指上通
  • Exchange-AD-Privesc修复脚本详解:如何快速检测和修复Exchange部署中的Active Directory安全漏洞
  • 应用层核心(一):从FTP到DNS的进阶指南
  • 毕节黄金回收指南:六家靠谱店铺推荐,让闲置安心变现 - 清奢黄金上门回收
  • AI炒股不是预测股价,而是校准认知:信息保真度实战指南

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号