FZU2109 Mountain Number——————数位DP

SWIFT报文格式解析:从MT103到MT760,这些金融电文你了解多少? 本文深入解析SWIFT报文格式中的MT103与MT760,详细介绍了这两种金融电文的结构、应用场景及实操技巧。MT103用于国际汇款业务,MT760则适用于银行保函开立,两者在国际金融交易中扮演关键角色。文章还提供了常见问题解决方案和自动化处理建议,帮助金融从业者高效处理跨境业务。 阅读详情

Mountain Number

Accept: 351 Submit: 875
Time Limit: 1000 mSec Memory Limit : 32768 KB

Problem Description

One integer number x is called “Mountain Number” if:

(1) x>0 and x is an integer;

(2) Assume x=a[0]a[1]…a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equal to a[2i] and a[2i+2](if exists).

For example, 111, 132, 893, 7 are “Mountain Number” while 123, 10, 76889 are not “Mountain Number”.

Now you are given L and R, how many “Mountain Number” can be found between L and R (inclusive) ?

Input
The first line of the input contains an integer T (T≤100), indicating the number of test cases.

Then T cases, for any case, only two integers L and R (1≤L≤R≤1,000,000,000).

Output
For each test case, output the number of “Mountain Number” between L and R in a single line.
Sample Input
3
1 10
1 100
1 1000
Sample Output
9
54
384
Source
“高教社杯”第三届福建省大学生程序设计竞赛


数位DP,训练的时候也看出来了这道题是数位DP了,不过当时自己也没有做出来(太菜了)然后补了一下题目顺便学习数位DP
数位DP,也就是记忆话搜索,在数字上进行DP,比直接数数要快很多的

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<iostream>
using namespace std;
typedef long long ll;
const ll MAXN = 1e6+7;
ll dp[66][66][6],dight[66];

//长度,上一位的值,第几位(从高位往低位置数,因为题目定义就是这样子的),限制
ll dfs(int len, int pre, int id, bool limit)//
{
        if(len==0)       return 1;
        if(!limit&&dp[len][pre][id%2])  return dp[len][pre][id%2];

        int cnt = 0,up = (limit?dight[len]:9);

        for(int i=0;i<=up;++i)
        {
                if(id==1)
                {
                        if(i==0)        cnt += dfs(len-1,-2, id, limit&&i==up);//前导零的情况,
                        else            cnt += dfs(len-1, i, id+1, limit&&i==up);
                }
                if(id%2==0&&i>=pre)     cnt += dfs(len-1, i, id+1, limit&&i==up);//id是偶数的时候,该位置就是数字的奇数位
                if(id%2&&id!=1&&i<=pre) cnt += dfs(len-1, i, id+1, limit&&i==up);//id是奇数的时候,需要此位置小于上一位
        }

        if(!limit)      dp[len][pre][id%2] = cnt;//没有限制的话就可以记忆话了
        return cnt;
}

ll solve(ll n)
{
        int k = 0;
        while(n)
        {
                dight[++k] = n%10;
                n /= 10;
        }
        return dfs(k,-2,1,1);
}


int main()
{
        // freopen("../in.txt","r",stdin);
        // freopen("../out.txt","w",stdout);
        ios::sync_with_stdio(0);
        cin.tie(0);
        int t;
        cin>>t;
        while(t--)
        {
                ll a,b;
                cin>>a>>b;
                cout<<solve(b) - solve(a-1)<<endl;
        }
        return 0;
}

UG\NX二次开发 获取对象的引用集 获取对象的引用集,一个对象可能有多个引用集,下面这个封装函数可以获取对象的所有引用集。 阅读详情

相关推荐

Cadence Virtuoso VIVA波形分析:从背景色修改到线宽调整的完整指南

本文详细介绍了Cadence Virtuoso VIVA波形分析工具的核心使用技巧,包括背景色修改、线宽调整等高级功能。通过具体操作步骤和配置方法,帮助工程师优化波形显示效果,提升工作效率。特别强调了与Calculator组件的配合使用,以及专业波形图的输出技巧。

weixin_27330481的博客 621

Mountain Number FZU-2109数位dp

Mountain NumberFZU-2109   题目大意:一个大于0的数字x,分写成x=a[0]a[1]a[2][3]..a[n]的形式,(比如x=1234,a[0]=1,a[1]=2,a[3]=3,a[3]=4),Mountain Number要满足对于a[2*i+1]要大于等于a[2*i]和a[2*i+2],给定范围l,r问,有多少个Mountain Number   就简单的数位dp...

weixin_30394251的博客 163

EEGLAB数据预处理基本流程GUI实操指南

按钮,会出现如上图所示的长条形对话框,方框里面是所有电极的名称,这时将需要的剔除的电极选择上,如上图,我选择了 VEOG这个电极(该电极表示是垂直眼电),然后点“OK”,在弹出的对话框中自行确定是否需要修改命名。坏导是指在数据采集时,由于各种原因(如,电极本身问题或阻抗不好等)导致数据记录有问题,但是在后期又特别想要该通道的数据,那么就可以利用插值的方法进行——利用该导联周边的几个电极点的均值作为该导的数据。上图的图是通过IClabel的工具箱进行自动判断的,可以帮助自动识别出哪些是Eye的成分。

fdgdf5535的博客 6394

FZU-2109 Mountain Number(数位dp)

Problem 2109 Mountain Number Accept: 231    Submit: 586 Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description One integer number x is called "Mountain Number" if: (1) x>0

十分残念的博客 451

产品经理必看!用Cursor自动生成符合开发规范的技术文档(含UI设计规则模板)

本文详细介绍了产品经理如何利用Cursor工具自动生成符合开发规范的技术文档,并整合UI设计规则模板。通过配置标准化文档结构和设计关联规则,Cursor能有效解决术语不统一、结构混乱等问题,提升跨团队协作效率。文章包含实际案例、规则配置要点及企业级实施方案,帮助产品经理快速掌握AI辅助文档生成技巧。

emacs5lisp的博客 223

别再死记硬背了!用51单片机的AD/DA和PWM,亲手做个简易示波器信号发生器

本文详细介绍了如何利用51单片机的PWM和AD/DA功能制作简易示波器信号发生器。通过PWM模拟DAC输出波形,结合XPT2046 ADC进行信号测量,实现方波、三角波和正弦波的生成与显示。项目不仅成本低廉,还能帮助电子爱好者深入理解51单片机的核心功能,是理论与实践结合的绝佳案例。

weixin_28675839的博客 265

FZU 2109 Mountain Number_数位DP

原题: Problem Description One integer number x is called "Mountain Number" if: (1) x>0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is l

u011343989的专栏 700

IC618新手避坑指南:从零在Linux上配置Cadence Virtuoso环境(含cds.lib文件详解)

本文详细介绍了在Linux系统上配置Cadence Virtuoso IC618环境的完整指南,特别针对新手常见问题提供解决方案。重点解析了cds.lib文件的关键配置,包括库路径定义和工艺库管理,并分享了高效工作流设置和典型问题排查技巧,帮助工程师快速搭建稳定的EDA设计环境。

weixin_26805597的博客 553

FZU 2109 Mountain Number [数位DP]【动态规划】

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2109 ——————————–. Problem 2109 Mountain Number Accept: 231 Submit: 592 Time Limit: 1000 mSec Memory Limit : 32768 KBProblem DescriptionOne integer n

Tabris的博客 425

深度学习基于Resnet18的图像多分类--训练自己的数据集(超详细 含源码)

深度学习基于Resnet18的图像多分类--训练自己的数据集(超详细 含源码)

她是不会无条件的!! 2万+

不只是抓取:用五指灵巧手(ROH-A001/RH56)玩转ROS2下的力控与混合控制

本文深入探讨了在ROS2环境下使用五指灵巧手(ROH-A001/RH56)实现力控与混合控制的实战技巧。从硬件通信协议解析到ROS2节点开发,详细介绍了力感知架构、实时数据处理和混合控制策略,帮助开发者在Ubuntu系统中高效实现精密操作。通过鸡蛋抓取等实例,展示了力控技术在机器人灵巧操作中的关键作用。

weixin_28221501的博客 286

FZU 2109 mountain number 数位dp

思路:所有的数位dp长一个模样。考虑一下,在某一位上的往下递归,可能和哪几个条件有关。1.位数2.前一位的值3.当前是奇数位还是偶数位。* 注意前导零的时候后,默认pre是最大值9。根据数位dp模板即可写出#include &lt;cstdio&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cstring...

Peppermint__的博客 266

学Simulink——基于Simulink的AUTOSAR架构下电机控制软件组件建模

本文详细介绍了在Simulink中基于AUTOSAR架构开发电机控制软件组件(SWC)的全流程。主要内容包括:首先阐述了AUTOSAR架构对汽车电子系统开发的价值,包括提高软件复用率、降低集成成本和改善验证环境。然后重点讲解了在Simulink中构建电机控制SWC的具体步骤:从创建AUTOSAR组件模型、定义数据端口和服务端口,到搭建FOC控制算法、配置运行实体,最后生成AUTOSAR描述文件和验证RTE接口。文章还提供了与基础软件(BSW)的集成方案、工程实践要点和常见问题解决方案,并以大众MEB平台等实

amy_mhd的博客 67

FZU 2109 Mountain Number (数位DP)

One integer number x is called "Mountain Number" if: (1) x>0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equal to a[2i] and a[

AK_HuangYC的博客 374

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

fzu 2109 Mountain Number 数位DP 递推

题意:Mountain Number 是奇数位的数不小于相邻偶数位的数的数字, 求一个闭区间内的山峰数有多少。 如果把一个Mountain Number 首项删掉 会变成偶数位的数不小于相邻奇数位的数的数字,再删掉又变成Mountain Number。状态的转移很显然!#include #include using namespace std; int dp[12][10]={0},pd[12]

vvv_557的博客 339

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

FZU -2109 Mountain Number(数位dp)

这有一颗山数 [Submit] Mountain Number Accept: 433Submit: 1086 Time Limit: 1000 mSecMemory Limit : 32768 KB Problem Description One integer number x is called "Mount...

From now on...的Blogs 233

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

FZU - 2109 Mountain Number 数位DP

题目大意:参考点击打开链接 解题思路:如果不懂可以问,讨论了能加深了解#include #include int dp[12][12][2],data[12]; //pos表示当前位,pre表示前一位的数是多少,parity表示该位是奇数位还是偶数位,jud表示是否有前导零,board前面那一位是否是最大值 int DP(int pos,int pre,int parity,bool jud

静静地码 888

FZU2109 Mountain Number (数位DP)

Problem 2109 Mountain Number Accept: 213 Submit: 538 Time Limit: 1000 mSec Memory Limit : 32768 KBProblem DescriptionOne integer number x is called “Mountain Number” if:(1) x>0 and x is an inte

MrBlank的ACM记事本 466

FZU 2109 Mountain Number 数位DP

One integer number x is called "Mountain Number" if: (1) x&gt;0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equal to a[2i] and...

1的博客 254

fzu 2109 Mountain Number 数位DP

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2109 题意: 如果一个>0的整数x,满足a[2*i+1] >= a[2*i]和a[2*i+2],则这个数为Mountain Number。 给出L, R,求区间[L, R]有多少个Mountain Number。 思路: 数位DP,判断当前是偶数位还是奇数位(从0开始),如果是偶数位,那...

weixin_30276935的博客 138

Mountain Number FZU - 2109(数位DP)

Mountain Number 题目链接: FZU - 2109题意:若一个数他的奇数位大于等于与他相邻的偶数为, 则称之为Mountain Number, L~R有几个这样的数;#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;alg...

Sirius_han的博客 287

FZU2109:Mountain Number(数位DP)

Description One integer number x is called "Mountain Number" if: (1) x>0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equa

qq_33817680的博客 287

FZU 2109 Mountain Number 数位DP

问一段数字区间满足奇数位大于其相邻偶数位的数有多少,值得注意的是其第0位是最高位不是最低位 - -。 基础的数位DP。dp[19][10][2],分别表示第几位,前一位数是几,这个为是奇数位还是偶数位。 View Code #include <iostream> #include <cstdio> #include <algorithm> #i...

weixin_30396699的博客 115

Fzu2109 Mountain Number 数位dp

Accept: 189Submit: 461Time Limit: 1000 mSecMemory Limit : 32768 KB Problem Description One integer number x is called "Mountain Number" if: (1) x>0 and x is an integer; (2) A...

weixin_34254823的博客 137

FZU - 2109 Mountain Number 数位dp

Mountain Number One integer number x is called "Mountain Number" if: (1) x>0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger...

weixin_30662849的博客 133

FZU 2109 Mountain Number ---数位dp

One integer number x is called "Mountain Number" if: (1) x&gt;0 and x is an integer; (2) Assume x=a[0]a[1]...a[len-2]a[len-1](0≤a[i]≤9, a[0] is positive). Any a[2i+1] is larger or equal to a[2i] and...

pxlsdz的博客 426
上一篇: FZU 2107 Hua Rong Dao——————DFS
下一篇: FZU2110 Star——————简单题
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值