CF621E-Wet Shark and Blocks

CF621E-Wet Shark and Blocks

题目大意

你现在一共有b bb堆一模一样的数字,每堆数字中有n nn1 − 9 1-919的一位数。你现在可以从每一堆里恰好选一个数,将这些数从左到右拼成一个大数。将这个拼成的大数对x xx取模,问你最后结果是k kk的取法有多少,取法数量对1 e 9 + 7 1e9+71e9+7取模。

题解

可以发现,设d p [ m ] [ i ] dp[m][i]dp[m][i]为前m mm堆余数为i ii的种数,有如下递推式d p [ m + 1 ] [ ( i ∗ 10 + v a l ) % x ] + = d p [ m ] [ i ] dp[m+1][(i*10+val) \% x]+=dp[m][i]dp[m+1][(i10+val)%x]+=dp[m][i]v a l valval为下一堆中取的数字。可以发现递推式只和相邻两堆有关。所以可以简化成d p [ i ] [ ( i ∗ 10 + v a l ) % x ] = Σ i [ n u m [ i ] = = v a l ] dp[i][(i*10+val) \% x]=\Sigma_i [num[i]==val]dp[i][(i10+val)%x]=Σi[num[i]==val],表示从余数i ii转移到下一堆余数( i ∗ 10 + v a l ) % x (i*10+val) \% x(i10+val)%x的种数。接下来就是对这个矩阵进行矩阵快速幂加速得到结果。

#include<bits/stdc++.h>#defineiosios::sync_with_stdio(false);cin.tie(0);cout.tie(0);#defineendl'\n'usingnamespacestd;#defineintlonglongconstintmod=1e9+7;structMatrix{intn,m;vector<vector<int>>a;Matrix(int_n=0,int_m=0):n(_n),m(_m){a.resize(n,vector<int>(m,0));}Matrixoperator*(constMatrix&b)const{if(m!=b.n)throw"Matrix dimension error";Matrixres(n,b.m);for(inti=0;i<n;i++){for(intj=0;j<b.m;j++){for(intk=0;k<m;k++){res.a[i][j]=(res.a[i][j]+1LL*a[i][k]*b.a[k][j])%mod;}}}returnres;}Matrixpow(longlongk)const{if(n!=m)throw"Matrix must be square";Matrixres(n,n),base=*this;for(inti=0;i<n;i++)res.a[i][i]=1;while(k>0){if(k&1)res=res*base;base=base*base;k>>=1;}returnres;}};inlinevoidsolve(){intn,b,k,x;cin>>n>>b>>k>>x;MatrixA(x,x);for(inti=0;i<n;i++){intval;cin>>val;for(intj=0;j<x;j++){intnext=(j*10+val)%x;A.a[j][next]=(A.a[j][next]+1)%mod;}}Matrix Ab=A.pow(b);cout<<Ab.a[0][k]<<endl;}signedmain(){ios;intT=1;// cin >> T;while(T--)solve();return0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1196671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C] String Literal Concatenation, why does C support this?

printf("elaine" "benes" "\n");In C, what youre seeing isnt actually "separate arguments"—it’s a feature called String Literal Concatenation. When the C compile…

【计算机毕业设计案例】基于springboot+vue的javaweb宝贝回家走失儿童报备基于springboot的走失儿童认领与登记系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

EI会议检索征稿!!!2026年智能感知与自主控制国际学术会议(IPAC 2026)

会议亮点抢先看&#xff1a; 1.已通过IEEE出版社&#xff0c;EI稳定检索 2.IEEE Fellow、杰青助力&#xff0c;佛山大学主办 3.大会设立评优评奖环节&#xff0c;现场颁发大会证书 ✔IPAC 2026已上线IEEE官网&#xff1a; ✔经大会评审的优秀论文&#xff0c;将有机会直接推…

MC-SMoE: MoE 模型压缩方案

Merge, Then Compress&#xff1a;用路由策略解开高效 SMoE 的压缩之谜 读完论文先给你结论 这篇文章解决的核心问题是&#xff1a; SMoE 很强但太占内存且专家冗余严重 。作者从路由策略里“挖线索”&#xff0c;提出 先合并再压缩 的两阶段方案 MC-SMoE 。它通过路由激活频…

MCP学习笔记

MCP学习笔记 最近由于组织架构变动&#xff0c;负责AI相关工具建设&#xff0c;学习一下MCP相关的知识 1、MCP介绍 1.1、什么是MCP MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;是 Anthropic 开发的一个开放标准协议&#xff0c;用于让 AI …

AI大模型开发入门到精通:一本助你转型的必备书籍

文章介绍了《AI大模型开发之路》一书&#xff0c;为转型AI大模型开发工程师提供全面指导。内容涵盖Python编程、机器学习基础、Transformer模型原理、API调用实战、LangChain框架应用&#xff0c;以及项目部署等全流程。通过系统化学习路径&#xff0c;从理论到实践帮助读者掌握…

UE5 C++(43):用 timeLine 实现开关门

&#xff08;222&#xff09;概述&#xff1a;本节里会为 timeLineActor 继续添加盒体碰撞组件&#xff0c;还有一个门&#xff0c;当 character 角色来&#xff0c;发生碰撞时&#xff0c;让那个门&#xff08;静态网络体组件&#xff09;旋转。碰撞的方面的设置&#xff0c;在…

HC-SMoE: MoE Expert 合并压缩方案解读

Retraining-Free Merging of Sparse MoE via Hierarchical Clustering&#xff08;HC-SMoE&#xff09;长文解读 一句话总结 这篇论文要解决的是 SMoE 模型太大、专家冗余严重 的问题&#xff0c;提出了一个 不需要再训练 的专家合并框架 HC-SMoE&#xff0c;用 专家输出的相…

基于SpringBoot+Vue校园跑腿网站的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

IPO投资策略:如何评估新上市公司

IPO投资策略:如何评估新上市公司 关键词:IPO投资策略、新上市公司评估、财务分析、行业前景、管理团队 摘要:本文聚焦于IPO投资策略,旨在深入探讨如何全面、科学地评估新上市公司。通过对背景知识的介绍,阐述核心概念及联系,剖析核心算法原理与操作步骤,运用数学模型和公…

基于SpringBoot+Vue校园足球俱乐部管理系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

导师严选2026 TOP10 AI论文工具:专科生毕业论文写作全测评

导师严选2026 TOP10 AI论文工具&#xff1a;专科生毕业论文写作全测评 2026年AI论文工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI写作工具在学术领域的应用越来越广泛。对于专科生而言&#xff0c;撰写毕业论文不仅是学业的重要环节…

Linux OOM killer 评分系统的演变及分数优先级详解

&#x1f4ca; OOM 分数优先级详解 &#x1f3af; OOM 评分系统的演变 在 Linux 内核中&#xff0c;OOM Killer 的评分系统经过了演进&#xff1a; 历史版本&#xff1a; oom_adj&#xff08;旧版&#xff0c;范围&#xff1a;-16 到 15&#xff09; 内核版本 2.6.11-2.6.36…

降AI率必备!6款免费工具亲测,学生党轻松降80%,论文AI检测一次过

最近身边不少同学都在发愁——论文AI率太高。明明自己认真改过好几遍&#xff0c;系统一查还是提示AIGC爆表&#xff0c;导师看一眼就摇头。其实现在用AI辅助写论文确实方便&#xff0c;但怎么降低ai率、让内容更自然&#xff0c;才是真正过关的关键。 我这段时间亲测了十几款…

AI Agent实战指南:程序员必学大模型应用,从概念到商业布局,值得收藏

人工智能体(AI Agent)已从技术概念跃入商业现实&#xff0c;迎来爆发时刻。作为大语言模型驱动的智能系统&#xff0c;AI Agent能自主感知、决策与执行&#xff0c;从"辅助工具"向"核心生产力"跃迁。OpenAI、Monica、阿里巴巴等科技大厂纷纷布局&#xff0…

基于SpringBoot+Vue学校物资采购系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

AI率过高别慌!这6个免费降AI工具亲测有效,学生党拯救论文指南

最近身边不少同学都在发愁——论文AI率太高。明明自己认真改过好几遍&#xff0c;系统一查还是提示AIGC爆表&#xff0c;导师看一眼就摇头。其实现在用AI辅助写论文确实方便&#xff0c;但怎么降低ai率、让内容更自然&#xff0c;才是真正过关的关键。 我这段时间亲测了十几款…

Balanced 01-String

Balanced 01-String 题目描述 小苯有一个长度为 $n$ 的字符串 $s$,只包含字符 $\texttt{0}$、$\texttt{1}$ 和 $\texttt{?}$。 他定义一个 $01$ 字符串是平衡的,当且仅当字符串中所有相邻两个字符相同的对数(即满足…

AI大模型学习全攻略:零基础入门、35岁转行可行性与就业前景

文章探讨35岁转行学习AI大模型的可行性、零基础入门可能性和行业前景。指出35岁转行完全可行&#xff0c;零基础学习者可通过丰富资源掌握技能。AI大模型行业前景广阔&#xff0c;需求增长。文章提供了系统学习路线&#xff0c;包括基础理解、API应用开发、应用架构实践和私有化…

基于SpringBoot+Vue一鹿租车公司车辆管理系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…