HDU 3652 B-number

uniapp+uniCloud实现微信小程序一键登录 (用户唯一标识),用户登录成功后,开发者服务器可以将openid和session_key保存,生成一个自定义登录态的token令牌响应给微信小程序,通过token可以查询openid和session_key,小程序下次请求只要携带着token就可以证明已经登录。这个API就是获取用户信息,每次请求都会弹出授权窗口(这个可能会不弹,这个要看你的版本,根据版本来定,不懂的可以留下评论),用户同意后会返回。到这里就可以实现微信一键登录了,快去试试吧,有问题可以在评论区留言,我看见会尽我知道的为你解答。 阅读详情

题意:

1..n的数中数字包含‘13’且能被13整除的,有多少个。n<10^9

分析:

按位DP

困在能被13整除上了,查了能被13整除的数的特性,不知道怎么转化dp...

后来看了解题报告,状态上多记录个模13的余数就好了~


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int ans;
int num[10], ln;
int f[10][13][3];

void NtoNum(int *num, int &ln, int n){
	ln = 0;
	while(n){
		num[++ln] = n % 10;
		n = n / 10;
	}
}

int dfs(int cur, int pre, int mod, bool apr, bool flag){
	int i, ret, high;
	if (cur <= 0)	return apr && mod == 0;
	if (!flag && apr && ~f[cur][mod][2]) return f[cur][mod][2];
	if (!flag && !apr && pre != 1 && ~f[cur][mod][1]) return f[cur][mod][1];
	if (!flag && !apr && pre == 1 && ~f[cur][mod][0]) return f[cur][mod][0];
	
	high = flag ? num[cur] : 9;
	ret = 0;
	for (i = 0; i <= high; i++){
		ret += dfs(cur - 1, i, (mod * 10 + i) % 13, apr || (pre == 1 && i == 3), flag && (i == high));
	}
	if (!flag){
		if (pre == 1 && !apr) f[cur][mod][0] = ret;
		if (pre != 1 && !apr) f[cur][mod][1] = ret;
		if (apr) f[cur][mod][2] = ret;
	}
	return ret;
}

int main(){
	int n;
	while(scanf("%d",&n) != EOF){
		ans = 0;
		NtoNum(num, ln, n);
		memset(f, 0xff, sizeof(f));
		ans = dfs(ln, 0, 0, false, true);
		printf("%d\n", ans);
	}
	return 0;
}

/*
f[i][k][0] 不含13,不以1结尾
f[i][k][1] 不含13,以1结尾
f[i][k][2] 含13

f[i + 1][(k * 10 + num) % 13][0] += f[i][k][0], num != 1
f[i + 1][(k * 10 + 1) % 13][0] += f[i][k][1], num != 1, 3
f[i + 1][(k * 10 + 1) % 13][1] += f[i][k][0] + f[i][k][1]
f[i + 1][(k * 10 + num) % 13][2] += f[i][k][2]
f[i + 1][(k * 10 + 3) % 13][2] += f[i][k][1]
其实又用记忆化搜索实现的。。。1A哦~写完就A了的哦~哈哈~~
还是记忆化搜索实现简单。。。
总结经验,记录dfs时,不一定要开和参数一样的数组,
适当变换下,分成几种情况开多个数组,可以节省下内存
46ms 196k
就是慢点...
*/


高云FPGA开发实战:手把手教你用ModelSim做功能仿真与时序分析(附Testbench写法) 本文详细介绍了高云FPGA开发中如何使用ModelSim进行功能仿真与时序分析,包括环境搭建、Testbench编写、波形调试和时序优化等实战技巧。通过具体案例和代码示例,帮助开发者掌握FPGA仿真验证的核心方法,提升设计可靠性。特别针对高云GW5A系列器件提供了专业的仿真库配置指南和时序分析策略。 阅读详情

相关推荐

3D视觉入门必看:深度图、点云图、IR图、RGB图像到底有什么区别?

本文深入解析了3D视觉中深度图、点云图、IR图与RGB图像的核心区别。深度图记录像素距离,是连接2D与3D的桥梁;点云图是显式的三维坐标集合;IR图感知红外光强度;RGB图像则提供颜色纹理。理解其信息维度和应用场景,是进行机器人导航、三维重建等任务的基础。

year5的博客 343

HDU 3652 - B-number 数位dp入门

题目链接:HDU 3652 - B-number 题目 Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string “13” and can be divided by 13. For example, 1...

weixin_44273380的博客 303

量化实战:用三种波动率模型给你的期货策略做个“体检”(附Python代码与螺纹钢案例)

本文深入探讨了三种专业波动率模型(Parkinson、Garman-Klass和Rogers-Satchell)在期货量化策略中的应用,并以螺纹钢期货为例,展示了如何通过Python实现这些模型进行多维度波动率分析。文章详细比较了不同模型的特点和适用场景,提供了动态仓位管理、止损策略优化等实战应用方案,帮助交易者更精准地评估市场风险,优化策略表现。

weixin_26824299的博客 460

【数位DP-三维dp数组】HDU 3652 B-number

HDU 3652 B-number 题意:给一个数n,求区间[1, n]中具有连续13,并且可以可以被13整除的数的个数。 思路:对于一个数来说,它有两个固有性质。1:是不是13的倍数. 2:有没有连续数位为13. 我们的dp数组如何来表示出所谓无后效性就很重要。我们可以用一维来表示是不是满足性质2,再用一维表示它mod13的余数。那么dp也就是一个三维数组。 实践证明两维真的不可。第一道...

L_X_ 387

Windows下用RKDevTool解包update.img的完整流程(含常见错误排查)

本文详细介绍了在Windows系统下使用RKDevTool工具解包update.img固件的完整流程。从工具准备、环境搭建到逐步解包操作,重点解析了输出文件结构,并提供了修改分区后重新打包的实战方法。文章还针对解包失败、打包错误等常见问题提供了详细的排查与解决方案,旨在帮助嵌入式开发者和爱好者高效完成固件分析与定制工作。

aa123的博客 716

基于Simulink的光伏电站AGC/AVC协调控制仿真

摘要:本文基于Simulink构建光伏电站AGC/AVC协调控制仿真模型,通过分层控制架构实现有功-无功解耦与储能协同。系统包含100kW光伏阵列、50kWh储能及逆变器组件,采用PID控制器实现AGC频率调节(±0.1Hz)和Q-V下垂控制实现AVC电压稳定(±2%)。仿真验证了三种工况下协调控制的有效性:正常调度时储能充电20kW;负荷突增时储能15kW放电维持频率;光照骤降时储能30kW放电并吸收2kVAR无功稳定电压。结果表明,该方案可使频率/电压偏差分别控制在0.1Hz和7.6V内,响应时间&lt

xiaoheshang_123的博客 235

(数位dp)HDU3652B-number

HDU3652 B-number 题意&思路: 找出1~n中含有13并能被13整除的数字个数。 纠结了好久,状态真的是差。 dp[len][p13][mod]三个参数分别表示数位长度;p13的0表示上一位不是1,1表示上一位是1,2表示存在13;mod表示这个数和13的余数。 剩下的就是数位dp的板子了,我太菜了啊。 代码: #include<bits/stdc++.h> #d...

Z7784562的博客 303

NVIDIA Isaac Sim 入门教程(一)

文档分为以下几个部分: 简介、安装指南、API 文档、教程、手册和参考资料。简介部分是对 Omniverse Isaac Sim 的基本概述,以及它如何融入 NVIDIA Omniverse™ 生态系统。它还概述了 Omniverse Isaac Sim 的架构、工作流程和文档布局。

机器人控制与仿真应用 1万+

HDU3652 B-number

HDU3652 B-number 题目链接 题目大意: 一个数字如果含有 13, 并且是13的倍数,那么这个数字就叫 wqb-number 问 1−n1 - n1−n 以内有多少个这样的数字 思路 一道很明显的数位dp,设置一个变量来标记是否出现了13,而怎么判断是否是13的倍数,可以传递余数,利用同余的性质来进行判断。 代码 #include <bits/stdc++.h> using namespace std; #define me(a, b) memset(a, b, sizeof(a)

想学开哥的博客 204

1.1什么是Zephyr?与FreeRTOSRT-Thread对比

我自己的项目里,三个系统都用过。这个芯片的原厂BSP哪个OS做得最靠谱?(实测,别看广告)项目核心需求是不是某个OS的“长板”?(别为了10%的功能牺牲90%的稳定性)团队三个月后能不能愉快地维护代码?(开发体验影响长期生产力)最后送一句干货:选型定不下来时,拿一块项目用的开发板,分别用三个OS跑同一个demo(比如按键控制LED+串口打印)。移植过程遇到的问题、代码看起来舒不舒服,你的直觉会告诉你答案。嵌入式没有完美解,只有适合当下的解。选好了,就踏实地写代码;

m0_50546716的博客 653

Test-Time Adaptation Induces Stronger Accuracy and Agreement-on-the-Line

TTA不管是否提高了OOD的泛化性都增强了线性的趋势,TTA的初始目的是为了增强OOD的表现,一个人可能会觉得TTA使得ACL更强的原因是他消除了ID和OOD之间的差距,因此所有模型间ID vs OOD的准确率接近于y=x这条线,但是实际上这个解释不能够反映我们的经验发现,因为虽然TTA将分布之间的偏移简化为一种放缩的分布,但是这个放缩的因子幅值可能很大,也就是α<<1但是r>>1,这就会导致很偏离y=x这条线,而且理论分析也是,虽然ID和OOD的差距很大,但是线性关系还在。

m0_62673638的博客 148

【数位DP】 hdu3652 B-number

B-number 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:问1~n中包含"13"序列且能被13整除的数有多少个。 题解:详情见代码注释。 代码: #include #include using namespace std; int dp[15][15][3]; /* dp[i][j][k] j表示余数 k==0 不包含

Ted's 游乐园 4029

SAP使用XCO框架创建RAP所有对象

通过XCO框架自动生成SAP ABAP开发对象。

DeveloperMrMeng的博客 550

HDU 3652 B-Number(数位dp)

题目链接:HDU 3652 B-Number题意求[1,n][1,n]中含有子串“13”并且能被13整除的数字个数。 数据范围:1≤n 1091\leq n\ 10^{9}分析记录高位模13的余数,和前一位数字,以及高位是否出现子串“13”即可。Code#include <stdio.h> #include <string.h> #include <math.h> #include <algori

ramay7 513

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

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

[HDU - 3652] B-number (数位dp入门)

[HDU - 3652] B-number 题目链接 大致题意: 统计区间 [1,n] 中含有 ‘13’ 且模 13 为 0 的数字有多少个 解题思路: 模13等于0,老套路了,利用参数yu判断即可 含有13这个条件利用flag标记就行,flag=0表示没有13,flag=1表示前一个数字是1,flag=2表示包含13 这类题做的多了就会打了 AC代码: #include <bits/stdc++.h> using namespace std; typedef long long ll

qq_49494204的博客 381

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【HDU】3652 B-number 数位DP

传送门:【HDU】3652 B-number 题目分析:

poursoul 720

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

HDU3652 B-number [数位DP]

HDU3652 B-number 题意:1到n含有13且整除13的数字个数 \(f[d][q][one][has]\)表示d位余数为q上一位是否为1当前是否有13到0位时合法数字个数 除了天际线全都记忆化 #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;algorith...

weixin_34334744的博客 96

HDU3652 B-number【数位DP+记忆化搜索】

B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8659    Accepted Submission(s): 5146   Problem Description A wqb-number, or B-numbe...

海岛Blog 816

HDU3652-B-number

dp系列中还有一类叫做数位dp,那么今天结合这道HDU3652来看一看数位dp到底是什么。  B-number   A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string "13" and can be

Mi-Queen 362

【数位dp】HDU 3652 B-number

HDU 3652  B-number 第一种和第二种问题的结合,水水过 #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; //#pragma comment(linker, "/S

学无纸巾 201

HDU3652 B-number数位DP+秦九韶算法大数取模

题目链接 HDU3652 问一个区间内的B-number的数量,B-number的定义是:数位中含有13,另外能被13整数。例如13,130就是B-number。 数位中含有13是数位DP板子,取模使用秦九韶算法。 AC代码: #include <bits/stdc++.h> using namespace std; #define ll long long ll a[20]; ll dp[11][2][2][13][2]; ll dfs(ll pos, ll limit, ll sta,

陈颜的博客 3493

HDU 3652 B-number

B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description A wqb-number, or B-number for short, is a non...

adr5970的博客 92

HDU 3652 —— B-number

B-number Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains

AcIsFun的博客 325

hdu 3652 B-number

求$[1,n]$中有多少个整数是$13$的倍数且十进制下的表示中存在$13$这个子串 $1 \le n \le 10^9$ 依旧是数位$dp$,不光要记录一下是否有$13$,还要记录一下模$13$的值 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll...

aoping9329的博客 132
上一篇: HDU 3709 Balanced Number
下一篇: codeforce 55D Beautiful numbers
cmonkey
博客等级 码龄17年 50粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值