简单数位DP

数位dp简单题目汇总 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2089 不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15221    Accepted Submission(s): 阅读详情

https://cn.vjudge.net/problem/HDU-4722

懒得写看,代码注释吧;主要存板子


#include <cstdio>
#include <cstring>
#include <cctype>
#include <cmath>
#include <set>
#include <map>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <time.h>
using namespace std;
typedef long long LL;
const int INF=2e9+1e8;

const int MOD=1e9+7;
const int MAXSIZE=1e6+5;
const double eps=0.0000000001;
void fre()
{
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
}
#define memst(a,b) memset(a,b,sizeof(a))
#define fr(i,a,n) for(int i=a;i<n;i++)

/**
 dp[i][j] 代表从高位到i位求和余数为j的;先写dfs,最后再把dp加入就好了,
 还有爆int 需要注意。

*/

LL dp[111][20]; 
int bits[100];
LL dfs(int pos,int sum,bool flag)//pos代表位置,sum代表求和之后的余数,flag代表是否是0~9
{
    if(pos==0) return sum==0;
    if(flag&&dp[pos][sum]!=-1) return dp[pos][sum];
    int len=flag?9:bits[pos];//flag为真 0~9,
    LL res=0;
    for(int i=0;i<=len;i++)
        res+=dfs(pos-1,(sum+i)%10,i!=len||flag);//
    if(flag) dp[pos][sum]=res;
    return res;
}


LL get(LL x)
{
    if(x<0) return 0;
    int i=0;
    while(x>0) bits[++i]=x%10,x/=10;
    return dfs(i,0,false);
}
int main()
{
   // test();
    int cas=0,ncase;
    scanf("%d",&ncase);
    memset(dp,-1,sizeof(dp));
    while(ncase--)
    {
        int i=0;
        LL l,r;
        cin>>l>>r;
        printf("Case #%d: %I64d\n",++cas,get(r)-get(l-1));
    }
    return 0;
}

/**************************************************/
/**             Copyright Notice                 **/
/**  writer: wurong                              **/
/**  school: nyist                               **/
/**  blog  : http://blog.youkuaiyun.com/wr_technology  **/
/**************************************************/



80MHz~100MHz频谱分析仪设计 由理论分析可知,经过乘法器后输出的信号为频率为w1+w2的高频信号和w1-w2的低频信号,除了想要采样的直流信号外,最小的信号频率为100kHz。因此,经过一系列推导可以得到该滤波器的元件C1,C2,C3,R1,R2的近似值分别为:C1=2.36nF,C2=32.1nF,C3=1.07nF,R1=1.39k,R2=2.84k。AK,此时的频率w2即为被测信号的频率,待测信号源电压幅度为,因此为了能达到直流采样的设计,我们将本振源的频率输出范围做成80~110 MHz,提高了题目的频率要求。 阅读详情

相关推荐

IT世界里的“国境线”(芯片与算法篇)

首先分析下概念,对于芯片,相信大家已经比较了解,就不做过多的解释。我们说一下算法,虽然算法是应用在IT领域,但我相信学数学的同学,特别是学习计算数学的,对算法应该更加熟悉。记得在本科课程中,专门有一门课叫做“算法设计”。从概念上来讲,算法指的是解决问题的方法和流程,是一段逻辑,一系列解决问题的清晰指令。或者更通俗一点来讲,算法是从A到B,所有可能的计算方式。 一、 芯片与算法的关系 芯片和算法并不是独立或者对立的两个个体。芯片本身就集成了算法。算法是一种逻辑概念,芯片是算法的一种表现形式,软件也是算法的

weixin_49664622的博客 7018

数位dp的简单模板

摘自https://blog.youkuaiyun.com/wust_zzwh/article/details/52100392 typedef long long ll; int a[20]; ll dp[20][state];//不同题目状态不同 ll dfs(int pos,/*state变量*/,bool lead/*前导零*/,bool limit/*数位上界变量*/)//不是每个题都要...

weixin_30852419的博客 65

Centos7.6操作系统安装+Bond配置(600GB磁盘版本)

1.安装前准备工作 准备centos7.6操作系统镜像 CentOS-7-x86_64-DVD-1810.iso 服务器安装一般都是在BMC界面操作,所以安装前需要在BMC界面挂载好操作系统镜像 重启服务器后自动进入安装界面。 华为大数据集群安装操作系统配置

小时光 6009

简单的数位dp

hdu 2089 设dp[len][flag],flag = 1表示前一位是6,否则前一位不是6. #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL __i

1342

哈工大2024春大数据挖掘期末考试回忆版试题

(3)现有一个用户数量远多于物品(还是物品远多于用户,忘了是哪个了)的情景,应该使用基于user-user的推荐系统还是item-itmen的推荐系统,说明原因。(1)L是n*n拉普拉斯矩阵,x是一个n*1列向量,证明对任意的x,(x)^TLx>=0(6分)(3)证明:p到o的K-可达距离,至少是o的K-distance(2分)(2)(1)的结果说明竞争率的上界是多少?(2)考Gain的意义,如何利用Gain选择划分点(2分)(2)说明如何利用划分后的数据进行验证(2分)(2)k可达距离是对称的吗?

ymd2002的博客 1891

四足机械臂避坑指南:从URDF配置到逆运动学控制的完整流程

本文为四足机械臂(Loco-Manipulation)系统开发提供了一份详实的实战避坑指南。文章深入剖析了从URDF模型配置、核心控制循环设计到逆运动学(IK)求解与奖励函数构建的完整流程,重点讲解了如何避免关节命名错误、惯性参数设置不当、IK求解不稳定等常见陷阱,并强调了利用collision_bbox等可视化工具进行高效调试的方法,旨在帮助工程师构建稳定、高效的四足机械臂控制系统。

weixin_42509507的博客 192

简单数位DP总结

数位DP

CrystalDavid的博客 448

自动驾驶仿真(二)—— 基于PreScan与Simulink的联合仿真

自动驾驶仿真软件介绍二—— PreScan与Simulink联合仿真1. Prescan仿真软件2. Prescan与Simulink联合仿真2. 1 Prescan和matlab软件安装2. 2 联合仿真配置3. 联合仿真实例3.1 一辆不按法规行驶的小车3.2 另一辆的正常行驶的小车3.3 视觉辅助摄像机3.4 传感器检测4. 系列学习视频教程5. 参考学习的书目教材 上一篇博文简单介绍了Carsim与Simulink联合仿真,接着这篇就再继续简单介绍另一款自动驾驶仿真软件Prescan,并且简单做个P

zhudj08的博客 1万+

简单数位dp

如:34 与 345 , 由于前面的数都贴合,所以当我们枚举下一位的时候,我们枚举的选择只能是 0~5. 也就是0~N在这一位的数位。我们第一个数枚举的是1,显然,不管后面五个数是什么,我们都不会超过N,所以,在不受限制的情况下,后面五个数能产生的1的总和是固定的。枚举完以1开头的数后,当我们枚举到以2开头的数,发现此时后面五个数仍然不受限制,所以,这与上一种的答案是一样的。如果我们枚举的数,从某一位开始不贴合的话,那么从这一位之后,每一位的枚举范围,将不受限。// 如果枚举完了,直接返回sum。

louisdlee的博客 586

华为MetaERP PTP采购到应付全流程解析

摘要:本文系统解析华为MetaERP中的PTP(采购到应付)全流程管理方案,涵盖从采购申请到付款执行的完整业务流程。文章详细分解了PR、PO、GR、IV、AP等关键环节的财务核算规则,并提供了预算校验、库存更新等Python代码示例。同时阐述了IT落地架构设计,包括会计引擎配置、系统集成方案及银企直连支付接口实现。该方案通过三单匹配自动化和智能会计引擎,将处理效率提升10倍(200笔/人天→2000笔/人天),实现98%的自动化率,为集团企业提供了高效的数字化财务管理样板。文中所有技术方案均需根据实际场景调

金牌架构师 1742

基于TENG的呼吸测量与识别系统:从蓝牙到WiFi的改造与上位机实现

本文介绍了一种基于摩擦纳米发电机(TENG)的呼吸测量系统改造方案,将原有蓝牙通信升级为WiFi传输。系统通过TENG传感器采集呼吸信号,STM32微控制器处理数据后,经ESP8266 WiFi模块发送至上位机。文中详细阐述了硬件改造(四通道改单通道、蓝牙换WiFi)、嵌入式软件修改(包括ESP8266驱动、数据采集与TCP通信实现)以及上位机软件设计。改造后的系统提升了传输距离和稳定性,为可穿戴健康监测提供了更优解决方案。

huanghm88的专栏 110

数位dp入门,简单dp

通常我们会遇到这样的一类问题:给定一个上下限,求这个区间内满足某个条件的数的个数。一般最简单的解法就是暴力枚举了:for(int i = low;i &lt;= up;i++) { if(right(condition)) count++; }//low为下限,up为上限,right(condition)为给定的条件 但是往往区间会开的很大,这时候就会超时,...

zhouzzz000的博客 508

Oracle EBS Interface/API(42) -AP发票客制化付款申请

背景 在OA系统上,选择Oracle EBS的某张AP发票做付款申请,需要类似于锁定该发票以便付款,其他用户或者下次用户不能再次选择该发票做付款申请。 快速参考 参考点 内容 功能导航 N: AP->Invoices->Entry>Invoices 并发请求 None 基表 AP.AP_INV_SELECTION_CRITERIA_ALLAP.AP_SELECTED_INVOICES_ALL API 参考下面介绍 错误信息表 None 接口Form

陈显平的专栏-Oracle EBS 1200

数位dp简单总结

洛谷日报原文 一些总结: 数位dp的用法 求出在给定区间[A,B]内,符合条件f(i)的数i的个数。条件f(i)一般与数的大小无关,而与数的组成有关。 最高位标记limit的理解 若当前位limit=1而且已经取到了能取到的最高位时,下一位limit=1; 若当前位limit=1但是没有取到能取到的最高位时,下一位limit=0; 若当前位limit=0时,下一位limit=0。 当limit=0时,当前位可取0~9中的任一数字 当limit=1时,当前位pos只可取能取到的最高位(即上界数字的pos位

群山中的菜鸡 202

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Dp练习 -Sakura数 简单数位DP

思路:简单数位DP,dp[pos][pre]表示枚举到pos位时前一位为pre。 考虑前导0以及数据范围自然溢出。 Code: #include &lt;bits/stdc++.h&gt; #define LL unsigned long long using namespace std; const int AX = 20+2; int a[AX]; LL dp[AX][15]; L...

Dave_lzw的博客 458

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【算法小讲堂】数位dp(简单入门)

数位打牌 爷爷,你没有关注的博主又更新博客啦!!   数位dp(打牌),这是一个相当深刻的话题。在不会这个内容的时候就是一脸懵逼。这里我们主要介绍的是dfs模式实现的数位打牌模式   当然博主也不是说自己会这个高深的算法了,只是看(抄)完别人的代码,突有所悟。又厚颜无耻的出一期博客啦! 先来个简单点的问题吧。 给出一个数n,1~n有多少数不包含49,测试数据1<=T<=10000,1...

生姜也想变好吃的博客 1万+

数位dp的简单使用

题目:给出不多1000位的数,每一位由0、1、2、3组成。 条件:所有的0都在1之前,所有的2都在3之前,0不能在首位,另外0、1、2、3必须出现至少一次。由于数较大所以结果对1000000007取余。 问题:求满足条件的数的数量。 分析:明显这类题目是无法通过暴力遍历解决的。所以需要通过数位dp解决。 #include #include #include using namespace

koobee1的博客 384

简单数位dp及对前导0的理解

数位dp的实质: 一种快速枚举的方式,它满足dp的性质,然后进行记忆化搜。 例题 :牛客-数位小孩 题目描述: 九峰最近沉迷数位dp,这天他又造了个数位dp题: 给出一个区间[l,r][l,r][l,r],求这个区间内有多少个数字满足如下条件: 1.每相邻两个数位和为素数。 2.其中至少一个数位为1。 3.没有前导0。 请你编写程序帮他该题。 输入描述: 一行两个整数l,r(1 <= l <= r <= ),表示给出的区间为[l,r]。 输出描述: 一行一个整...

weixin_52193673的博客 4844

bzoj 1026--windy数 简单数位DP

简单数位DP。 dp[len][start]相当于长度为len,首位数为start符合情况的数的个数,转移方程很容易想得到。 #include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstdlib&amp;gt; using namespace std; long long dp[20][10]; void init(){ for(int i=0;i&amp;lt;10;i++) ...

kaven 1485

HDU 3555 Bomb 简单数位DP

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3555

Angry Grass 602

数位dp模板简单解析

数位dp

404 Not Found 809

数位dp,区间dp,状压dp简单笔记

1数位dp主要用于寻找区间[l,r]中满足一定条件的数的数量 2先找到[1,r]中满足条件的数的数量,再减去[1,l-1]满足条件的数的数量,类似于前缀和 3dp的数据一般由一个二维数组构成,第一个一般为当前的位数,第二个记录状态,比如前一位的数字(可以用于寻找某些不允许某数字在一起的情况),用一个flag记录每次选取的数是否贴着r的当前位上的数走,主要是为了保证选出来的数小于r,比如r=785,如果一个三位数前两位是78,那么个位数必然小于5,如果前两位为77,那么各位就可以随便取......

佯设的博客 500

HDU3555 Bomb——简单数位DP

点这里 题意: 统计n以内含49的数的个数。 题解: 定义状态dp[i][] dp[i][0]表示i位数里不含49的个数。 dp[i][1]表示i位数里不含49,但首位是9的个数。 dp[i][2]表示i位数里含49的个数。 过程中犯的错: dig数组忘记初始化,影响下一次数据的答案。 一般DP #include<bits/stdc++.h> using namespace std; typedef long long ll; int t, dig[65]; ll n, dp[6

lllllan 185

数位dp 的简单入门

时间紧张,就不讲那么详细了。 之前一直被深搜代码误解,以为数位dp 其实就是记忆化深搜...(虽说爆搜确实很舒服而且还好想) 但是后来发现数位dp 的标准格式其实是 预处理 + dp ...... 数位dp 的介绍 数位 dp 其实就是让你处理出某一区间范围内满足条件的数的个数,但是一般这个区间范围都是令人绝望的大...比如 1e9 都算良心了,常规的都是 1e18 甚至是...

weixin_30677617的博客 194
上一篇: 主席树学习--入门
下一篇: 值域线段树 bzoj 4627
Code--Dream
博客等级 码龄11年 53粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值