首页 > 其他分享 >[SNCPC2019] Digit Mode

[SNCPC2019] Digit Mode

时间:2025-01-15 10:23:45浏览次数:1  
标签:Digit 复杂度 Mode 计算 mathcal rm SNCPC2019 dp 数位

前言

不管从实现方式到智慧程度都是数位 \(\rm{dp}\) 好题, 写一下

思路

首先你发现常规的数位 \(\rm{dp}\) 方法不可以实现
原因是不能对于一个数求出其 \(m(x)\)

容易考虑到逆向思考, 你钦定 \(m(x)\) 的值, 看有多少个 \(x\) 满足此要求
怎么做?
先考虑最简单的情况, 如果从 \([L, len]\) 中的数你可以随便填, 钦定众数为 \(s\) , 怎么计算方案数
显然的是我们需要知道 \([1, L)\) 中, 各个数字出现了多少次, 然后我们再枚举众数 \(s\) 的出现次数 \(j\) 方便处理

知道了之前出现多少次, 我们可以计算出之后每个数字出现的最大限制, 具体的
设 \(i\) 的出现次数为 \(c_i\) , 那么众数在之后出现 \(j - c_s\) 次, 数 \(i\) 在之后最多出现 \(j - c_i - [i > s]\) 次
这个是可以动态规划的, 具体怎么做类似于多重背包, 假设剩下的位数是 \(p\) , 容易得到一组分配 \(x\) , 使得 \(\displaystyle\sum_{j = 0}^{9} x_i = p, x_s = j - c_s , \forall i \neq s, 0 \leq x_i \leq j - c_i - [i > s]\)

最终的方案数就是

\[\frac{p!}{\prod_{i = 0}^{9} x_i!} \]

知道了上面的方法, 我们首先用数位 \(\rm{dp}\) 的方式枚举一些位置, 如果其满足

从 \([L, len]\) 中的数你可以随便填

就用上面的方法 \(\mathcal{O} (d |n|^2)\) 的做一次

然后就是注意对于未确定

从 \([L, len]\) 中的数你可以随便填

也就是还在前导 \(0\) 阶段或者还在被约束, 这种情况下就继续递归
递归到最深层就直接暴力计算, 复杂度证明见下


但是这个和上面「对于一个数求出其 \(m(x)\)」本质不是相同的吗? 为什么复杂度正确?

然而并不是, 因为上面的情况, \(\rm{dfs}\) 会出现重复计算, 具体为什么?
你发现数位 \(\rm{dp}\) 的第 \(i\) 位会重复调用第 \(i + 1\) 位的运算, 使其复杂度不正确, 这个题也无法记忆化

但是为什么这种做法下不会出现重复计算呢?
你把数位 \(\rm{dp}\) 的图表示出来
pEi2DpR.png
其中红色表示还需要继续计算, 蓝色表示可以直接通过 \(\rm{dp}\) 算出答案

发现原本会重复计算的部分, 都可以直接用 \(\mathcal{O} (d |n|^2)\) 的 \(\rm{dp}\) 做出来, 其中 \(d = 10\) , 表示数字的个数

考虑其最终的复杂度

  • 枚举 \(s, j\) : \(\mathcal{O} (d^2)\)
  • 每次确定 \(s, j\) 之后, 做 \(\rm{dp}\) 的次数 : 容易证明不超过 \(\mathcal{O} (|n| d)\)

总时间复杂度 \(\mathcal{O} (d^4 |n|^3)\) , 迅速通过

总结

正难则反

一种结合了数位 \(\rm{dp}\) , 在数位 \(\rm{dp}\) 确定了无限制的情况下, 用更快的算法计算出来
本质上是利用了数位 \(\rm{dp}\) 有限制的情况少这一特点

标签:Digit,复杂度,Mode,计算,mathcal,rm,SNCPC2019,dp,数位
From: https://www.cnblogs.com/YzaCsp/p/18672412

相关文章

  • 解决生成图像质量和美学问题!《VMix: Improving Text-to-Image Diffusion Model with C
    为了解决扩散模型在文生图的质量和美学问题,字节跳动&中科大研究团队提出VMix美学条件注入方法,通过将抽象的图像美感拆分成不同维度的美学向量引入扩散模型,从而实现细粒度美学图像生成。论文基于提出的方法训练了一个即插即用的模块,无需再训练即可应用于不同的开源模型,提升模型......
  • Python用Lasso改进线性混合模型Linear Mixed Model分析拟南芥和小鼠复杂性状遗传机制
    全文链接:https://tecdat.cn/?p=38800原文出处:拓端数据部落公众号在生物医学领域,探究可遗传性状的遗传基础是关键挑战之一。对于受多基因位点多因素控制的性状,准确检测其关联存在诸多困难,且易受群体结构等混杂因素影响产生假阳性结果。本文帮助客户建立Lasso线性混合模型,它能实现......
  • 用于决策的世界模型 -- 论文 World Models (2018) & PlaNet (2019) 讲解
    参考资料:[2411.14499]UnderstandingWorldorPredictingFuture?AComprehensiveSurveyofWorldModels[1803.10122]WorldModelsLearningLatentDynamicsforPlanningfromPixelsKaixhin/PlaNet:DeepPlanningNetwork:Controlfrompixelsbylatentplanning......
  • 详细分析Mysql中的SQL_MODE基本知识
     一、基础知识sql_mode是MySQL中用于设置sql语法和行为的系统变量;控制MySQL的sql解析和执行的方式,使其与sql标准或其他数据库系统的行为一致,通过设置sql_mode,可以改变MySQL处理待定sql操作的方式。MySQL5.7默认sql_mode包括(7个):1)ONLY_FULL_GROUP_BY;......
  • MYSQL--------SQL 注入简介&&MySQL SQL Mode 简介
    SQL注入简介定义:SQL注入是一种常见的安全漏洞,攻击者通过在输入中插入恶意的SQL语句,利用应用程序中未正确处理的输入数据,来改变SQL查询的逻辑,从而执行非预期的操作,如绕过身份验证、获取未授权数据、修改或删除数据等。示例:--正常的登录查询SELECT*FROMusersWHE......
  • A Survey of Mathematical Reasoning in the Era of Multimodal Large Language Model
    本文是LLM系列文章,针对《ASurveyofMathematicalReasoningintheEraofMultimodalLargeLanguageModel:Benchmark,Method&Challenges》的翻译。多模态大语言模型时代的数学推理:基准、方法与挑战摘要1引言2基准视角3方法视角4挑战5结论局限性......
  • MCP(Model Context Protocol)模型上下文协议 进阶篇3 - 传输
    MCP目前定义了两种标准的客户端-服务端通信传输机制:stdio(标准输入输出通信)HTTPwithServer-SentEvents(SSE)(HTTP服务端发送事件)客户端应尽可能支持 stdio。此外,客户端和服务端也可以以插件方式实现自定义传输机制。1.stdio传输在stdio传输中:客户端将MCP服务......
  • MySQL主要的SQL_Mode值详解
    ANSI更改语法和行为,使其更符合标准SQL。STRICT_TRANS_TABLESTRADITIONAL使MySQL的行为象“传统”SQL数据库系统。该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”等同STRICT_TRANS_TABLES、STRICT_ALL_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE......
  • WWW‘24:Collaborative Large Language Model for Recommender Systems文献阅读
    摘要本文介绍了一种新型的基于协同大型语言模型(CLLM4Rec)的推荐系统,该系统将传统的基于ID的推荐系统范式与基于大型语言模型(LLM)的范式相结合,旨在解决自然语言与推荐任务之间语义差异的问题。通过引入用户/项目ID标记和创新的软+硬提示策略,CLLM4Rec能够有效地学习用户和项目的协......
  • 2025 款 特斯拉 焕新版 Model Y All In One
    2025款特斯拉焕新版ModelYAllInOneTeslaModelYJuniper焕新版ModelY售价后轮驱动首发版¥263,500593 公里 续航里程 (CLTC预估)*5.9 秒 0-100公里/小时加速201 公里/小时 最高车速长续航全轮驱动首发版¥303,500719 公里 续航里程 (CLTC......