洛谷P2602|bzoj1833 [ZJOI2010]数字计数 数位dp

Python 爬虫实战:爬取国家统计局公开数据 国家统计局作为权威的宏观经济数据发布机构,汇聚了人口、GDP、就业、产业经济等多维度的核心统计数据,是开展经济研究、政策分析、行业洞察的重要数据支撑。相较于商业数据平台,国家统计局的公开数据具备权威性、全面性和时效性等特点,但部分数据分散在不同栏目且缺乏结构化下载渠道。本文基于 Python 爬虫技术,系统讲解国家统计局公开数据的爬取方法,重点解决静态表格解析、分页数据抓取、数据结构化转换等问题,同时严格遵循政府网站数据使用规范,为科研、教学等场景提供合规的数据获取方案。本文以国家统计局官网( 阅读详情

数位dp先预处理啊,然后xjb乱搞一下啊

好吧其实我还是看了一下题解。。一开始弄错了统计的方法。。于是疯狂wa

有关数位dp的文章的话,传送门:http://blog.youkuaiyun.com/wust_zzwh/article/details/52100392,当然是这位大犇写的了%%%%(虽然百度也可以找到)

代码(有抄题解嫌疑的我):

//Decision's template
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cstdlib>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
#include<string>
#include<cmath>
#include<map>
#include<set>
using namespace std;

#define DP_maxn 16
#define maxn 100000
#define INF 10000007
#define mod 1000000007
#define mst(s,k) memset(s,k,sizeof(s))

typedef long long ll;

struct Edge{
    int from,to,dist;
    Edge(int u,int v,int d):from(u),to(v),dist(d){}
};

ll dp[20][20][20],d[20],ans[20],t[20],g[20],f[20];       

/*-------------------------------template End--------------------------------*/

void init()
{
    mst(dp,0);
	t[1] = 1;
	for(int i = 0;i<=9;i++) dp[1][i][i]  = 1;
	for(int i = 2;i<=15;i++) t[i] = t[i-1]*10;
	for(int i = 2;i<=13;i++)
	{
		for(int j = 0;j<=9;j++) 
		{
			for(int k = 0;k<=9;k++)
			{
				for(int l = 0;l<=9;l++) 
				    dp[i][k][l] += dp[i-1][j][l];
				dp[i][k][k] += t[i-1];
			}
		}
	}
}


void solve(ll x,ll *tmp)
{
	for(int i = 0;i<=9;i++) tmp[i] = 0;
	int len = 15;
	if(!x) {tmp[0] = 1;return ;}
	while(t[len]>x) len--;
	for(int i = 1;i<len;i++)
	{
		for(int j = 1;j<=9;j++)
		{
			for(int k = 0;k<=9;k++)
			{
				tmp[k] += dp[i][j][k];
			}
		}
	}
	int cur = x/t[len];
	tmp[0]++;
	for(int i = 1;i<cur;i++) 
	    for(int k = 0;k<=9;k++)
	        tmp[k] += dp[len][i][k];
	x%=t[len];
	tmp[cur] += x+1;
	for(int i = len-1;i;i--)
	{
	    cur = x/t[i];
	    for(int j = 0;j<cur;j++)
	        for(int k = 0;k<=9;k++)
	            tmp[k]+=dp[i][j][k];
	    x%=t[i];
	    tmp[cur] += x+1;
	}
}

ll x,y;

int main()
{
    //freopen("std.in","r",stdin);
    //freopen("std.out","w",stdout);
    init();
    cin>>x>>y;
    solve(y,f);
    solve(x-1,g);
    for(int i = 0;i<9;i++) cout<<f[i]-g[i]<<" ";
    cout<<f[9]-g[9]<<endl;
    return 0;

}

华为OD机试2025A卷 - 用户调度问题(Java & Python& JS & C++ & C ) 题目要求每个用户依次选择当前所能选择的最小资源消耗策略,并且若有多个策略的资源消耗相同,则选择最后一个策略。每个用户的选择是独立的,只考虑该用户的策略和相邻用户的约束,不考虑整个调度序列的全局资源消耗。每个用户根据自己的当前状态(即自己的三种选择的资源消耗)做出局部最优选择:在当前可选的策略中,选择消耗最小的那个。如果有多个最小值,则选择最后一个(根据题意)。这一选择是局部的最优,即在当下最有利的选择,但并不保证最终的整体系统资源消耗是最小的。 阅读详情

相关推荐

Burp靶场实战:JWT签名绕过漏洞分析与利用

本文通过Burp Suite靶场实战,深入剖析了JWT签名绕过漏洞的多种攻击手法,包括签名未验证、alg:none攻击、弱密钥爆破、JWK/JKU头注入、KID路径遍历及算法混淆攻击。文章详细演示了利用过程,并提供了关键的防御指南,帮助开发和安全人员加固JWT实现,确保认证安全。

weixin_29325515的博客 597

洛谷 P2602(数位DP)

### 洛谷 P2602 题目链接 ### 题目大意:给你一个区间,问你区间所有数字中,0、1、2 .... 9 的个数的总和分别为多少。 分析: 枚举 0 ~ 9 进行数位 DP 即可。 注意记忆化搜索:必须要用到第二维来表示,前 1 ~ pos 位,某个数(0 ~ 9)的个数。 例如,我们在求这个区间中 2 的个数,直接看的话,后 pos 位 的 2 的个数好像...

diefen9380的博客 272

相控阵雷达仿真入门:TWS与TAS模式实战解析(附代码示例)

本文深入解析相控阵雷达仿真中的TWS(边搜索边跟踪)与TAS(搜索加跟踪)模式,提供实战代码示例和优化策略。通过简化模型设计和对象化建模,帮助开发者快速构建高效仿真系统,适用于军事推演和装备评估。文章涵盖核心逻辑、数据结构设计及性能优化技巧,提升仿真效率与准确性。

weixin_30687051的博客 454

洛谷 P2602 [ZJOI2010]数字计数 数位DP(记忆化搜索)

P2602 [ZJOI2010]数字计数 题目描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 输入输出格式 输入格式:   输入文件中仅包含一行两个整数a、b,含义如上所述。   输出格式:   输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。   输入输出样例 输入样例#1: 复制 1 99 ...

小屋 523

5分钟上手,Cursor + IntelliJ IDEA 双端开发:高效协同的终极方案

最好的工具,是让你忘记工具的存在。通过AI 的创造力(Cursor)IDE 的工程力(IDEA)无缝的上下文流转(插件协同)从此,不再手忙脚乱切窗口,不再迷失在文件树中。只需一个快捷键,专注编码本身。装上这两个插件后,日常开发体验虽然没有天翻地覆的变化, 但至少摸鱼的几个小时时间是有的!

weixin_44058951的博客 2199

3.详解Labview串口通讯--从串口线连接到串口通讯保姆级教程

本文非常详细的介绍了使用Labview实现串口通讯,读完题主这篇文章,即使你是今天刚下载的Labview,也能熟练的连接并驱动串口执行,接下来和我一起学习下,记得关注并点赞不迷路

关注我,更多技术问题欢迎私聊~ 1万+

【数位DP(循环迭代)】洛谷P2602 [ZJOI2010]题解分析

1、对于12345,第一层外循环i=len时仅处理了10000内的数,而剩余的2345没有处理。贴着上界时,后面就只能取。内的数的统计,计算了2345+1个最高位1的次数,剩余12345-10000=2345没有统计。内的数的统计,计算了345+1个最高位2的次数,剩余2345-2000=345没有统计。内的数的统计,计算了45+1个最高位3的次数,剩余345-300=45没有统计。内的数的统计,计算了5+1个最高位4的次数,剩余45-40=5没有统计。内的数的统计,计算了1个最高位5的次数,完成统计。

Jundifang的博客 1906

计算机组成原理(第三版)唐朔飞-第五章输入输出系统-课后习题

计算机组成原理(第三版)唐朔飞-第五章输入输出系统-课后习题

weixin_45735391的博客 6万+

【数位DP】 洛谷 P2602 [ZJOI2010]数字计数 P2657 [SCOI2009] windy 数

洛谷 P2602 [ZJOI2010]数字计数 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #include <string> #include <queue> #include <vector> #include &l

wldcmzy的博客 270

S7-1200中OB100和OB20中断使用方法及示例程序说明(图文)

S7-1200中OB100和OB20中断使用方法及示例程序说明(图文)

Robot_PLC_HMI_Automation 8586

YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022

多尺度卷积注意力(MSCA),有效地提取上下文信息;1)作为注意力MSCA使用;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3844

洛谷P2602 [ZJOI2010] 数字计数 数位DP裸题

题目链接:传送门 题面 题目描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 输入输出格式 输入格式: 输入文件中仅包含一行两个整数a、b,含义如上所述。 输出格式: 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。 输入输出样例 输入样例#1: 1 99 输出样例#1: 9 20 20 20 20 20 20 20 20 2...

The_OIer的博客 2757

点云数据处理:体素滤波算法

体素滤波是一种简单而有效的点云数据处理方法,可用于去除离群点和平滑点云表面。体素滤波是一种常用的点云数据处理算法,用于去除离群点并平滑点云表面。在本文中,我们将介绍CloudCompare和PCL(Point Cloud Library)中的体素滤波算法,并提供相应的源代码示例。PCL是一个专门用于点云处理的开源库,提供了一系列高效的点云处理算法和工具。然后,我们创建了一个。方法执行体素滤波,并将滤波后的点云保存为"filtered_cloud.ply"文件。方法来执行体素滤波,指定体素大小为0.01。

ZyqfCss的博客 390

2018.10.15【BZOJ1833】【洛谷P2602】【ZJOI2010】数字计数(数位DP)

BZOJ传送门 洛谷传送门 解析: 感觉不是一个很好做的数位DP。 思路: 我其实是看了hzwerhzwerhzwer的题解才会这道题的非递归写法,结构体重载运算符大法好啊orzorzorz。 定义数组f[i][j][k]f[i][j][k]f[i][j][k]表示位数为iii,最高位为jjj,有数字kkk的个数。 其中最后一维kkk可以...

anlongyi8087的博客 72

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【luogu2602】【bzoj1833】 [ZJOI2010]数字计数 [数位dp]

P2602 [ZJOI2010]数字计数 bzoj1833 套用的写windy数时的数位dp模板 emmm其实还有很多种做法 f[i][j][k]表示填了i位数其最高位数字为j时数码k出现了多少次 注意在 和x的位数相同有一位比x的对应位数小的全部方案数 其余位数对应数字都相同 的时候要再统计一下前面的数用了多少次 有i位数字的情况下 如果不考虑前导0,对于每一个数它们的数量都是相等的,...

weixin_30348519的博客 166

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

洛谷·bzoj·[ZJOI2010]数字计数

初见安~这里是两个传送门:洛谷P2602 & bzoj P1833 题目描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次 输入格式: 输入文件中仅包含一行两个整数a、b,含义如上所述。 输出格式: 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。 输入样例: 1 99 输出样例: 9 20 20 ...

樱狸✨愿携清风归来处 257

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

BZOJ1833: [ZJOI2010]count 数字计数(洛谷P2602)

乱搞 BZOJ题目传送门 洛谷题目传送门 把题目转化成求1到n的出现次数。设f[i]f[i]f[i]表示第iii位出现的总次数,那么有f[i]=f[i−1]∗10+10i−1f[i]=f[i-1]*10+10^{i-1}f[i]=f[i−1]∗10+10i−1(先不管前导0)。 我们对n的每一位进行处理。对于第iii位,没有到达边界的数字答案即为10i−1+f[i−1]∗a[i]10^{i-1}+...

forezxl的博客 292

洛谷 P2602 [ZJOI2010] 数字计数 题解 数位dp

数位dp 动态规划 深度优先搜索 记忆化搜索 洛谷题解 C++代码 附详细注释

一只摸鱼的bbc 1598

【Luogu】P2602 [ZJOI2010] 数字计数 (数位DP)

根据数位DP的思想,我们可以将答案分成多个限制来求,本题中的答案是每个数码的个数,一次新求出所有个数,那我们可以考虑每次单独求一个数码。那么 dfs 过程中就要前导零的影响,如果我们当前要求 0 那么还需要特判,同时还需要传递 sum,即遇到指定数码的个数。具体实现看代码,主要难点在于知道这里要利用数位DP求出每一位的数量,即拆开一个一个求,同时还需要考虑前导零。所以定义记忆化搜索 dp[i][j] 代表处理 i 位后且当前所求数码是 j 的数量。本题我们要求 a ~ b 中每个数码出现了多少次。

qq_61422664的博客 379

洛谷 P2602:[ZJOI2010] 数字计数 ← 数位DP

特别注意,依据递推公式 f[i]=f[i-1]*10+10^(i-1) 计算出的结果,是含前导 0 的结果,后续操作需做处理。

hnjzsyjyj的专栏 954

P2602 [ZJOI2010]数字计数

P2602 [ZJOI2010]数字计数 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 Solution 一眼识数位dp 以 \(dp[i][j]\) 对某个指定的数码, 填了 \(i\) 位, 其中有 \(j\) 位填了特定数码的 总数码数 然后分一下前导零, 最高位, 数位dp即可 看代码 Code #include<iostream>...

weixin_30551963的博客 133

洛谷 P2602 [ZJOI2010]数字计数 (题解+代码)

题目传送门: 题解: 数位dp 对于每个数(0~9)进行一次数位dp 由于 前面的数码出现的次数 会影响到最后结果 所以将 前面的数码出现的次数 设为dp的第二维状态 然后记录对应结果,输出相减值即为答案 代码及注释如下: #include<iostream> #include<cstring> #include<algorithm> #define ll long long using namespace std; ll a[20],dp[20][20],ans[3][

Lesords 885

[luogu2602 ZJOI2010] 数字计数 (数位dp)

[luogu2602 ZJOI2010] 数字计数 (数位dp) 传送门 Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 Input 输入文件中仅包含一行两个整数a、b,含义如上所述。 Output 输出文件中包含一行10个整数,分别表示0-9在[a,b]中出现了多少次。 Samp...

Tricksterism 223

bzoj1833

hh 1 #include<cstdio> 2 #include<cstring> 3 #include<ctime> 4 #include<cmath> 5 #include<algorithm> 6 #include<cstdlib> 7 #include<iostream>...

weixin_33778778的博客 241

数位dp 洛谷P2602 [ZJOI2010]数字计数

https://www.luogu.org/problem/show?pid=2602 数位dp是dp的一种,一般来说这种东西至少要一个预处理数组 这种题目你只要靠自己的力量成功搞掉一道,基本上思路都是在的,和背包很像,是有模板的; 我们先弄一个f[i]表示位数位i时,所有情况中0这个数字出现的次数 注意这里的i位是可以有前导0的; 我们前导0和无前导0的情况都要算,...

weixin_30488313的博客 219

洛谷 - P2602 - 数字计数 - 数位dp

https://www.luogu.org/problemnew/show/P2602 第二道数位dp,因为“数位dp都是模板题”(误),所以是从第一道的基础上面改的。 核心思想就是分类讨论,分不同情况讨论对答案的贡献。 最最重要的是,该数位取与当前位相等的时候,贡献的个数是受这个数位影响的所有数(这个写法里包括它本身),那么就用x减去与x前缀相同的“整数”再+1就可以算出来了。 其他的...

weixin_30642869的博客 221
上一篇: 洛谷 P1262|P2341|P2002 强连通分量,缩点
下一篇: 洛谷 P3389 【模板】高斯消元法
Decision2016
博客等级 码龄10年 3粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值