ural 1057 Amount of degrees (数位dp)

Zynq 双核AMP 通信 4、配置离线编译(这里不讲),配置linux的内核地址空间(0x4000_0000改为0x2000_0000),以及单核启动。CPU1设置为0x2000_0000~0x3FFF_FFFF(也可以小于0x3FFF_FFFF)如果禁用CPU1的L2 cache,在CPU1的bsp里面添加编译时候所需要的宏。3、配置工程,将vivado产生的.xsa文件复制到amp_com项目目录下。9、使用petalinux-package --boot 打包。一、vivado工程。5、编译u-boot。 阅读详情

1057. Amount of Degrees

Time limit: 1.0 second
Memory limit: 64 MB
Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactlyK different integer degrees of B.
Example. Let X=15, Y=20, K=2, B=2. By this example 3 numbers are the sum of exactly two integer degrees of number 2:
17 = 24+20,
18 = 24+21,
20 = 24+22.

Input

The first line of input contains integers X and Y, separated with a space (1 ≤ X ≤ Y ≤ 231−1). The next two lines contain integers K and B (1 ≤ K ≤ 20; 2 ≤ B ≤ 10).

Output

Output should contain a single integer — the amount of integers, lying between X and Y, being a sum of exactly K different integer degrees of B.

Sample

input output
15 20
2
2
3


题目大意:

 

求给定区间

[X,Y]

中满足

下列

条件的

整

数个数:这个数

恰好

等

于

K

个

互不相

等的

B

的

整

数

次幂

之和。例如,设

X=15

,

Y=20

,

K=2

,

B=2

,

则

有

且仅

有

下列三

个数满足题

意

:

 

17 = 2

4

+2

0

,

 

18 = 2

4

+2

1

,

 

20 = 2

4

+2

2

。

 

输入

:第一

行包含两

个

整

数

X

和

Y

。

接下来两行包含整

数

K

和

B

。

 

输出

:

只包含

一个

整

数,

表示

满足条件的数的个数。

 

数

据规模

:

1 

≤

 X 

≤

 Y 

≤

 2

31

−

1

,

1 

≤

 K 

≤

 20

,

 

2 

≤

 B 

≤

 10

。



 浅谈数位类问题 刘聪 
第 1页,共 12页 
浅谈数位类统计问题 
山东省青岛第二中学 刘聪 
【摘要】 
在信息学竞赛中,有一类与数位有关的区间统计问题。这类问题往往具有比较浓厚的数学味道,无法暴力求解,需要在数位上进行递推等操作。本文通过几个例子,简要介绍了解决此类问题的基本思想和方法。 
【关键字】 
数位 区间 统计 递推 树 二进制 
【正文】 
在信息学竞赛中,有这样一类问题:求给定区间中,满足给定条件的某个D进制数或此类数的数量。所求的限定条件往往与数位有关,例如数位之和、指定数码个数、数的大小顺序分组等等。题目给定的区间往往很大,无法采用朴素的方法求解。此时,我们就需要利用数位的性质,设计log(n)级别复杂度的算法。解决这类问题最基本的思想就是“逐位确定”的方法。下面就让我们通过几道例题来具体了解一下这类问题及其思考方法。 
 
【例题1】Amount of degrees (ural 1057) 
题目大意: 
求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意: 
17 = 24+20, 18 = 24+21, 20 = 24+22。 
输入:第一行包含两个整数X和Y。接下来两行包含整数K和B。 输出:只包含一个整数,表示满足条件的数的个数。 数据规模:1 ≤ X ≤ Y ≤ 231−1,1 ≤ K ≤ 20, 2 ≤ B ≤ 10。 分析: 
所求的数为互不相等的幂之和,亦即其B进制表示的各位数字都只能是0和1。因此,我们只需讨论二进制的情况,其他进制都可以转化为二进制求解。 
很显然,数据范围较大,不可能采用枚举法,算法复杂度必须是log(n)级别,因此我们要从数位上下手。 


参考链接:http://wenku.baidu.com/view/d2414ffe04a1b0717fd5dda8.html



#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 35

int f[N][N],le,ri;
int k,b;
int a[40];

void inint()
{
    int i,j;
    f[0][0]=1;
    fre(i,1,N)
     {
         f[i][0]=f[i-1][0];
         fre(j,1,i+1)
           f[i][j]=f[i-1][j]+f[i-1][j-1];
     }
}

int solve(int x)
{
   int i,j,p=0;
   while(x)
   {
      a[p++]=x%b;
      x/=b;
   }

   int tot=0;
   int ans=0;

   free(i,p-1,0)
   {
       if(a[i]==1)
       {
          ans+=f[i][k-tot];
          tot++;
          if(tot>k) break;
       }
       else if(a[i]>1)
       {
          ans+=f[i][k-tot-1];
          ans+=f[i][k-tot];
          break;
       }

   }
  return ans;
}

int main()
{
   int i,j;
   inint();
   while(~scanf("%d%d",&le,&ri))
   {
        scanf("%d%d",&k,&b);

        pf("%d\n",solve(ri+1)-solve(le));
   }
   return 0;
}






反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释 反卷积的作用 卷积中padding的几个概念 No Padding Half(Same) Padding Full Padding 反卷积 反卷积中的Padding参数 反卷积的stride参数 反卷积总结 参考资料 阅读详情

相关推荐

数字IC后端PPA优化实战:Timing一致性策略与Module Region布局技巧

本文深入探讨了数字IC后端设计中的PPA优化实战,重点解析了Timing一致性问题及其解决方案。通过调整Clock Uncertainty、Timing Derate和RC Scale Factor等关键参数,使Innovus等PR工具的分析结果更接近PrimeTime签核结果。同时,文章详细介绍了Module Region布局技巧,通过为关键模块划定物理区域,优化单元摆放,有效减少线延迟,从而协同提升时序收敛效率与设计可预测性。

weixin_29218963的博客 202

1585 例题1 Amount of Degrees(Ural 1057 LOJ10163) 进制转换纯枚举从40分到60分 数位DP100分 初次使用string

总目录 在线测评地址(ybt) 在线测评地址(LOJ)

mrcrack的博客 1972

ESP32拓展板DIY全攻略:从零打造你的传感器控制中心(附PCB设计文件)

本文详细介绍了如何从零开始DIY ESP32拓展板,打造多功能传感器控制中心。内容涵盖项目规划、硬件设计、PCB布局、制作测试全流程,并提供进阶优化建议和实战案例。特别适合嵌入式硬件爱好者学习ESP32拓展板开发,实现各类传感器的高效集成与控制。

blockchain9miner的博客 1077

ural 1057 - Amount of Degrees(数位统计)

引自:http://wenku.baidu.com/view/d2414ffe04a1b0717fd5dda8.html 题目大意: 求给定区间[X,Y]中满足下列条件的整数个数: 这个数恰好等于 K 个互不相等的 B 的整数次幂之和。例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意: 17 = 2^4 + 2^0; 18 = 2^4 + 2^1; 20 = 2

稻草人 954

从防御者视角复盘:用WinArpAttacker和Wireshark在Windows上模拟并检测ARP欺骗攻击

本文详细解析了Windows平台下的ARP欺骗攻击与防御策略,通过WinArpAttacker和Wireshark工具模拟攻击并检测异常流量。文章涵盖实验环境搭建、攻击原理深度解析、流量特征分析及企业级防御方案,帮助安全运维人员全面掌握ARP攻击检测与防护技术。

weixin_30918633的博客 121

基于python CNN卷积神经网络模型实现6类别垃圾分类 毕业设计 附完整代码数据

基于python CNN卷积神经网络模型实现6类别垃圾分类 毕业设计 附完整代码数据

1664

Amount of Degrees(Ural-1057)

Problem Description Create a code to determine the amount of integers, lying in the set [ X; Y] and being a sum of exactly K different integer degrees of B. Example. Let X=15, Y=20, K=2, B=2. By thi...

Alex_McAvoy的博客 493

6、基于深度强化学习的无人机路径规划

本文研究了基于深度强化学习的无人机路径规划方法,提出了一种融合改进DQN算法与人工势场法的路径规划策略。通过设计合理的网络结构、状态空间、动作空间和奖励函数,结合ε-贪心策略进行动作选择,实现了无人机在复杂环境中的自主避障与目标导向飞行。仿真实验表明,该方法具有收敛速度快、实时性强和可操作性高等优点,能有效完成室内环境下的路径规划任务。文章还总结了算法优势,并对未来在连续动作、复杂环境适应及多无人机协同等方面的发展方向进行了展望。

web39explorer的博客 166

ural 1057 Amount of degrees 【数位dp】

题意:求(x--y)区间转化为 c 进制 1 的个数为 k 的数的出现次数。 分析:发现其满足区间减法,所以可以求直接求0---x 的转化为 c 进制中 1 的个数为k的数的出现次数。 首先用一个数组f【i】【j】:表示前 i 位中有 j 位为 1 的个数。 可以通过方程 f【i】【j】 = f【i-1】【j】 + f【i-1】【j-1】来预处理出来。 对于要求的答案,我们可以借助

大神养成中..... 2978

WIFI和BT测试(射频工程师)

买不了吃亏买不了上当,我卖的是技能,你收获的是经验。

m0_58834499的博客 599

内容审核与文本安全技术综述:检测、过滤与对齐

检测质量高度依赖数据。毒性/仇恨/冒犯语言检测领域形成了一批经典数据集,但它们的标签体系差异很大:例如 OLID(OffensEval)强调“是否冒犯—冒犯类型—目标对象”三层结构;HateXplain 在“hate/offensive/normal”三分类之外,还提供目标群体与人类标注的 rationale span;RealToxicityPrompts 则不做离散标签,而是用毒性分数来研究“模型续写时的毒性退化”。ACL 汇编。

nmdbbzcl的博客 1370

【URAL 1057】 Amount of Degrees 【数位DP】

1057. Amount of Degrees Time limit: 1.0 second Memory limit: 64 MB Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactly K different integer d

Mirai_Future 538

CATIA文件的网页预览方案

CATIA是工业设计中广泛使用的专业软件,产出`.CATPart`或 `.CATProduct`等文件类型,当资产数量较大时,我们希望快捷预览这些文件,就有了`CATPart`文件网页预览的需求 但我们知道,网页上无法直接渲染`CATPart`这种复杂的文件, CATIA生成的文件(如 `CATPart` 和 `CATProduct`)不仅包含三维几何信息(例如点、线和曲面),还涵盖了丰富的元数据与专业设计特征。 那有没有办法,能实现CATIA文件在网页上的便捷预览?

weixin_44211633的博客 1447

Ural 1057 Amount of Degrees(数位DP)

题目链接:点击打开链接 题目大意:求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17 = 2^4+2^0,        18 = 2^4+2^1,        20 = 2^4+2^2. 1 ≤ X ≤ Y ≤ 2^31−1,1 ≤ K ≤ 20,  2 ≤ B ≤

AC_Arthur的专栏 1230

假人有限元模型

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

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

URAL - 1057 Amount of Degrees 数位DP

思路 对于一个数 n, 我们求他的 0 - n 的满足要求的方案数, 对于区间[l, r] = sum[r] - sum[l - 1] 我们先预处理组合数, 存下对应的值 我们这时取出n的每一位的值, 我们去判断一下这位的树, 我们直接加上这一位是0的情况, 就是这以为不选1, 前面选了last个1, 后面再选k - last个1, 就是f[i], k - last], 对于这一位大于1这种情...

正月看雪花的博客 254

STM32F407中文手册

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

URAL1057 Amount of Degrees 数位DP

题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1057 题目大意:统计区间[x,y]内可以用k个不同的b进制数的和来表示的数的个数。 分析:参考论文《浅谈数位类统计问题》。我们先来看该问题的简化版:统计区间[0,n]内可以用k个不同的二进制数的和来表示的数的个数。那么对于n=13(二进制位1101),k=3的情况,我们只需要

AC_Gibson的专栏 550

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

URAL 1057 Amount of Degrees(数位dp)

题目链接URAL 1057 Amount of Degrees题意求区间[L,R][L,R]恰好可以用KK个不相同的BB的幂次相加得到的数字的个数。 例如:L=15,R=20,K=B=2 17=24+2017 = 2^4+2^0 18=24+2118 = 2^4+2^1, 20=24+2220 = 2^4+2^2 一共有3个。数据范围:1≤L≤R≤231−1,1≤K≤20,2≤B≤10

ramay7 622

【URAL】1057 Amount of Degrees 数位DP

传送门:【URAL】1057 Amount of Degrees

poursoul 728

Amount of Degrees URAL - 1057 数位dp

题意:求(x--y)区间转化为b进制以后, 1 的个数为 k 的数的出现次数,并且其余位上的数必须为0。 原题要求的是k个不同b次幂相加得到的不同的数的个数,所以每一位上的的数不能出现除1和0以外的数,有了这样一个转换就好办了。 数位dp,枚举时只枚举含0,1的位,一定是从高位枚举,设d[pos][num1][sum][dig]为从pos到最低位,1出现次数为num1时,要求出现sum次,di

熟睡的哲学家的博客 349

[数位dp] ural 1057 Amount of Degrees

题意:x、y、k、b。在[x,y]范围内的b进制数能分成k个b进制位权和的数有多少个。 思路: dp[site][n][k][b] n就代表已经分成了几个。 其实就是把数转换成对应的进制 然后这时候len不再是原来的那么简单。 应该是如果是边界的话取  当前位和1的最小值 不是的话 就取1 因为这位上有数说明这位可以被分走 所以这位上的数多少他都是1 然后就是判断是否是边界 要判断

Enmity_Dark 713

URAL 1057 Amount of Degrees 数位DP *

题目地址:http://acm.timus.ru/problem.aspx?space=1&num=1057 思路来源:浅谈数位类统计问题 现在才发现数位问题可以转化为一棵二叉搜索树的问题去理解 #include #include #include #include using namespace std; typedef long long LL; LL d[32][32]; LL

BRCOCOLI的博客 364

ural 1057 Amount of degrees 数位DP (入门)

/** * 数位dp: * 第一道数位dp题,还是看《浅谈数位类统计问题》看到的题, * 关于数位dp的理解,理解那棵完全二叉树就很容易理解了。 * 关键是对于非二进制的计数是如何根据二进制得出来的dp去计算的,、 * 拿5进制来说,比如 40132, bit[5] = {4,0,1,3,2} * bit[len-1] = 4, 实现的时候逆序遍历: i =

xuruoxin的专栏 835

Ural 1057 Amount of Degrees【数位Dp】

1057. Amount of Degrees Time limit: 1.0 second Memory limit: 64 MB Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactlyK different integer de

mengxiang000000 595

URAL 1057 Amount of Degrees 数位dp

原题链接:URAL 1057 Amount of Degrees 做了前两道数位dp,作者就在想:“数位dp原来这么简单啊,连状态都是一个模式,都是dp[i][j]表示以j开头的i位数字,看来再刷一道题就可以完全学会数位dp了。” 可是这道题目现场打脸,orz,一点思路都没有,用前两道类似的状态根本无法解决此题。直到看了大神的论文才知道数位dp的水原来这么深(可能只是本渣觉得深),以后还是老老

每天都要进步哦~ 835

URAL 1057 Amount of Degrees (数位dp)

Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactly K different integer degrees of B. Example. Let X=15, Y=20, K=2, B=2. By this example 3 ...

dddddd12345456的博客 139

数位DP-URAL-1057-Amount of Degrees

Amount of Degrees Time limit: 1.0 second Memory limit: 64 MB Create a code to determine the amount of integers, lying in the set [X;Y] and being a sum of exactly K different integer degrees of B. E

懒鬼的私人泳池 720
上一篇: HDU 3182 Hamburger Magi(状压dp)
下一篇: HDU 3974 Assign the task(线段树 单点更新+lazy)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值