题解 - 数字计数

news/2024/10/6 3:21:44/文章来源:https://www.cnblogs.com/stamorlin/p/18280597

题目

思路简析

正解是数位 dp,但是我不太会,所以我打分块。

考虑从 \(10^6\)\(2\times10^6\) 和从 \(3\times10^6\)\(4\times10^6\),其中真正的区别只有

观察到数据范围是 \(10^{12}\),分为一些块,每块长 \(10^6\) 会比较均衡,所以共有 \(10^6\) 个块。

最差情况是 \(n = 10^6+1\)\(吗= 10^{12}-1\),则总共约运算 \(10^6times12+10^6+10^6\times12 = 2.5\times10^7\) 次,理论上是通过的。

无论如何加个优化吧。

记忆化:将 \(x%10^6\) 存到一个数组里(但是每次只能省大约 \(5\) 次,其实没啥用。)。

那么考虑 \(10^6\) 正好是最长长度的一半,而且在 十亿位 上的 \(x\) 和 个位 上的 \(x\) 加和出来的效果相同,所以前 \(6\) 位和后 \(6\) 位都可以使用这个数组。

那就能省不少、、。

点击查看代码
#include <bits/stdc++.h>
namespace {
#define fiin(x) freopen(x".in", "r", stdin)
#define fiout(x) freopen(x".out", "w", stdout)
#define files(x) fiin(x), fiout(x)
using namespace std;
#define ll long long
#define db double
const int lob = 1e6;
}ll a, b;
ll res[12];
void def (ll) ;
int main () {
#ifndef ONLINE_JUDGEfiles("test");
#endifscanf("%lld%lld", &a, &b);while (a%lob && a<b) def(a++);while (b%lob && a<b) def(b--);for (int i = a/lob; i < b/lob; ++ i) {int x = i;while (x) res[x%10] += lob, x /= 10;for (int j = 0; j < 10; ++ j) res[j] += 600000;} def(b);for (int i = 0; i < 10; ++ i) printf("%lld ", res[i]);return 0;
}// ---void def (ll x) {while (x) ++ res[x%10], x /= 10;return ;
}

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

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

相关文章

从零开始带你上手体验Sermant自定义插件开发

本文对Sermant的自定义插件开发的流程进行了体验和探索,包括项目编译、运行、动态配置验证、插件拦截原理等内容,希望对初次体验Sermant高效开发插件的开发者有所帮助。本文分享自华为云社区《Sermant自定义插件开发上手体验》,作者:华为云开源。 一、研究缘由 由于目前我们…

面试:10亿数据如何最快速插入MySQL?

转载:https://mp.weixin.qq.com/s/kL1srP3FZjaTSXLULsUS5g最快的速度把10亿条数据导入到数据库,首先需要和面试官明确一下,10亿条数据什么形式存在哪里,每条数据多大,是否有序导入,是否不能重复,数据库是否是MySQL? 假设和面试官明确后,有如下约束10亿条数据,每条数据…

2024年好用的5款国产低代码开发平台

最近几年,低代码\无代码\零代码技术和快速开发平台比较热门,全球知名低代码平台厂商有:微软Power Platform、西门子Mendix、OutSystems等。我们国内最近几年也有一些信创国产化低代码平台涌现出来,比如:云程、氚云、轻流、简道云、得帆、ClickPaaS等,华为、阿里、百度等一…

camunda如何实现流程跳转和流程退回

我们在使用工作流的时候,常常有“流程退回”、“流程跳转”、“自由流”、“动态加签”等这样的需求。Camunda流程平台提供了这样的机制和接口,虽然流程模型定义活动执行顺序的序列流,但有时需要灵活地重新启动活动或取消正在运行的活动,进而可以实现中国特色的流程需求。文…

Docker Hub 无法访问,替代镜像

我使用以下配置成功拉取了mysql 8.0.33 和redis lastest,但是不知道究竟是哪一个起作用了linux 执行 sudo vim /etc/docker/daemon.json 填入以下内容:{"registry-mirrors": ["https://docker.m.daocloud.io","https://dockerproxy.com","…

Linux管道符

十五、管道符 管道符和grep命令结合的是最多的 管道符的标准定义: 管道是一种通信机制,常用语进程之间的通信。它表现出来的形式:将前一个的标准输出(stdout)作为后面命令的标准输入(stdin)利用grep和管道符来查看用户信息用户信息存储在 /etc/passwd中 我们自己创建的用户…

C#数据结构与算法入门教程,值得收藏学习!

前言 最近看到DotNetGuide技术社区交流群有不少小伙伴提问:想要系统化的学习数据结构和算法,不知道该怎么入门,有无好的教程推荐的?,今天大姚给大家推荐2个开源、免费的C#数据结构与算法入门教程,值得收藏学习! 数据结构与算法的作用 数据结构与算法在计算机科学中具有不…

多线程下的网格生成及性能分析

前言 概述通过多线程方式实现上千个对象的网格生成,并观察运行效率。多线程通过Thread来进行,每个线程中执行GenerateMeshData方法,在方法中对不同种类的网格进行顶点和三角面序列的计算。首先设置简单立方体,之后改为柏林噪声下生成的复杂地形。主线程限制 Unity设计之初就…

公众号软件链接

链接:https://wwt.lanzouq.com/b0174n6pc密码:gb5dhttps://wwt.lanzouq.com/b0174pdab密码:b357韩科信息咨讯每日科技资讯,致力于新颖、古怪网站分享与实用技巧!谢谢大家支持,您的"在看"、“分享”是我们不断进步之动力! 获取资源扫码关注我们 A world of wonde…

android 安装CA证书

android 安装CA证书 提取证书计算证书的hash值 C:\Users\czl\Downloads>"C:\Program Files\Git\usr\bin\openssl.exe" x509 -inform PEM -subject_hash_old -in charles.pem b682a732 -----BEGIN CERTIFICATE----- MIIFRjCCBC6gAwIBAgIGAY1GZhqIMA0GCSqGSIb3DQEB…

全网最适合入门的面向对象编程教程:07 类和对象的Python实现-类型注解-提高代码可读性的利器

本文对类型注解的定义、使用原因进行了基本介绍,同时对使用typing模块实现类型提示和类型检查进行了基本讲解,通过使用类型注解可以让开发者更清晰地了解函数和变量的预期类型。全网最适合入门的面向对象编程教程:07 类和对象的 Python 实现-类型注解-提高代码可读性的利器 …

训练记录(Jul.)

7/2 AT_abc217_f *提高+/省选- 设 \(f_{l, r}\) 为把 \([l, r]\) 消去的方案数。 P3607 [USACO17JAN] Subsequence Reversal P *省选/NOI- CF1922F *2500 状态很好想,之前是因为转移成环所以没补,结果发现也可以没环。 \(f_{l, r, x}\) 表示把 \([l, r]\) 推平成 \(x\) 的…