首页 > 其他分享 >2023 牛客多校 8 E

2023 牛客多校 8 E

时间:2023-12-07 13:33:58浏览次数:33  
标签:10 le bmod 多校 times 牛客 枚举 2023 DP

神仙题。

题意

计数长度为 \(n\),满足以下条件的序列 \(a\) 个数 \(\bmod 998244353\):

  • \(L\le a_i\le R\)。
  • \(S_1(\sum a_i)\equiv S_2(\sum a_i)\pmod m\)。其中 \(S_1(x)\) 表示 \(x\) 的各个数位的和,\(S_2(x)\) 表示各个数位平方和(十进制下)。

数据范围:\(1\le n, m\le 20, 1\le L\le R\le10^{1000}\)。

做法

肯定是数位 DP,考虑如何处理上下界限制。容易发现我们只关心总和,所以用容斥处理一下:首先将每个数都减掉 \(L\),上界换为 \(R - L\),并求出 \(nL\) 的十进制表示,数位 DP 过程中加上即可;枚举 \(up\),钦定某 \(up\) 个数大于 \(R - L\),那么只需要求出 \(up\times(R-L + 1)\) 的十进制表示加到总和里即可。这样不再需要总和的限制。注意为了让结果有限大我们还需要限制总和的上界,直接取成 \(10^{1005}-1\),这样 DP 到第 \(1004\) 位的时候停下来即可。

接下来考虑具体的 DP:\(f[i, c, d]\) 表示 \(0\sim i-1\) 位进上来 \(c\),这些位的 \(S_1 - S_2 \equiv d \pmod m\),转移枚举这一位的和 \(t\):

\[\begin{aligned} &g_t\times f[i, c, d]\to f[i + 1, (c + t + B_i) / 10, D]\\ &D = (d + ((c + t + B_i)\bmod 10)^2 - ((c + t + B_i) \bmod 10)) \bmod m \end{aligned} \]

其中 \(g_t\) 表示 \(n\) 个 \(0\sim9\) 的数和为 \(t\) 的方案数,容易预处理得到。转移复杂度 \(10n^2m\lg R\),再加上容斥的一个 \(n\),无法通过。

接下来为了优化,我们先把转移倒过来写成填表形式。接下来注意到转移的一些项是以 \(10\) 为周期的,另一些则每 \(10\) 次才会变化一次,这暗示我们基于这个可以有一些类似预处理求和的优化方法。所以首先将 \(t\) 写成 \(10x + y\) 的形式:

\[f[i, c, d]\gets g_{10x + y}\times f[i + 1, (c + y + B_i) / 10 + x, D] \]

注意到 \((c+y+B_i)/10\) 随着 \(c\) 的变化只有 \(n/10\) 种有用的数值,而 \(D\) 可以直接 \(\Theta(m)\) 枚举,这样我们完全不需要枚举 \(c\) 了,可以转而枚举 \((c + y + B_i) / 10\);而 \(x\) 既不影响其它维度的范围,也不影响转移到的目标,可以被压缩掉。具体地,记 \(h[i, y, p, D] = \sum_{x = 0}^{\lfloor\frac{9n}{10}\rfloor} g_{10x + y}\times f[i + 1, p, D]\),则 \(f[i, c, d]\) 转移时只要枚举 \(y\),复杂度只有 \(10nm\lg R\);预处理 \(h\) 复杂度则是 \(n^2m\lg R\)。总之就是很快。

标签:10,le,bmod,多校,times,牛客,枚举,2023,DP
From: https://www.cnblogs.com/kyeecccccc/p/17881780.html

相关文章

  • 【EMNLP 2023】面向Stable Diffusion的自动Prompt工程算法BeautifulPrompt
    近日,阿里云人工智能平台PAI与华南理工大学朱金辉教授团队合作在自然语言处理顶级会议EMNLP2023上发表了BeautifulPrompt的深度生成模型,可以从简单的图片描述中生成高质量的提示词,从而使文生图模型能够生成更美观的图像。BeautifulPrompt通过对低质量和高质量的提示进行微调,并进一步......
  • NeurIPS 2023 | 清华ETH提出首个二值化光谱重建算法
    前言 本文首次探索了压缩量化在光谱压缩重建领域的应用,提出了该领域首个二值化卷积神经网络BiSRNet,在量化指标和视觉结果上都显著地超越了当前最先进的二值化模型。本文转载自我爱计算机视觉仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总......
  • CTT2023 游记
    Day?来THU上预科,报了五门课,预科真的很好玩!代价是除CF和互测外没训OI,但两者都打的稀烂,博客也停更了。好像对前三十没什么执念了(真的吗?)。在某天发了一篇鲜花,但是不会提供检索方式。Day0到苏州啦,酒店好像非常高级!室友是CJzyf,很好的人!随机组合了一堆人进行聚餐活动,游走......
  • 2023 Dec. 3rd
    应该在12.3发布的,但是鸽了noip结束之后,就投入了紧张有趣的文化课学习中。周一(11.20)正式回归的班级,但是对于补课相关事宜,一直没有通知,所以就跟着班里上了一天课,还是很魔幻的。语文英语没什么所谓;数学开的新课,对数,只讲了基本概念,早会了;物理完全听不懂;化学听个半懂。剩下的文科?......
  • 2023-2024-1 20231414 《计算机基础与程序设计》第十一周学习总结
    学期(2023-2024-1)学号(20231414)《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2023-2024-1计算机基础与程序设计第十一周作业)这个作业的目标<写上具体......
  • 试题三:(2023年软件设计师原题)
    软件需求与分析课堂测试09 –面向对象建模分析 班级:           学号:            姓名:-------------------------------------------------------------------------------------试题三:(2023年软件设计师原题)某高校图书馆购买了若干学术资源的镜像数......
  • 2023年5个自动化EDA库推荐
    EDA或探索性数据分析是一项耗时的工作,但是由于EDA是不可避免的,所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形,而是获得对数据集的理解,并获得对变量之间的分布和相关性的初步见解。我们在以前也介绍过EDA自动化的库,但是......
  • 2023年全国计算机技术与软件专业资格(水平)考试成绩可以查询了
    2023年全国计算机技术与软件专业资格(水平)考试成绩可以查询了查询网址:https://bm.ruankao.org.cn/分数线据说是相对固定的,卷面分的60%算,也就是45分达标,50+43分的我已哭晕在厕所。......
  • 【2023-12-06】接受就好
    20:00没有一天不写一点,每天写作、读书、工作与练习,坚持不懈的精神将使我有一场好的收获。                                                 ——梵高近期,何太加班挺多......
  • 2023最新初级难度前端面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-初级难度前端面试题合集问:请详细描述HTML、CSS、JavaScript的基本结构?HTML、CSS、JavaScript是web前端开发中最常用的三种技术,它们分别负责页面结构、表现形式和交互行为。HTML(HyperTextMarkupLanguage)是一种用于构建网页的标......