B-number[数位DP]

Coze:手把手教你搭建 小红书二创 智能体 前一篇 “” ,讲了如何针对需求进行拆解,并拆解 ”小红书二创“ 智能体,分为四个内容模块。通过上述步骤,开始一步一步构建 “小红书二创” 智能体。用来测试的小红书地址:http://xhslink.com/a/quxWEDAj3J48。 阅读详情

题意: 问一个区间内的数字满足能被13整除,且含有子序列13的数字的个数。
采用数位DP, 记录状态dp[pos][sum][statue]表示当前为pos位,前面求和mod13的值为sum,statue状态下的答案。
其中statue==0表示上一位不是1,statue==1表示上一位是1, statue==2表示前面已经出现过13序列了。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int dig[12];
LL dp[15][15][3];// 0- not 1, 1- is 1, 2 - contain 13
LL dfs(int pos, int presum, int statue, int limit)
{
    if(pos < 1) return statue==2&&presum%13==0;
    if(!limit && dp[pos][presum][statue] != -1)
        return dp[pos][presum][statue];
    int n = limit ? dig[pos] : 9;
    LL res = 0;
    for(int i = 0; i <= n; ++i)
    {
        int nowsum = (presum*10 + i)%13;
        int nowstatue = statue;
        if(statue == 0 && i == 1)
            nowstatue = 1;
        if(statue == 1 && i != 1)
            nowstatue = 0;
        if(statue == 1 && i == 3)
            nowstatue = 2;
        res += dfs(pos-1, nowsum, nowstatue, limit&&i==n);
    }
    if(!limit) dp[pos][presum][statue] = res;
    return res;
}
LL call(LL x)
{
    int len = 0;
    while(x)
    {
        dig[++len] = x%10;
        x /= 10;
    }
    return dfs(len, 0, 0, 1);
}
int main()
{
    ios::sync_with_stdio(false);
    memset(dp, -1, sizeof(dp));
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    #endif // ONLION_JUDGE
    LL x;
    while(cin >> x)
    {
        cout << call(x) << endl;
    }
    return 0;
}
直击高频编程考点:字符串知识及经典算法题总结 字符串相关基本练习题总结(最长公共子串、最长回文子串、最长无重复字符子串、最小覆盖子串、字符串相乘、中文数字表达转实际数字格式等) 阅读详情

相关推荐

把群晖NAS变成游戏开发服务器:Perforce与虚幻引擎深度整合的5个关键配置(含.p4ignore模板)

本文详细介绍了如何将群晖NAS配置为游戏开发服务器,重点讲解了Perforce与虚幻引擎的深度整合。通过五个关键配置节点,包括用户权限架构、Workspace策略、资产同步优化、仓库清洁度保障和编辑器深度集成,帮助小型团队打造高效开发环境。文章还提供了实用的.p4ignore模板和优化技巧,显著提升开发效率。

weixin_30430677的博客 317

B-number (数位dp入门)

题目链接 n中存在“13”且n%13==0 注意参数ok的状态转移 #include &lt;bits/stdc++.h&gt; #define ll long long using namespace std; const int mod = 13; int len,dig[20]; ll dp[20][20][2][20]; ll dfs(int pos,int prev,int ok,...

蒟蒻 lxw的博客 1491

Qt Creator设计器里也能拖拽?5步将你的QML自定义控件变成可视化插件(Qt6.5+)

本文详细介绍了如何在Qt Creator设计器中实现QML自定义控件的可视化拖拽功能(Qt6.5+)。通过5个步骤,从构建可插件化的QML控件基础到部署插件到设计器环境,帮助开发者将自定义控件转化为设计器插件,提升团队协作效率。特别适合需要频繁调整UI样式的开发场景。

weixin_29214559的博客 170

HDU-3652 B-number (数位DP+模运算)

思路: 如果只判断子串是否有13的话非常简单,这题还加了一个条件就是要被13整除; 这里就要用到模运算的性质,即(a+b+c)%d = (a%d + b%d + c%d)%d。 Code: 1 #include<bits/stdc++.h> 2 #define M(a, b) memset(a, b, sizeof(a)) 3 4 ...

128

windows10下 iperf3测试带宽

客户端输入:"iperf3.exe -u -c 服务器IP地址 -b 5g" //客户端给服务器发送udp数据包,最大带宽为5g。客户端输入:“iperf3.exe -c 服务器IP地址 -P 10“//表示客户端10路并行给服务器发送TCP包;上图可知:带宽是15Gbps(这里不知道为什么下面测试的UDP会比这里TCP慢 按道理UDP不可能比TCP慢的5.)3. 验证是否下载成功,在打开的窗口中输入“iperf3.exe -v”,会出现安装的版本,表示安装成功了。5. iperf3参数。

xiaoqixiaoguai的博客 5889

BGE-Reranker-v2-M3介绍

重排序模型介绍

吉米_王 5891

B-number(数位dp)

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, 130 and 2613 are wqb-numbers, but 143 and 2639 ar...

FIVE 742

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

【题解】B-number

B-number Description 一个wqb号或简称B号是一个非负整数,其十进制形式包含子串“13”,可以除以13.例如,130和2613是wqb数,而143和 2639不是。 您的任务是为给定的整数n计算从1到n的wqb数。 (原文:A wqb-number, or B-number for short, is a non-negative integer whose

ezoixx130's Blog 4468

如何将 Fiori Elements Object Page Header 工具栏里按钮用 JavaScript 代码设置成禁用状态

本文介绍了如何在SAP Fiori Elements应用中动态控制Object Page工具栏按钮的可用状态。通过UI5 Inspector工具分析发现,这些按钮的enabled属性都双向绑定到/ui/enabled模型字段。在StatusExt.controller.js中,通过获取按钮ID前缀拼接完整控件ID,使用setEnabled(false)方法即可禁用按钮。关键点包括:1)使用extensionAPI获取视图ID前缀;2)注意事件回调中的this上下文绑定;3)通过修改模型字段可同步更新所有绑定

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 370

推荐系统(六)双塔模型

双塔模型是推荐场景中常用的粗排模型之一,本节主要介绍几种典型的双塔模型及其变型,如SENet 双塔模型,并联双塔,蒸馏学习,对偶增强双塔,阿里 COLD。

Jin_Kwok的博客 5143

B-number(数位dp)

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, 130 and 2613 are wqb-numbers, but 143 and 2639 ar

sdau164185的博客 326

Ambari 3.0+BigTop 3.3集群部署实战

Ambari 3.0+BigTop 3.3集群部署

docsz的博客 606

【数位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

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

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

老版QQ原生表情gif动态

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

HDU3652 B-number数位DP

B−numberB-numberB−number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9715 Accepted Submission(s): 5821 Problem Description8 A wqb-nu...

qq_43710979的博客 174

Camera2Demo

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

(数位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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU - 3652 B-number 数位dp

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

jerans的博客 352

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

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 (数位DP)

感觉入错坑了...非递归的数位DP好难写(虽然一次AC了),但是一看别人的递归数位DP,非常简洁,还不容易出错,需要赶快换一下 本题比原先做的又多了一个限制:数还要满足是13的倍数,然后就又不会了... 看了题解的设置状态的部分,瞬间明白了,可以再加一维表示余数的状态,然后利用模运算的性质就能顺利成章地想到以下这种转移状态(又看到有非递归的题解,感觉还是写的麻烦了)

idealism_xxm的专栏 647

HDU 3652 B-number(数位dp)

B-number Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 2   Accepted Submission(s) : 2 Font: Times New Roman | Verdana | Georgia Fon

超越自我就是成功 342

hdoj 3652 B-number 【数位dp】

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

世界很大 638

【HDU3652】B-number 数位DP

  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, 130 and...

aodanchui1057的博客 100

HDU3652 B-number(数位DP)

B-numberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4565 Accepted Submission(s): 2617Problem Description A wqb-number, or B-number for

MrBlank的ACM记事本 379

数位dp/二分/思维(石油大学G: A-Number and B-Number)

题意:有两种序列A-Number和B-Number。A-Number是所有数位中有7的和被7整除的数。B-Number是A-Number序列除去下标是数位中有7的和被7整除的数。问:第N个B-Number是。 题解:这个题只要想明白了,就特别水。我们可以考虑二分结果。然后计算他前面有多少个B-BNumber。如果比N大则缩小,否则增大。那怎么找他是前面有多少个B-Number呢。很简单,我们设F(x)为[0, x]之间A-Number的数量。那么数x之前有ans个B-Number: ans=F(x)−F(.

平凡人Kalzn的博客 310

HDU3652 B-number —— 数位DP

题目链接:https://vjudge.net/problem/HDU-3652 B-number Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7415Accepted Submission(s): 4346...

weixin_30699465的博客 83
上一篇: Balanced Number [数位DP]
下一篇: F(x) [数位DP]
Qer_
博客等级 码龄11年 34粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值