HDU 3652 B-number

UE5 Paper2D性能优化:GroupedSpriteSceneProxy合批渲染原理与实践 在游戏开发中,渲染性能优化是核心技术挑战之一,其核心原理在于减少CPU与GPU之间的通信开销,特别是降低Draw Call数量。Draw Call是CPU向GPU提交绘制命令的指令,每次调用都涉及状态切换和数据传输,当场景中存在大量同质化对象时,频繁的Draw Call会成为主要性能瓶颈。为此,现代图形引擎普遍采用合批渲染技术,其技术价值在于将多个共享相同渲染状态(如材质、几何体)的物体数据合并提交,从而将多次Draw Call压缩为一次或少数几次,显著提升渲染效率。这一技术在2D游戏开发中尤为重要,例如在 阅读详情

传送门

数位dp。
有一种数,能被“13”整除而且数位里包含“13”,求[1,n]中这种数的个数。
for short是简称的意思。

之前求过数位里不包含“XX”的,中途判断就可以了。但如果求的是包含的个数,要么取反、要么只能最后判断。
以下几点。

  1. 这道题要用三维状态,两个条件各用一维。这两个条件都是运行到最后一位(反正大概是最后)才能判断出来。
  2. 对包含“13”的判断,设计三个状态,分别表示:
    (0)之前还没出现过“13”且前一位不是“1”;
    (1)之前还没出现过“13”且前一位是“1”;
    (2)之前已出现过“13”。
  3. 对被“13”整除的判断,将 ( ∑ n = i + 1 p o s − 1 a n ⋅ 1 0 n )   m o d   13 (\sum_{n=i+1}^{pos-1}{a_{n}\cdot10^{n}})\bmod13 (n=i+1∑pos−1​an​⋅10n)mod13作为状态值。
    其实是用了一个公式: ( a + b )   m o d   c = [ ( a   m o d   c ) + ( b   m o d   c ) ]   m o d   c (a+b)\bmod c = \Big[(a\bmod c)+(b\bmod c)\Big]\bmod c (a+b)modc=[(amodc)+(bmodc)]modc
    最后判断是不是0就完事了。
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <queue>
using namespace std;

int n;
int dp[10][3][13];                // 牛批,没看题解一次写对
int num[10];

int dfs(int pos, int status, int remainder, bool limit)
{
	if (pos == -1) return ((status == 2) && (remainder == 0)) ? 1 : 0;   // 最后才能判断
	if ((!limit) && (dp[pos][status][remainder] != -1)) return dp[pos][status][remainder];

	int cnt = 0;
	int up = (limit ? num[pos] : 9);
	for (int i = 0; i <= up; i++)
	{
		int new_status;
		if ((status == 2) || ((status == 1) && (i == 3))) new_status = 2;
		else if (i == 1) new_status = 1;
		else new_status = 0;

		cnt += dfs(pos - 1, new_status, (remainder + (i * (int)pow(10, pos))) % 13, limit && (i == up));
	}
	if (!limit) dp[pos][status][remainder] = cnt;
	return cnt;
}

int solve(int x)
{
	int pos = 0;
	for (; x;)
	{
		num[pos++] = x % 10;
		x /= 10;
	}
	return dfs(pos - 1, 0, 0, true);
}

int main()
{
	memset(dp, -1, sizeof dp);
	for (; ~scanf("%d", &n);)
		printf("%d\n", solve(n));

	return 0;
}
安全运营面试总结 答案可以在我的博客中查找 1.自我介绍 2.TCP/IP七层模式 3.端口号(常见协议 数据库) 4.Owasp top 10 5.渗透测试过程 6.漏扫工具 7.中间件漏洞 8.应急响应 9.项目 10.SQL注入类型 11.TCP 三次握手 四次挥手 12.你有什么要问我的 1.自我介绍 2.项目介绍 3.宽字节注入的原理 4.渗透流程 5.... 阅读详情

相关推荐

迈德威视相机调用( 基于 Linux系统+ OpenCV )

迈德威视相机调用( 基于 Linux系统+ OpenCV )前言一、登录迈德威视官网,下载官方SDK二、代码调用与视频帧处理( 基于 OpenCV )总结 前言     此博客记录了迈德威视工业相机在 Linux 系统下的代码调用及其环境配置,通过 OpenCV 对视频帧进行处理。   一、登录迈德威视官网,下载官方SDK      迈德威视官网 : http://www.mindvision.com.cn/     1. 进入官网后,在服务支持中选择软件下载。    2. 选择Linux系统S.

kkkkkk0729的博客 5678

HDU 3652 B-number

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

墨守空城与钟楼 1651

态路小课堂丨三款800G光模块方案介绍—SR8/DR8/2FR4

800G QSFP-DD 2FR4光模块使用CWDM4波长(1271/1291/1311/1331nm),单通道速率为100G,通过MUX减小光纤的数目,其光学接口采用CS接口或双芯LC接口。

poposu的博客 2386

hdu3652 B-number(数位dp)

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 2613 are wqb-numbers,

Coco_T的博客 286

MTK6769平台Type-C充电全解析:从硬件管脚到PD协议实战(Android15环境)

本文深入解析了MTK6769平台在Android 15环境下Type-C充电的完整链路。从硬件管脚(特别是核心的CC引脚)功能与连接,到USB-PD协议报文抓取与实战分析,并结合MTK平台PD芯片驱动与充电IC驱动的软件框架,提供了从硬件设计到软件调试的系统性解决方案和常见问题排查案例。

ol78901234的博客 311

手把手教你用Verilog实现AT24C64的I2C读写(附完整仿真流程)

本文详细介绍了如何使用Verilog HDL设计AT24C64 EEPROM的I2C控制器,并配合ModelSim完成完整的仿真验证流程。内容涵盖I2C协议解析、Verilog状态机设计、AT24C64读写操作实现,以及仿真波形分析和调试技巧,为FPGA开发者提供了一套完整的EEPROM控制解决方案。

3c4x5z6v7b的博客 844

Hdu3652 B-number详解

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

Ven 336

第7篇-SAP MM模块-JIT应用实战解析,从计划协议到JIT供应的关键配置与流程

本文深入解析SAP MM模块中的JIT(Just In Time)供应模式,从计划协议到JIT供应的关键配置与流程。通过动态计划行管理、需求聚合与分解等核心功能,实现精确数量、时间和地点的物料供应。文章详细介绍了主数据准备、计划协议配置、MRP参数精调及EDI集成方案,并提供了实施中的典型问题与解决方案,助力企业优化供应链管理。

weixin_30363509的博客 947

HDU-3652-B-number

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 B-number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9349    Accepted Submission(s): ...

lee371042的博客 233

别再羡慕专业版!用这个批处理脚本,一键给Win11家庭版装上官方沙盒

本文详细介绍了如何通过批处理脚本在Windows 11家庭版上安装官方Windows沙盒(Windows Sandbox),无需复杂操作即可享受专业版功能。脚本自动激活系统内置组件,提供安全隔离的虚拟化环境,适用于软件测试、安全浏览等场景。

weixin_26757925的博客 490

跨境TRS投资实战:从开户到交易的完整系统解析

本文系统解析了跨境TRS(总收益互换)投资的完整实战流程。详细阐述了TRS作为境外资金投资A股的灵活工具,如何通过其独特的合约结构绕开港股通限制,并提供杠杆效应。内容涵盖从选择机构、开通账户、资金管理到核心交易操作的全过程,并强调了构建包含策略、风控与心态的完整投资系统的重要性。

weixin_29233333的博客 314

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

基于Simulink的双向DC-DC变换器在储能系统中的应用仿真

摘要:本文详细介绍了基于Simulink的双向DC-DC变换器在光伏储能系统中的仿真实现。主要内容包括:1)采用非隔离型双向Buck-Boost拓扑作为储能系统枢纽;2)针对750V直流微网中的20kWh锂电池接口场景进行建模;3)详细阐述双闭环控制器设计(电压外环+电流内环)、工作模式判断逻辑等关键步骤;4)通过仿真验证了系统在功率阶跃和模式切换下的性能。文章提供了完整的建模流程和控制方法,为储能系统接口设计提供了实用参考。

amy_mhd的博客 178

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

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

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

[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

【HDU】3652 B-number 数位DP

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

poursoul 720

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 5179 beautiful number
下一篇: HDU 3709 Balanced Number
Crossing over
博客等级 码龄10年 6粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值