HDU 4734 F(x) (数位dp+ 记忆化)

工业级隔离CAN FD收发器ISO1042设计实战:从原理到EMC防护 在工业自动化与伺服驱动系统中,CAN总线是实现设备间可靠通信的关键技术。其核心原理是通过差分信号传输和仲裁机制,在复杂电磁环境中实现多节点实时数据交换。这项技术的核心价值在于为高噪声、高干扰的工业现场提供了稳定、确定性的通信基础,是构建分布式控制系统不可或缺的环节。其典型应用场景包括新能源汽车电池管理、工业机器人伺服控制以及光伏逆变器集群通信等。本文将聚焦于如何通过高性能隔离CAN FD收发器(如TI的ISO1042)来应对地电位差、浪涌和高压串扰等现场挑战,深入解析其集成的电气隔离、±70V总线故障保护和 阅读详情

Problem Description
For a decimal number x with n digits (AnAn-1An-2 ... A2A1), we define its weight as F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. Now you are given two numbers A and B, please calculate how many numbers are there between 0 and B, inclusive, whose weight is no more than F(A).
 

Input
The first line has a number T (T <= 10000) , indicating the number of test cases.
For each test case, there are two numbers A and B (0 <= A,B < 109)
 

Output
For every case,you should output "Case #t: " at first, without quotes. The t is the case number starting from 1. Then output the answer.
 

Sample Input
3 0 100 1 10 5 100
 

Sample Output
Case #1: 1 Case #2: 2 Case #3: 13
 


参考博客:http://www.myexception.cn/other/1405915.html


#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>


#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define MID(x,y) ((x+y)>>1)

#define eps 1e-8
typedef __int64 ll;

#define fre(i,a,b)  for(i = a; i <b; i++)
#define free(i,b,a) for(i = b; i >= a;i--)
#define mem(t, v)   memset ((t) , v, sizeof(t))
#define ssf(n)      scanf("%s", n)
#define sf(n)       scanf("%d", &n)
#define sff(a,b)    scanf("%d %d", &a, &b)
#define sfff(a,b,c) scanf("%d %d %d", &a, &b, &c)
#define pf          printf
#define bug         pf("Hi\n")

using namespace std;

#define INF 0x3f3f3f3f
#define N  200000

int dp[20][N];
int a[30],k;

int F(int x)
{
	k=0;
	int temp=0;
	while(x)
	{
		temp+=(x%10)*(1<<k);
		k++;
		x/=10;
	}
    return temp;
}

void hello(int x)
{
	k=0;
	while(x)
	{
		a[k++]=x%10;
		x/=10;
	}
}

int dfs(int pos,int va,int flag)   //dp[i][j] 表示第i位小于等于va有多少种情况
{                                 //flag记录是不是第i位是不是可以从0~9
     if(pos==-1) return va>=0;

	 if(va<0) return 0;

     if(!flag&&dp[pos][va]!=-1)
		return dp[pos][va];

     int ri=flag ? a[pos]:9;
     int i;

     int temp=0;

     fre(i,0,ri+1)
     {
     	temp+=dfs(pos-1,va-i*(1<<pos),flag&&(i==ri));
     }

    if(!flag) dp[pos][va]=temp;

    return temp;
}

int main()
{
	int i,t,j,le,ri,ca=0;
	sf(t);
	mem(dp,-1);

	while(t--)
	{
		sff(le,ri);
		le=F(le);


		hello(ri);

        pf("Case #%d: ",++ca);
		pf("%d\n",dfs(k-1,le,1));
	}

	return 0;
}


抓包抖音充值页面实现微信支付宝充值抖币,可提供api 抓包抖音充值接口教程,实现微信支付宝充值抖币收款通道 阅读详情

相关推荐

基于HPM5E00的EtherCAT从站开发实战:从硬件解析到软件调试

实时工业以太网通信是工业自动化与运动控制领域的核心技术,它通过硬件与协议栈的协同,实现了微秒级的高确定性数据交换。其技术价值在于为多轴同步、机器人控制等复杂场景提供了高实时性、高同步精度的通信基础。在应用场景上,广泛服务于数控机床、包装机械、半导体设备等高端制造领域。本文聚焦于EtherCAT从站开发,深入解析了基于先楫HPM5E00高性能MCU与专用从站控制器(ESC)的硬件架构设计,并详细阐述了开源协议栈SOES的移植、对象字典配置以及过程数据(PDO)映射等核心软件实践,为开发者快速构建稳定可靠的实时

weixin_30915951的博客 501

[好题][数位dp]F(x) HDU4734

For a decimal number x with n digits (AnAn-1An-2... A2A1), we define its weight as F(x) = An* 2n-1+ An-1* 2n-2+ ... + A2* 2 + A1* 1. Now you are given two numbers A and B, please calculate how many numbers are there between 0 and B, inclusive, whose...

Cloth的博客 239

ADS2020实战:村田电感.s2p与.mod文件导入全流程对比(附仿真结果差异分析)

本文详细对比了ADS2020中村田电感的.s2p与.mod文件导入流程及仿真结果差异,重点分析了两种模型在低频段和高频段的精度表现。通过实际案例展示.s2p文件在高频仿真中的优势,以及.mod文件在低频和非线性特性模拟中的准确性,为射频电路设计提供模型选择策略和混合仿真技巧。

weixin_29289821的博客 519

F(x)(数位dp之提高题)(自己认为)

HDU 4734 F(x) Problem Description For a decimal number x with n digits (AnAn-1An-2 … A2A1), we define its weight as F(x) = An * 2n-1 + An-1 * 2n-2 + … + A2 * 2 + A1 * 1. Now you are given two numbers A and B, please calculate how many numbers are there bet

kitalekita的博客 341

dify离线部署

以bge-m3为例,本地部署bge-m3首先在一台能连网的linux服务器上(部署有ollama)创建想要保存模型的文件夹编辑ollama.service,配置ollama模型的保存路径添加模型存储地址将models目录设置属主,必须做,否则ollama无法启动重新加载配置文件并重启ollama测试ollama 运行是否正常最后拉取 bge-m3可在/opt/LLMModels/bge_m3/models目录下看到拉取得模型使用tar命令压缩文件夹。

weixin_42538734的博客 3065

S4HANA Rebate Management(条件合同) -Single Step

S4HANA 条件合同管理(Condition Contract Management), 包括如何创建条件合同,场景应用

m0_50200150的博客 2307

数位DP+反向思维,HDU4734 F(x)

数位dp不仅仅是模板,要注意状态的设计

EQUINOX1的博客 1125

Windows 10/11下R与RStudio最新版安装避坑指南(含镜像加速配置)

本文提供了Windows 10/11系统下R与RStudio最新版的详细安装指南,包含镜像加速配置和常见问题解决方案。通过分步教程帮助用户避开安装陷阱,优化开发环境设置,特别适合国内用户快速搭建高效的数据分析平台。

weixin_29065959的博客 1005

F(x)(逆向思维)

F(x) Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8583    Accepted Submission(s): 3386   Problem Description For a decimal number x with n...

20164225的博客 903

CAPL编程入门:从零开始掌握汽车通信脚本语言

本文详细介绍了CAPL编程的基础知识,从开发环境搭建到核心语法精要,再到总线通信实战和高级调试技巧。CAPL作为汽车通信脚本语言,专为CAN、LIN等网络协议设计,帮助工程师高效完成车载网络测试。通过实战案例和性能优化建议,读者可以快速掌握CAPL编程技能。

s1t2u3的博客 978

Python航空航天设计神器!从入门到实操,小白也能搞定飞机优化

AeroSandbox的核心价值的是:​降低航空工程优化的门槛,用Python实现高效、简洁的工程设计​。无论是科研、学习还是实际项目,它都能帮你节省大量时间,不用再手动推导导数、编写复杂的优化逻辑。对于新手来说,建议先从案例1(Rosenbrock函数)入手,熟悉优化流程,再尝试案例2(翼型优化),逐步掌握核心用法;对于有航空相关需求的小伙伴,可以深入研究内置的物理模型,结合自己的项目进行定制化开发。最后,互动时间到!👉 你是用AeroSandbox做科研、练手还是实际项目?

源代码杀手的博客 124

HDU-4734-F(x)(数位DP)

F(x) Problem Description For a decimal number x with n digits (AnAn-1An-2 … A2A1), we define its weight as F(x) = An * 2n-1 + An-1 * 2n-2 + … + A2 * 2 + A1 * 1. Now you are given two numbers A and B, ...

qq_43461168的博客 362

1篇1章3节:R 语言的产生与发展轨迹(更新2024/08/14)

药物的研究阶段包括靶标确定、生物学模型建立、新化学实体的发现和优化新化学实体四个关键环节。每个环节都在药物研发过程中发挥着至关重要的作用。通过科学严谨的方法和技术手段,研究人员能够在药物研发过程中不断探索和优化,从而发现和开发出具有高效、安全性的候选药物,为疾病治疗提供更多的选择和希望。

MD Code 2660

hdu 4734 F(x)(数位dp,记忆化深搜,灵活题)

For a decimal number x with n digits (AnAn-1An-2 ... A2A1), we define its weight as F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. Now you are given two numbers A and B, please calculate ho

芒果街上的小屋(此博客暂时停用) 602

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【数位DP(Sub)】HDU 4734 F(x)

HDU 4734 F(x) 思路: dfs里的cnt指的是当前pos位,高位还需要凑cnt的价值和。 例如211。第2位2,对应的cnt = 0 第1位1,对应的cnt = 0 + 2*(1 << 2) = 8 第0位1,对应的cnt = 8 + 1*(1 << 1) = 10 第-1位,对应的cnt = 10 + 1*(1 << 0) = 11 拿第-1位来...

L_X_ 247

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

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

hdu 4734 F(x) (数位DP,memset优化,变加为减)

原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=4734 先贴两个讲的比较好的博客:http://www.cnblogs.com/dilthey/p/8545485.html https://blog.csdn.net/wust_zzwh/article/details/52100392#t2 说一下这题的坑点。 由于时限只给了500ms,然后...

yiqzq的博客 470

Statistics and Machine Learning Toolbox

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

(数位dp)HDU4734 F(x)

HDU4734 F(x) 题意&思路: f(x)的定义是,对于十进制数的每位(anan-1……a1),f(a)=an*2n-1+an-1*2n-2+……+a1*20。给你a和b,求在f(x)<=f(a),x∈[0,b]的个数。 又是数位dp,依旧没有思路。看了大佬的思路,惊为天人。 用dp[i][j]表示第i位,j是后面要凑的权值和。 需要的f(a)和你现在的总权值的差值,就是你在接...

Z7784562的博客 287

简单数位dp-hdu-4734-F(x)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4734 题目大意: 给一个数A (十进制表示形式为AnAn-1An-2 ... A2A1,定义函数 F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,给一个B,求B以内的i,满足F(i) 解题思路: 很裸的数位d

cc_again的专栏 2544

[HDU 4734]F(x)[数位DP]

题意: 将一个十进制数 n = dn dn-1 ... d0 视为二进制. 即 F(n) = dn*2^n + ... + d0*2^0. 给出A, B. 求0 ... B之间, 该值不大于F(A)的数的个数. 思路: 数位DP. 数位DP的优点在于, 你不需要知道这个答案是怎么来的, 只需要知道递推式. 这个答案的生成过程就在递推的过程中. dp [ i ] [

以中有足乐者... 2562

[数位DP] HDU4734 F(x)

HDU4734 题意:设整数x的十进制表示为An*10^n-1 + An-1*10^n-2 ... A1*10^0, 定义函数F(x)=An*2^n-1 + An-1*2^n-2 +...+A1*10^0,然后对任意x∈[0, B]求F(x)值不超过F(A)的x的个数。 解法:数位DP。 DP[i][j]表示1~i位的数中F函数值不超过j的数的个数,DP[len][F(A)]即为答案。 技巧

穹妹的家 429

HDU-4734 F(x)数位dp

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 大致意思就是每次询问【0,b】区间有多少数的f(i) <= f(a) 这题有一个巧妙的状态定义方式:dp[pos][sum]表示枚举到第pos位,【还需要】sum才能达到f(a) 1e9的数据范围,sum不超过5000。最后只要sum >= 0就表示不超过f(a) ...

aoy29758的博客 264

hdu 4734 F(x) (数位dp)

F(x) Time Limit: 1000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1140    Accepted Submission(s): 459 Problem Description For a decimal number x

To be what you what to be! 1018

hdu 4734 数位DP

//hdu 4734 F(x) 数位dp的题 // //我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2^(n-2)+...a(2)*2+a(1)*1,a(i)表示十进制数x中第i位的数字。 //题目给出a,b,求出0~b有多少个不大于f(a)的数。 // // //dp[i][j]表示i位值<=j 的总数 //bit位由低位到高位存储 //dfs由高位到低位进

hiding_nya的博客 297

HDU 4734 F(x) (数位DP+优化技巧)*

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 题目大意 给定函数f的定义,问在f函数的定义下, 在0到B中有多少个数满足,小于等于f(A)的 关系并且A事先给定。 题目分析 数位DP处理,但是注意到这题时限非常小, 朴素想法是dp[pos][sum],这样会超时, 然后考虑加一维度存储特定的f(A)但值会很大数组开不下, 看...

满月照亮的路 272

hdu 4734 F(x) (数位DP)

题目链接 题意:给定F(x)的公式,同时给定a和b,问你【0,b】区间内有多少数i满足F(i)<=F(a) 思路:标准的数位DP模板题,可以把F(a)先求出来,记忆化搜索的时候记录可行的状态(即pre),也就是pre-i*(1<<pos)大于0的时候pre状态时合法的,因为此时才说明F(a)比较大。 #include<bits/stdc++.h> using name...

qq_42479630的博客 180

【数位DP】 HDU 4734 F(x)

原题直通车: HDU 4734 F(x) 题意:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1, 求0.....B中F[x]&lt;=F[A]的个数。 代码:   // 31MS 548K 931 B G++ #include&lt;iostream&gt; #include&lt;cstdio&gt; #include...

weixin_34200628的博客 85
上一篇: HDU 3974 Assign the task(线段树 单点更新+lazy)
下一篇: Codeforces Round #297 (Div. 2) E Anya and Cubes
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值