【2018.4.7】模拟赛之一-ssl2382 K好数【数位dp】

正题


大意

如果一个数每一位都小于k那么这个数是好数。给出n和k,求1-n里有多少个好数。


解题思路1

将起改为一个k+1进制的数,那么每次加1后这个数都是好数。然后判断一下是否大于n(十进制的情况下)

解题思路2

数位dp,时间复杂度O(n的位数):
f[i]表示后i位数没有被前面的数影响的好数数量
g[i]表示后i位数被前面的数影响的好数数量
n[i]表示n的第i位数
然后动态转移方程

f[i]=f[i1](k+1)f[i]=f[i−1]∗(k+1)

g[i]=f[i](n[i]>k)g[i]=f[i](n[i]>k)

g[i]=g[i1]+f[i1]n[i](n[i]<=k)g[i]=g[i−1]+f[i−1]∗n[i](n[i]<=k)


代码1

#include<cstdio>
using namespace std;
int a[9],maxs[9],w,m,s,n;
bool add()
{bool flag=0;a[1]++;//加1for (int i=1;i<=w;i++){if (a[i]>m){a[i+1]++;a[i]=0;//进位}if (a[i]>maxs[i]) flag=true;else if (a[i]<maxs[i]) flag=false;//判断大小}if (a[w+1]!=0) return true;return flag;
}
int main()
{   scanf("%d%d",&n,&m);a[1]=0;for (int i=n;i;i/=10){maxs[++w]=i%10;//计算}while (true){if (add()) break;s++;}printf("%d",s);
}

代码2

#include<cstdio>
using namespace std;
int n,num,g,f,k;
int main()
{scanf("%d%d",&n,&k);f=1;g=1;for (n=n;n;n/=10){num=n%10;if (num>k) g=(k+1)*f;else g+=num*f;f=(k+1)*f;//动态转移}printf("%d",g-1);
}

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

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

相关文章

基于.NET CORE微服务框架 -谈谈surging的服务容错降级

一、前言 对于不久开源的surging受到不少.net同学的青睐&#xff0c;也受到.net core学习小组的关注&#xff0c;邀请加入.NET China Foundation 以方便国内.net core开源项目的推广&#xff0c;我果断接受邀请加入了队伍进行互相交流学习&#xff0c;最近也更新了surging新的…

java中部的分页实现(二)

大家好&#xff0c;欢迎来到雄雄的小课堂&#xff0c;昨天分享了关于分页查询的理论知识&#xff0c;今天我们就来结合代码和案例实际的应用一下&#xff0c;方便大家理解。前言&#xff1a;我们都知道&#xff0c;实现分页需要三个步骤。第一&#xff0c;确定页大小&#xff0…

artTemplate的空白输出坑

一、问题现象 <script type"text/html" id"man_template">{{each list as v i}}<tr><td>{{v.name}}</td><td>{{v.height}}</td><td>{{v.age}}</td></tr>{{/each}} </script> <script>…

SpringSecurity授权(访问控制)

一、 访问控制url匹配 在前面讲解了认证中所有常用配置&#xff0c;主要是对httpSecurity.formLogin()进行操作。而在配置类中httphttpSecurity.authorizeRequests()主要是对url进行控制&#xff0c;也就是我们所说的授权&#xff08;访问控制&#xff09;。httpSecurity.autho…

剥析surging的架构思想

1、前言 前面第一篇阐述了采用基于.NET CORE微服务架构&#xff0c;应用surging服务端与客户端之间进行通信的简单示例以及对于surging服务化框架简单介绍。在这篇文章中&#xff0c;我们将剥析surging的架构思想。 surging源码下载 2、通信机制 2.1 简介 在单体应用中&am…

【2018.4.7】模拟赛之二-ssl2383 睡眠【水题】

正题 大意 输入两个时间点表示起床的时间和睡了多久求开始睡觉的时间 解题思路 直接计算&#xff0c;水题不解释 代码 #include<cstdio> using namespace std; int h1,m1,h2,m2; int main() { scanf("%d:%d %d:%d",&h1,&m1,&h2,&m2);h1-h…

javaweb实现分页(二)

前言&#xff1a;我们都知道&#xff0c;实现分页需要三个步骤。第一&#xff0c;确定页大小&#xff08;每页显示的数据量&#xff09;。第二&#xff0c;计算显示的总页数。第三&#xff0c;写分页的sql语句。这三步已经在昨天的推文中详细说明&#xff0c;需要的可以点击这里…

滴滴出行基于RocketMQ构建企业级消息队列服务的实践

转载自 滴滴出行基于RocketMQ构建企业级消息队列服务的实践 本文整理自滴滴出行消息队列负责人 江海挺 在Apache RocketMQ开发者沙龙北京站的分享。通过本文&#xff0c;您将了解到滴滴出行&#xff1a; 1. 在消息队列技术选型方面的思考&#xff1b; 2. 为什么选择 RocketMQ…

[信息安全] 1.密码工具箱

0. 何谓安全&#xff1f; 对于信息安全性的重要性&#xff0c;我想大家都不会否认。那么具体来说应该具有哪些特性才能称之为安全呢&#xff1f;举个简单的例子&#xff1a;我给你发送一条消息“借给我100元”&#xff0c;当你收到这条消息并且处理后你的账户里面会少出来100块…

【2018.4.7】模拟赛之三-ssl2384 字符串【字符串】

正题 大意 给一个字符串&#xff0c;求有多少个区间中含有”bear” 解题思路 直接寻找bear&#xff0c;然后计算有该bear的区间数&#xff0c;注意去重。 比如”bearbear”那么[1-8]这个区间会重复查找到&#xff0c;所以我们就只需要找到上一个bear的位置就好了 代码 #inc…

深入理解TCP/IP协议-TCP建立与终止连接

转载自 深入理解TCP/IP协议-TCP建立与终止连接 一、引言 TCP 是一个面向连接的协议。无论哪一方向另一方发送数据之前&#xff0c;都必须先在双方之间建立一条连接。连接创建与终止的状态变化图如下&#xff1a; 二、三次握手建立连接 过程如下&#xff1a; 客户端发送一个 SY…

在Docker中运行asp.net core 跨平台应用程序

概述 Docker已经热了有一两年了&#xff0c;而且我相信这不是一个昙花一现的技术&#xff0c;而是一个将深远影响我们日后开发和部署、运营应用系统的一种创新&#xff08;很多人将其作为devops的一种非常重要的基石&#xff09;。学习docker的最好方式&#xff0c;莫过于它的…

java中的Queue队列的用法

大家好&#xff0c;欢迎来到雄雄的小课堂&#xff0c;今天给大家分享的是“java中的Queue队列的用法” 前言&#xff1a;好多人对Queue不是很熟悉&#xff0c;毕竟平时也不怎么用&#xff0c;遇到集合要么List要么map这些常用的&#xff0c;殊不知&#xff0c;java中还有个Que…

SpringCloud Netflix Eureka

文章目录一、 Eureka简介Eureka组件二、 Eureka和Zookeeper 对比1 什么是CAP定理2 基于CAP定理比对Eureka和Zookeeper三、 搭建Eureka注册中心1 POM文件2 配置文件application.yml3 启动类4 访问Eureka Server WEB服务管理平台四、 Eureka 服务管理平台介绍1 Eureka Server服务…

使用枚举定义常量更好点儿

大家好&#xff0c;欢迎来到雄雄的小课堂&#xff0c;昨天给大家分享的是“java中的Queue队列的用法示例”&#xff0c;今天&#xff0c;分享的主题是“java中&#xff0c;推荐使用枚举定义常量”。 前言&#xff1a;常量&#xff0c;相信大家多不会陌生&#xff0c;常量值一般…

在 Java 中初始化 List 的五种方法

转载自 在 Java 中初始化 List 的五种方法 Java 中经常需要使用到 List&#xff0c;下面简单介绍几种常见的初始化方式。 1.构造 List 后使用 List.add 初始化 List<String> stringList new LinkedList<>(); stringList.add("a"); stringList.add(&…

【2018.4.7】模拟赛之四-ssl2385 猜数【水题】

正题 大意 给出一些询问和答案&#xff0c;询问内容包括: 1. 是否大于一个数 2. 是否小于一个数 3. 是否大于等于一个数 4. 是否小于等于一个数 这是一个-10000到10000的数 求这个数的最小值 代码 #include<cstdio> #include<iostream> using namespace st…

SpringCloud Netflix Ribbon

文章目录一、 Ribbon简介二、 使用Ribbon开发微服务1 创建springcloud工程 和 commons子模块2 开发服务提供者 - ribbonappservice3 开发服务消费者 - ribbonappclient三、 集中式与进程内负载均衡区别四、 Ribbon常见的负载均衡策略1 Ribbon中的常用负载均衡简介2 配置负载均衡…

Entity Framework Core 生成跟踪列

注意&#xff1a;我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时&#xff0c;功能可能存在变动。 当您设计数据库时&#xff0c;有时需要添加列以跟踪记录何时更改&#xff0c;以及谁进行了更改。例如&#xff0c;您添加以下列&#xff1a; Cre…

老师,我们想看到您的笑容!

“老师&#xff0c;你可以对我们笑笑吗&#xff1f;”今天偶然遇见一位学生在吃饭的路上和我说道。我冲他点了点头&#xff0c;笑道&#xff1a;“好呀”&#xff01;是啊&#xff0c;我是好久没有把笑声带回班级中了。1目前&#xff0c;4班都在倾尽全力的做项目&#xff0c;试…