当前位置: 首页 > news >正文

洛谷:P1831 杠杆数(数位dp)

文章目录

  • 描述
  • 解析
  • 代码
  • thanks for reading!

传送门

描述

如果把一个数的某一位当成支点,且左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,那么这个数就可以被叫成杠杆数。

比如4139就是杠杆数,把3当成支点,我们有这样的等式:4 * 2 + 1 * 1 = 9 * 1。

给定区间[x,y],求出在[x,y]中有几个杠杆数。

解析

数位dp
具体实现看代码注释吧

代码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
int n;
#define int long long
ll dp[20][20][5000];
ll num[20],cnt;
/*
dp定义
dp[pos][pl][num1]
位数为pos,杠杆支点位置在pl,力矩和为num1的数字的个数
*/
ll find(int pos,int pl,int num1,bool lim,bool flag){
//flag:判断前导〇
//lim判断是否受最高位限制if(num1<0) return 0;//如果杠杆力矩已经是负的了,以后只会更负,所以回去if(pos==0) return num1==0;//填完如果力矩还需要0就符合条件if(!lim&&dp[pos][pl][num1]!=-1) return dp[pos][pl][num1];//记忆化int mx= lim ? num[pos] : 9;//可以填的最高位数ll ans=0;for(int i=0;i<=mx;i++){ans+=find(pos-1,pl,num1+(pos-pl)*i,lim&&i==mx,flag&&i==0);//枚举当前需要填的位数}if(!lim) dp[pos][pl][num1]=ans;//记忆化return ans;
}
ll solve(int x){cnt=0;while(x){num[++cnt]=x%10;x/=10;//把每一位存起来}ll ans=0;for(int i=1;i<=cnt;i++) ans+=find(cnt,i,0,1,1);//枚举杠杆支点位置return ans-cnt+1;
}
signed main(){ll l,r;memset(dp,-1,sizeof(dp));scanf("%lld%lld",&l,&r);if(l==0) printf("%lld\n",solve(r));else printf("%lld\n",solve(r)-solve(l-1));//用前缀和相减
}
/*
if(flag) ans+=find(pos-1,pl,(pos-pl)*i,lim&&i==mx,flag&&i==0);else ans+=find(pos-1,pl,num1+(pos-pl)*i,lim&&i==mx,flag&&i==0);
*/

thanks for reading!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

<form>标签

HTML-表单 1. 在HTML标签中,<form>标签用来定义表单&#xff0c;来实现用户信息的收集和传递。 <form action"url地址" method"提交的方式" name"表单的名称"></form> 比较get和post&#xff1a; 2. 表单能够包含 input 元…...

.NET 6程序部署到Docker

使用Docker部署应用程序 首先确保已经安装Docker 桌面软件&#xff0c;如下图&#xff1a; 然后&#xff0c;把需要部署到Docker上面的项目&#xff0c;咱们先添加Docker的支持&#xff0c;启动项目右键 -> 添加 -> Docker支持&#xff0c;选择 Linux 然后会自动生成Doc…...

如何抓取modem开机log

1. adb root 2. adb shell cat /sys/bus/msm_subsys/devices/subsys*/name 3. 根据2输出的结果从上往下数&#xff0c;从0开始数&#xff0c;数到modem是数字几&#xff0c;那么*号就用几来替代&#xff0c;比如数到moddem是3&#xff0c;那么modem对应的子系统就是subsys3 4…...

HTML5详解 (前端)

什么是HTML 超文本标记语言 Hyper Text Markup Language W3C 万维网联盟 标准包括&#xff1a; 结构化标准语言&#xff08;HTML、XML&#xff09;表现标准语言&#xff08;CSS&#xff09;和行为标准&#xff08;DOM、ECMAScript&#xff09; 新建project HTML 删除SRC文件…...

我们究竟还要学习哪些Android知识?赶紧收藏!

前言 今年是转折的一年&#xff0c;很多学android开发的小伙伴失业了&#xff0c;虽找到了一份工作&#xff0c;但高不成低不就&#xff0c;下半年金九银十有想法更换一份工作&#xff0c;很多需要大厂面试经验和大厂面试真题的小伙伴&#xff0c;想提前准备刷下题。接下来分享…...

VR垃圾分类_VR环保科普_VR垃圾分类综合解决方案

随着人类生活质量水平的提高&#xff0c;人类生存的环境在不可逆转的变化&#xff0c;自然保护和生态安全越来越引人注目。全球气候变暖、自然灾害频繁&#xff0c;使得保护生态环境迫在眉睫。聚象科技VR环保模拟系统&#xff0c;使体验者“进入”生态环境&#xff0c;身临其境…...

python的matplotlib的常用绘图函数模版

import matplotlib.pyplot as plt # from mpl_toolkits.mplot3d import Axes3D import matplotlib as mpl import numpy as np import pandas as pd import time plt.rcParams[font.sans-serif][simhei]#用于正常显示中文标签 plt.rcParams[axes.unicode_minus]False#用于正常显…...

写给互联网大厂员工的真心话,面试必问

越来越多的人在提“移动端的下半场”、“Android 开发的焦虑”之类的&#xff0c;也有人在喊“技术天天在变&#xff0c;学也学不完”&#xff0c;“昨天 Kotlin 今天 Flutter”。其实我却认为&#xff0c;如果你技术达到了一定程度&#xff0c;你无需太过在意这些。 移动端真…...

pytorch代码学习1

这篇文章所写的内容主要是基于Context-Aware_Crowd_Counting-pytorch 的代码写的 1.在深度学习领域&#xff0c;会训练出一个模型&#xff0c;在使用训练好的模型时&#xff0c;其中有一种保存的模型文件格式叫.npy 2.os.path.join()函数&#xff1a;连接两个或更多的路径名组…...

Python 模块导入 import ...\from... import...

代码越来越多的时候&#xff0c;我们将代码写到一个.py 文件里&#xff0c;随着代码的增加&#xff0c;代码的维护越来越困难。如果将代码按照不同的功能拆分放到不同的.py文件中&#xff0c;每个.py文件就是一个模块。 不同模块中的变量名可以相同&#xff0c;他们不会受影响…...

盘点golang中的开发神器

本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 在Java中&#xff0c;我们用Junit做单元测试&#xff0c;用JMH做性能基准测试&#xff08;benchmark&#xff09;&#xff0c;用async-profiler剖析cpu性能&#xff0c;用jstack、jmap、arthas等来排查问题。 作…...

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第12天&#xff1a;5天上手Laravel8.5之路由篇&#xff08;1/5&#xff09;前言安装与配置Laravel基础功能&#xff1a;路由(Route)路由是什么&#xff1f;设置路由的请求方式定义路由的路径定义路由的内容闭包中定义内容控制器中定义内容视图中定义内容其它内容的…...

学习响应式BootStrap来写融职教育网站,Bootsrtap第三天nav布局

nav导航布局 <!DOCTYPE html> <html lang"zh_CN"> <head><meta charset"UTF-8"><title>融职教育</title><!-- 移动设备优先--><meta name"viewport" content"widthdevice-width, initial…...

前端常见跨域解决方案(全)

文章目录什么是跨域&#xff1f;什么是同源策略&#xff1f;同源策略限制以下几种行为常见跨域场景跨域解决方案一、 通过jsonp跨域二、 document.domain iframe跨域三、 location.hash iframe跨域四、 window.name iframe跨域五、 postMessage跨域六、 跨域资源共享&#x…...

不是吧!连Linux都不会你还想月入过W(入门基础篇)

目录 一、Linux概览 二、Linux安装 三、Linux文件管理 四、Linux基本命令 五、Linux高级命令 六、vim编辑器 七、用户和用户组管理 八、权限管理 一、Linux概览 Linux是什么&#xff1f; Linux和我们常见的Windows一样&#xff0c;都是操作系统。 Linux能做什么&…...

因为一个字符校对问题,我的大厂面试挂了

摘要&#xff1a;字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 本文分享自华为云社区《一个字符校对规则引发的血案》&#xff0c;原文作者&#xff1a;DRS技术快客 。 问题现场 我们先看一个建表语句 CREATE TABLE collate_test ( val1 char(32…...

AndroidUtilCode 最强大的工具类

一、前言&#xff1a; AndroidUtilCode 是一个强大易用的安卓工具类库&#xff0c;它合理地封装了安卓开发中常用的函数&#xff0c;具有完善的 Demo 和单元测试&#xff0c;利用其封装好的 APIs 可以大大提高开发效率&#xff0c;如今它主要包括两部分模块&#xff0c;其一是…...

SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具&#xff0c;但笔者发现&#xff0c;命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便&#xff0c;但只要用户习惯了&#xff0c;就非常顺畅了。针对…...

【leetcode游记】竞赛题 1877

数组中最大数对和的最小值。 这道题&#xff0c;老实说光看懂我就看了很久。论刷题的重要性。 总结为&#xff1a;排序题 题目链接&#xff1a; https://leetcode-cn.com/problems/minimize-maximum-pair-sum-in-array/ 数对和&#xff0c;就是两个数相加。 两个数相加的值要…...

什么样才能叫“技术很牛”?

近日&#xff0c;在某论坛上&#xff0c;有人提出了“一直不懂一个问题&#xff0c;什么叫‘技术很牛’&#xff1f;”的问题。详细提问称“说实话&#xff0c;我从本科到硕士&#xff0c;我觉得计算机的技术很多都是看看就会了&#xff0c;多操练下就熟了。可能有些设计问题需…...

CentOS 配置php环境

一.安装apache 1.安装apache yum install httpd2.修改配置文件 vi /etc/httpd/conf/httpd.conf将#ServerName www.example.com:80前面的#去掉 修改为ServerName localhost:80 3.添加端口,刷新配置,并查看确认 firewall-cmd --permanent --zonepublic --add-port80/tcp fire…...

MapReduce概述

1.MapReduce定义 MapReduce是一个分布式运算程序的编程框架&#xff0c;是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff0c;并行运行在一个Hadoop集群上。 2.MapReduc…...

requests+re爬取猫眼电影排行

import requests from requests.exceptions import RequestException import re,json,timedef get_one_page(url):#获取网页信息try:headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/53…...

部署k8s

安装docker 参考菜鸟教程&#xff1a;Ubuntu Docker 安装 | 菜鸟教程 (runoob.com) docker配置 1、当前用户加入"docker"用户组 sudo usermod -aG docker $USER2、 配置 cgroup 驱动为 systemd sudo vim /etc/docker/daemon.json # 创建文件 /etc/docker/daemo…...

Android Studio 使用Token登录Git

获取Token地址&#xff1a;https://github.com/settings/tokens...

6 python数据分析基础——批量进行数据分析(二)

目录 七、使用相关系数判断数据的相关性 1、使用相关系数判断数据的相关性 2、求单个变量和其他变量间的相关性 八、使用方差分析对比数据的差异 1、使用方差分析对比数据的差异 2、绘制箱形图识别异常值 九、使用描述统计和直方图制定目标 1、使用描述统计和直方图制定…...

pytorch代码学习1

这篇文章所写的内容主要是基于Context-Aware_Crowd_Counting-pytorch 的代码写的 1.在深度学习领域&#xff0c;会训练出一个模型&#xff0c;在使用训练好的模型时&#xff0c;其中有一种保存的模型文件格式叫.npy 2.os.path.join()函数&#xff1a;连接两个或更多的路径名组…...

秃头少女日记之初识HTML

一、HTML的介绍 1、HTML的概述&#xff1a; HTML称为超文本标记语言&#xff0c;是一种标识性的语言。它包括一系列标签&#xff0e;通过这些标签可以将网络上的文档格式统一&#xff0c;使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本&…...

翻译文章 | Just gopher it!无回显SSRF升级为RCE

前言: 发现此漏洞的bug bounty团队不允许公开披露&#xff0c;因此我不会直接命名所涉及的程序。 我能说的是&#xff0c;这是在Hackerone运行时间最长、规模最大的bug赏金活动中发现的。多个Hackerone的现场黑客活动已经包括这个活动。 毋庸置疑&#xff0c;这是一家拥有世…...

跨域请求

/* * Description: 配置文件 */ module.exports { publicPath: "./", devServer: { open: true, proxy: "http://106.15.179.105/api" //跨域路径 }, }; // proxy是代理的意思 // 代理跨域就是在欺骗浏览器 让浏览器认为你访问的还是 同…...

初识Avro

Avro是Hadoop生态圈的一部分&#xff0c;由Hadoop的创始人Doug Cutting牵头开发&#xff0c;当前最新版本1.8.2。Avro是一个数据序列化系统&#xff0c;设计用于支持大批量数据交换的应用。它的主要特点有&#xff1a; Rich data structures.A compact, fast, binary data form…...

MapReduce整合Avro

前置博客&#xff1a; 搭建Hadoop3.1.2伪分布方式环境 本博客示例中可能出现的错误及解决方案&#xff1a; Name node is in safe mode. Container killed on request. Exit code is 143 简介 在开发之初&#xff0c;Avro就是围绕着完善Hadoop生态系统的数据处理而开展的&am…...

maven依赖avro_avro序列化详细操作

Intellij 15.0.3Mavenavro 1.8.0Avro是一个数据序列化系统。它提供以下&#xff1a;1 丰富的数据结构类型2 快速可压缩的二进制数据形式3 存储持久数据的文件容器4 远程过程调用RPC5 简单的动态语言结合功能&#xff0c;Avro和动态语言结合后&#xff0c;读写数据文件和使用RPC…...

maven依赖avro_在MapReduce中使用Avro

个人认为在MapReduce中使用Avro可以提升数据的处理性能&#xff0c;主要是以下几点&#xff1a;向Job提供数据文件时可以使用Avro序列化过的二进制数据文件在数据解析方面速度比较快排序功能Avro官网也提供了一个ColorCount这样的一个案例&#xff0c;演示使用Avro序列化过的二…...

Avro根据avsc文件生成java类

背景 Avro可以提供跨语言的数据交互&#xff0c;下面记录如何通过Avro生成java类 步骤 1、定义avsc文件&#xff0c;里面包含类的一些信息&#xff0c;比如包名、类名、属性列表等&#xff0c;示例如下 {"namespace": "szc.zone", "type": &…...

avro hello world

根据需要的java类定义avro对象 {"namespace": "com.dj.serialization","type": "record","name": "User","fields": [{"name": "name", "type": "string"},{…...

Avro介绍

Apache Avro是一个数据序列化系统。 Avro所提供的属性&#xff1a; 1.丰富的数据结构 2.使用快速的压缩二进制数据格式 3.提供容器文件用于持久化数据 4.远程过程调用RPC 5.简单的动态语言结合功能&#xff0c;Avro 和动态语言结合后&#xff0c;读写数据文件和使用 RPC 协议…...

flume avro java_flume avro 程序报错

如题&#xff1a;flume 启动程序的conf文件为agent1.sourcessource1agent1.sinkssink1agent1.channelschannel1agent1.sources.source1.typespooldiragent1.sources.source1.spoolDir/root/scripts/dataagent1.sources.source1.channelschannel1agent1.sources.source1.fileHea…...

maven依赖avro_Apache Avro使用入门指南

Avro有C, C, C#, Java, PHP, Python, and Ruby等语言的实现&#xff0c;本文只简单介绍如何在Java中使用Avro进行数据的序列化(data serialization)。本文使用的是Avro 1.7.4&#xff0c;这是写这篇文章时最新版的Avro。读完本文&#xff0c;你将会学到如何使用Avro编译模式、如…...

Avro 数据序列化

Apache Avro 是一个独立于编程语言的数据序列化系统。旨在解决Hadoop中Writable类型的不足&#xff1a;缺乏语言的可移植性。Avro 模式通常用json来写&#xff0c;数据通常采用二进制格式编码。 Avro的使用 Avro 的使用可以分为两种&#xff1a;编译Schema和非编译Schema 编译S…...

avro java_avro序列化框架实践(一)根据schema文件反向生成java类

原标题&#xff1a;avro序列化框架实践(一)根据schema文件反向生成java类avro是一款序列化框架&#xff0c;定义schema文件,可以生成java类&#xff0c;然后配合就可以序列化、反序列化对象。定义user.avsc{"namespace": "example.avro","type":…...

Avro 入门

Avro 简介 Apache Avro是一个数据序列化方法。 Avro提供&#xff1a; 丰富的数据结构。紧凑、高效的二进制数据格式。容器文件&#xff0c;用于存储持久数据。远程过程调用(RPC)。易于集成到动态语言的特性。无论是读写数据文件&#xff0c;还是使用或实现RPC协议&#xff…...

avro RPC

简介 RPC(Remote Procedure Call)&#xff1a;远程过程调用&#xff0c;它是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络的技术。 一个 RPC 的核心功能主要有 5 个部分组成&#xff0c;分别是&#xff1a;客户端、客户端 Stub、网络传输模块、服…...

java 读取avro 文件_Java读写avro例子

/*** Autogenerated by Avro** DO NOT EDIT DIRECTLY*/packageexample.avro;SuppressWarnings("all")org.apache.avro.specific.AvroGeneratedpublic class User extends org.apache.avro.specific.SpecificRecordBase implementsorg.apache.avro.specific.Specific...

avro java_Avro 简介 | 学步园

Avro 简介ApacheAvro(http:llavro.apache.org)是一个独立于Avro规范((http: //avro. apache. org/dots/current/spec. html)精确定义所有实现都必须支持的二进制格式。同时它还指定这些实现还需要支持其他Avro特性。但是&#xff0c;该规范并没有给API制定规范:实现可以根据自己…...

Avro文档概览

介绍 Apache Avro 是一个数据序列化系统 Avro提供以下功能: 非常的数据结构一个紧凑,快速的二进制数据格式一个容器文件,用来永久保存数据远程过程调用(RPC)动态语言可以简单集成.代码的生成既不需要读或写数据文件,也不需要实现RPC协议.代码生成是一个可选优化,仅仅是值得实…...

flume avro java_flume之Avro Source和Avro Sink

一、Avro Souce介绍Flume主要的RPC Source是Avro SourceAvro Source被设计为高扩展的RPC服务器端&#xff0c;能从其他的Flume Agent的Avro Sink或者使用Flume的SDK发送数据的客户端应用&#xff0c;接受数据到一个Flume Agent中。Avro Source的可扩展性结合Channel担当了缓冲器…...

Avro的java实现

文章目录基于Apache Avro™ 1.10.2 版本的Java实现环境准备工程目录com.donny.avro目录下之中的文件User.java文件Serialize .java文件Deserialize.java文件Client.java文件com.donny.schema目录下之中的文件SerializeUser.java文件DeserializeUser.java文件Client .java文件基…...

avro schema php,Hadoop之AVRO

Avro是个支持多语言的数据序列化框架&#xff0c;支持c&#xff0c;c&#xff0c;c&#xff03;&#xff0c;python&#xff0c;java&#xff0c;php&#xff0c;ruby&#xff0c;java。他的诞生主要是为了弥补Writable只支持java语言的缺陷。1AVRO简介很多人会问类似的框架还有…...

Avro

序列化/反序列化机制 将对象转化为字节来进行存储称之为序列化&#xff1b;将字节还原会对象的过程称之为反序列化 java中的序列化反序列化机制&#xff1a;需要利用原生流来实现&#xff0c;Serializable(该对象可以进行序列化/反序列化)&#xff0c;static/transient(被修饰之…...