建立免费网站兰溪做网站哪家好

web/2025/9/27 11:56:31/文章来源:
建立免费网站,兰溪做网站哪家好,怀安县网站建设,搜索seo神器题目描述 输入一个数n#xff0c;求出 [1, n] 中每个数码出现的次数#xff0c;即0 - 9每个数出现的次数。 解题思路 首先是无情的暴力法#xff0c;可以用于判断我们后续的优化代码是否正确。 import java.io.*; import java.util.*;public class Main1 {static int n;p…题目描述 输入一个数n求出 [1, n] 中每个数码出现的次数即0 - 9每个数出现的次数。 解题思路 首先是无情的暴力法可以用于判断我们后续的优化代码是否正确。 import java.io.*; import java.util.*;public class Main1 {static int n;public static void main(String[] args){Scanner sc new Scanner(System.in);int[] cnt new int[10];n sc.nextInt();for (int i 1; i n; i) {int t i;while (t 0) {cnt[t % 10];t / 10;}}System.out.println(Arrays.toString(cnt));} } 数位dp 用此题来引出数位dp的概念首先我们寻找规律比如0-9所有的一位数字正好包含了所有数码各一次进一步思考在0-99中根据十进制递增的简单规律我们可以发现这10个数字每个数字都出现了相同的次数有一个例外是0它由于一位数字的时候十位的0被省略所以会少一些但我们只需要改变思路变成00-99那么所有数字出现的次数就是完全相等的了。 我们定义 dp[i] 表示 i 位数所有数字出现的次数dp[1] 的值即1dp[2]的值我们应当如何思考呢从00-99考虑每个数有两位总共100个数那么总数字个数就是2*100 200个再平均分配到10个数字那么dp[2]的值即为20个相应的dp[3]的值是3*1000/10 300个。 dp[i] dp[i - 1] * 10 10^(i - 1); 虽然我们可以根据规律推出递推式如上但具体代码中并不需要如此计算我们知道即可。 举例分析 第二步我们考虑一个数367。 我们可以将367划分为以下几个区间[000, 099][100, 199][200, 299][300, 367]; 我们考虑计算000-367的原因是这样有利于我们根据前面的dp数组进行计算并且我们会发现一个具有明显规律的bug这个BUG就是多算了很多0而其规律就是可以根据n的位数直接得出我们多算了多少个0最后减掉就可以了。 比如说对于一个个位数8我们考虑[0, 8]则多算了1个0对于一个十位数93我们考虑[00, 93]则多算了11个0对于一个百位数100我们考虑[000, 100]则多算了111个0。 如果还不太能理解则可以从100开始往下并列书写容易发现在百位上[000, 099]多计算了100个0在[000009]的十位上多计算了10个0在[000000]的个位上多计算了1个0构成111个0。 代码设计 我们将[000, 099][100, 199][200, 299]看作具有相同的特性即它们之中都包含了1份[00, 99]他们唯一不同的是第一个区间除此之外多了100个0第二个区间还多了100个1第三个区间还多了100个2那么这就很有利于我们编写代码。 我们从n的最高位开始考虑[000, 299]的数码已经计算出那么跟百位还有关联的则是3字头的数据很明显在[300, 367]中包括了68个3和一个区间[00, 67]那么第二轮循环按照相同的逻辑处理[00, 67]即可。 在下面的代码中我们在init()方法中提前初始化了一些有利于我们计算的数据 ten[i] 表示10的 i 次方的数值cnt[i] 表示数码 i 出现的次数zero 表示最后需要减去的多余的数码0的个数num[i] 表示n的第 i 位数的数值 import java.util.*;public class Main {static long n;static int len 0;static long[] dp, ten, cnt;static long zero;static int[] num;public static void main(String[] args) {Scanner sc new Scanner(System.in);n sc.nextLong();init(n);solve(n);}public static void solve(long n) {cnt new long[10];long num2 n;for (int l len; l 1; l--) {for (int i 0; i 9; i) {cnt[i] num[l] * dp[l - 1];}for (int i 0; i num[l]; i) {cnt[i] ten[l - 1];}num2 - num[l] * ten[l - 1];cnt[num[l]] num2 1;}cnt[0] - zero;for (int i 0; i 9; i) {System.out.print(cnt[i] );}}public static void init(long n) {num new int[15];while (n 0) {num[len] (int) (n % 10);n / 10;}dp new long[len 1];ten new long[len 1];ten[0] 1;for (int i 1; i len; i) {zero zero * 10 1;dp[i] i * ten[i - 1];ten[i] 10 * ten[i - 1];}} } 题后总结 上述算法基于[1, n]的数码数量对于[n, m]之间的数码数量则可以先计算[1, m]和[1, n-1]再在对应数码位上进行相减即可。

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

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

相关文章

淘宝客网站开发教程做网页的网站叫什么

知网查重会查重表格吗?答案是肯定的。如果出现知网查重表格重复很高,那么我们一样是会进行避免查重的,通常表格在查重后会在报告中展示,如果出现重复会提示大家,我们只需要根据这个提示进行修改降低表格查重率即可。那…

如何做自己网站平台网络商品推广策划书

bug虐我千百遍,我待他如初恋。每次深夜挑灯都是我与bug较量的时间。今天我要说的就是写一个爬虫模版,自动抓取百度图片的教程,这次使用Kotlin编写的爬虫程序在Scrapy框架下完成的,如有不足欢迎指正。 首先,使用Kotlin编…

自己做键盘的网站自己想做个网站

【数据库原理及应用】经典题库附答案(14章全)——第一章:数据库基础知识 【数据库原理及应用】经典题库附答案(14章全)——第二章:关系数据库知识 【数据库原理及应用】经典题库附答案(14章全)——第三章:结构化查询语言SQL 【数据库原理及应用】经典题库附答案(14章…

动易的网站能否静态广州网络在线推广

#文件防泄密软件# 中科数安是一家专注于信息安全领域的高科技企业,其提供的防止公司内部文件资料及数据外泄的解决方案主要包括图档透明加密和源代码防泄露系统等核心服务。 中科数安 | 图档、源代码防止外泄系统 PC地址: www.weaem.com 1. 图档透明加…

没有备案的网站安徽做网站的公司有哪些

目录 一、1103. 分糖果 II 1.模拟 2.数学 二、312. 戳气球 1.递归-记忆化搜索 2.区间dp 三、2. 两数相加 1.迭代 2.递归-新建节点 3.递归-原节点 四、4. 寻找两个正序数组的中位数 1.堆 2.双指针二分 五、5. 最长回文子串 1.动态规划 2.中心扩展算法 六、6. Z…

外网设计网站2017两学一做竞赛网站

一、DeepLabV3图像语义分割原理 DeepLabV3架构采用扩张卷积(也称为空洞卷积)来捕捉多尺度信息,从而在不损失空间分辨率的情况下实现对图像的精细分割。 二、DeepLabV3代码及预训练权重下载 2.1 下载deeplabv3代码 这里使用的是B站大佬Bu…

天猫建设网站的意义北约网络防御中心

configparser模块(十六) ConfigParser模块在python3中修改为configparser.这个模块定义了一个ConfigParser类,该模块的作用就是用来读取配置文件的,使用模块中的RawConfigParser()、ConfigParser()、 SafeConfigParser()这三个方法,创建一个…

东莞网站设计教程北京自助企业建站模板

前文介绍 我们在前面了解到了线性回归模型,其实我们可以把线性回归看成一个单个的神经元,它实际上就完成了两个步骤 1.对输入的特征的加权求和 2.将结果通过传递函数(或者激活函数)输出 这里我们提到了传递函数(或者…

网站流量合作dedecms 网站还原

有用influxdb2 不支持sql,并且实质是个列存储数据库,这里基于 influxdb-client-java 和 beanutils反射,写了个数据查询,把结果以行对象的形式返回的工具类。 package com.joy.malltools.influxdb2;import com.influxdb.client.Q…

深圳外贸建站网络推广联客易如何修改网站模版

报错500。看弹幕,知道可能是yml或sql有问题。 所以检查idea工作台, 直接找UserMapper检查,发现完全OK。 顺着这个error发现可能是sql有问题。因为提示是sql问题,而且是有now()的那个sql。 之后通过给的课件,复制课件…

网站编程学习wordpress自动过滤html标签

mockitoMockito是一个模拟框架,可让您使用简洁的API编写漂亮的测试。 它偏向于最小的规格,使不同的行为看起来有所不同,并显示清晰的错误消息。 创造嘲弄 要使用Mockito创建模拟,只需使用Mock注释模拟,然后调用Mockit…

dede手机网站建设手机行网站

问题描述 对于一个序列a[1],a[2],...,a n]&#xff0c;如果ai满足a<ali-1]且a] < ali 1]&#xff0c;则称 a[ 是一个极小值&#xff0c;如果a园满足ai] > ali-1]且a] > ai1]&#xff0c;则称a是个极大值。给定一个序列&#xff0c;请找到极小值中最大的和极大值中…

南京网站制作的价格vis设计机构

MySQL Replication 大家都非常熟悉了&#xff0c;我也不会写怎么搭建以及复制的原理&#xff0c;网上相关文章非常多&#xff0c;大家可以自己去搜寻。我在这里就是想总结一下mysql主从复制需要注意的地方。有人说主从复制很简单嘛&#xff0c;就是master&#xff0c;slave的se…

网站开发与设计课程时间上海中国国际进口博览会

不锈钢水槽如何安装&#xff1f;3个细节要注意&#xff0c;不能忽视&#xff0c;别被套路了随着时代不断的进步。人们生活水平也是不断的提高。生活用品有时间来选&#xff0c;慢慢的步入了我们的日常中。你们觉得家中最重要的地方是什么呢&#xff1f;其实就是厨房&#xff0c…

网站建站报价单wordpress自定义文章排列顺序

初学Linux&#xff0c;还在摸索中&#xff0c;在这个过程中希望能记录下学习到的东西&#xff0c;参考的的书籍为《鸟哥的Linux私房菜》 在这里学到的主要命令有这几个&#xff1a; data cal bc man shutdown sync 1、基础命令操作 data----显示日期与实践的命令 cal----显示日…

做婚恋网站赚钱吗手工制作大全简单漂亮

IOC 与 DI IOC(Inversion of Control)控制反转&#xff1a;所谓控制反转&#xff0c;就是把原先我们代码里面需要实现的对象创建、依赖的代码&#xff0c;反转给容器来帮忙实现。那么必然的我们需要创建一个容器&#xff0c;同时需要一种描述来让容器知道需要创建的对象与对象…

最好的网站建设团队虚拟主机+wordpress

1.简介 在第一个教程中&#xff0c;我们创建了一个基本的OpenMap GIS应用程序&#xff0c;该应用程序在JFrame中显示一个从文件系统加载的具有一个形状图层的地图。 该教程基于com.bbn.openmap.app.example.SimpleMap 。 在该教程中&#xff0c;我们使用了以下OpenMap类&#x…

大型公司网站建设采集软件

0 abstract 本文介绍了一项对GitHub Copilot&#xff08;一种人工智能编程助手&#xff09;的控制实验结果。研究人员招募了软件开发人员&#xff0c;要求他们尽可能快地用JavaScript实现一个HTTP服务器。实验组可以访问人工智能编程助手&#xff0c;比对照组完成任务的速度快…

大岭山仿做网站基金网站开发

随机创建了长度为十的数组 获得十以类的随机整数 快速获取数组2乘3维的数组 生成20个1到10之间的数组 通过reshape 将这些数变成二位数组 shape这个方法可以查看数组中的元素是几行几列的 转载于:https://www.cnblogs.com/chenligeng/p/9315339.html

主流的网站开发语言电子商务服务平台

2007-10-09我的帐号锁定了&#xff0c;我已经把那个解锁的资料用邮件发去去了&#xff0c;怎么不回呀&#xff0c;不是说24小时吗尊敬的客户:您好&#xff01;5173客户服务010很高兴为您服务&#xff01;请您查看下您的邮件是否已经成功提交&#xff0c;您的信息有没有填写齐全…