【51NOD 1383】整数分解为2的幂

任意正整数都能拆成若干唯一的2的幂指数之和 任意正整数都能拆成若干唯一的2的幂指数之和,php版本和js版本都有。 立即下载

Description

任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。
比如N = 7时,共有6种划分方法。

7=1+1+1+1+1+1+1
=1+1+1+1+1+2
=1+1+1+2+2
=1+2+2+2
=1+1+1+4
=1+2+4

Solution

显然,当n为奇数时(除了1),fn=fn−1,
对于n为偶数时,首先肯定要加上n-1的值,因为你本次的所有方案中,肯定包含上一轮中的每一种方案再加上1,
那么,有1的方案就已经算完了,剩下的都是2的倍数了,所以总体/2,也就是加上fi/2
所以:

fi=fi−1+fi/2∗[i%2=0]

复杂度:O(n)

Code

#include <iostream>
#include <cstdio>
#include <cstdlib>
#define fo(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
typedef long long LL;
const int N=1e6+5,mo=1e9+7;
int n,m;
LL f[N];
int main()
{
    int q,w;
    scanf("%d",&n);
    if(n==1){printf("1\n");return 0;}
    n/=2;f[1]=2;
    fo(i,2,n)f[i]=(f[i-1]+f[i/2])%mo;
    printf("%lld\n",f[n]);
    return 0;
}
YOLOv5模型转换陷阱:从PT到RKNN的置信度异常与乱框问题深度解析 本文深度解析了YOLOv5模型从PT到RKNN转换过程中的置信度异常与检测框错乱问题,揭示了NPU硬件特性与模型结构不匹配的根本原因。通过详细的解决方案和实操步骤,包括模型修改、转换流程配置和验证技巧,帮助开发者有效解决这一常见部署难题,提升模型在瑞芯微芯片上的推理性能。 阅读详情

相关推荐

别再只用串口助手了!用LabVIEW给STM32F103C8T6做个专属上位机(附完整源码)

本文详细介绍了如何利用LabVIEW为STM32F103C8T6开发定制化上位机,替代传统串口助手,实现高效数据交互。内容涵盖硬件架构设计、STM32固件优化、LabVIEW上位机开发技巧及工业级应用案例,特别适合需要实时数据采集与处理的工控场景。

weixin_42524762的博客 368

51Nod-1383-整数分解为2的幂

ACM模版描述题解看到这里,我们应该可以想到,这是一个数论问题,应该是一个什么数列,暴力解出来小数据后,在 OEIS 中查看了一下下,发现的确是一个十分有趣的数列——Binary partition function: number of partitions of n into powers of 2.很明显,这里 f[0]=f[1]=1f[0] = f[1] = 1     f(2m+1)=f(

逐梦者 860

Android HCE实战:手把手教你用Kotlin实现NFC公交卡模拟(含完整APDU指令解析)

本文是一份Android HCE实战指南,详细讲解如何使用Kotlin实现NFC公交卡模拟。内容涵盖HCE服务搭建、APDU指令(如SELECT AID、GET PROCESSING OPTIONS)的完整解析与响应逻辑,并提供读卡器端测试代码,帮助开发者深入理解基于主机的卡模拟技术。

qsc901234567的博客 1117

[51Nod 1048] 整数分解为2的幂 V2

Description 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量! 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4 (1 <= N <= 10^30) SolutionO(N)的

Never give in. 1853

《数据分析岗笔试高频题:字节常用的SQL与AB测试考题解析》

• 核心考点:用RANK()/DENSE_RANK()/ROW_NUMBER()排序,SUM() OVER()计算累积值。◦ 用公式n=2*(Zα/2+Zβ)^2*σ²/δ²,取α=0.05,β=0.2,计算得每组需260人;◦ 关注字节技术公众号“字节跳动数据团队”,学习真实AB测试案例(如“推荐算法优化实验”)。• 题型分布:SQL编程题(40%)、AB测试方案设计(30%)、数据洞察题(30%);◦ 牛客网“字节跳动SQL真题”(如“统计用户7日留存”“广告投放ROI计算”)。

2501_91651594的博客 1107

GN算法边介数计算优化指南:如何提升大规模社交网络分析效率

本文深入探讨了GN算法在大规模社交网络分析中的核心瓶颈——边介数计算,并提供了从算法优化到工程部署的完整性能提升方案。通过引入Brandes算法、并行计算、增量更新及分布式处理等策略,有效解决了传统GN算法在处理百万级网络时效率低下的问题,为社交网络社区划分等实际应用提供了高效解决方案。

weixin_29196613的博客 486

[DP]51 Nod——[1048 整数分解为2的幂 V2]

题目描述给定正整数N,求N分解成若干个2的次幂的方案数。N<=1030N<=10^30解题思路之前写过O(n)O(n),看到这个数据范围瞬间就恐惧了。将N表示成一个二进制数,对于每个ai=1ai=1,都有一段区间的和刚好等于2ai2^{ai}我们考虑如何构造区间设g[i][j]g[i][j]表示前i个位置,最大数是2j2^j的方案数很快得到递推式g[i][j]+=g[i−1][k]∗f[ai−k][

CHN_JZ的博客 904

【Bug已解决】Anthropic tool_result 找不到对应 tool use id 解决方案

方案适用场景推荐指数每个tool_use必须生成对应tool_result最基础的原则,所有Harness都必须遵守⭐⭐⭐⭐⭐裁剪历史时成对处理实现了上下文裁剪/压缩逻辑的Harness⭐⭐⭐⭐⭐并行工具调用结果数量校验支持多工具并行调用的场景⭐⭐⭐⭐使用官方SDK高层封装不需要特别定制消息组装逻辑⭐⭐⭐⭐请求前主动校验中间件追求生产级健壮性,提前拦截问题⭐⭐⭐⭐⭐这类报错,本质上是。

一键难忘的博客 1万+

51nod - 1383 - 整数分解为2的幂

题意: **来张图片,仅仅证明我真的翻开过这个页面 ** 开玩笑!! 思路: 这道题两种方法 (1)线性的找规律,递推 递推式: i % 2 == 0 :f[ i ] = (f[i - 1] + f[i >> 1]) % mod; i % 2 == 1 :f[ i ] = f[i - 1] (2)DP(动态规划) 代码实现: 递推版本: #include<bits/stdc++.h> using namespace std; typedef long long ll; const

m0_46082460的博客 194

ESP32-C3入门教程 环境篇③——VS Code IDE快速入门

文章目录一、安装Visual Studio Code二、安装扩展三、配置ESP-IDF 插件四、创建工程五、配置工程5.1 选择目标芯片5.2 项目配置六、编译工程七、固件分析七、固件下载八、串口日志九、单步调试 一、安装Visual Studio Code 下载并安装Visual Studio Code 二、安装扩展 左侧扩展 搜索espressif 点击安装 三、配置ESP-IDF 插件 按下F1按键 输入configure esp-idf extension EXPRESS,如果你

8304

使用 MATLAB/Simulink 构建一个 光伏-储能联合系统接入10kV配电网 的协同控制仿真模型

本教程详细介绍了基于Simulink的光伏-储能联合系统在配电网中的协同控制仿真方法。主要内容包括:系统结构设计(光伏阵列、储能电池、双向变流器等);建模流程(MPPT控制、BMS系统、PCS矢量控制);核心协同控制策略(功率平滑、削峰填谷、电压支撑的三层控制架构);仿真结果分析方法及性能评估指标。教程提供了从组件建模到系统集成的完整指导,并建议了模型预测控制、微网孤岛运行等进阶方向,帮助开发者掌握智能电网的关键仿真技术。通过该模型可实现可再生能源的高效利用与电网稳定运行的平衡。

amy_mhd的博客 217

拆分为2的幂的和的种数

题目描述 一个整数总可以拆分为2的幂的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 总共有六种不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的种数,例如f(7)=6. 要求编写程序,

愿世界和平的IT劝退师 1758

YOLOv9改进,YOLOv9添加CBAM注意力机制

CBAM是一个简单而有效的注意力模块,用于前馈卷积神经网络。给定一个中间特征图,我们的模块按顺序推断两个独立维度(通道和空间)的注意力图,然后将注意力图乘以输入特征图以进行自适应特征细化。由于 CBAM 是一个轻量级的通用模块,因此它可以无缝集成到任何 CNN 架构中,开销可以忽略不计,并且可以与基础 CNN 一起进行端到端训练。论文链接:(CBAM论文)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 856

51Nod1383---整数分解为2的幂

51Nod1383---整数分解为2的幂 容易想到对于某一个数i,它的组合可以看成是i-1的每一种组合加上一个1,但这个1可能会与其他1合并,从而产生新的组合; 当i为奇数时,发现其中有一个1一直没有被合并;对于i-1的每一个组合插入一个1,如果发生合并只会占了原本需要合并、产生新组合的1的位置,因此最后不会产生新组合; 但是当i为偶数时,因为i-1的每一种组合最后必定剩下一个从来没有被合并...

KingTom 298

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

51nod 1383 整数分解为2的幂【递推】

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4题解定义f[i]表示i的方案数,可以知道,每个数要么是从前

Sdywolf的博客 364

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

51nod-1383 整数分解为2的幂

原题链接 1383 整数分解为2的幂 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+

L. 662

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

51nod 1383 整数分解为2的幂

画画,找规律。。。 dp[n]表示n的划分方法。 当n为奇数的时候,dp[n]=dp[n-1],n-1每种分解后边都加上一个1就是了。 当n为偶数的时候,dp[n]=dp[n-1]+dp[n/2],n-1的每种分解都加一个1,这是一种情况,因为n是偶数,还有把1合并成2,把2合并成4的情况,这时候多出的这部分分解后的最小单位是2,分解个数最多的就是n/2个2,把这些数字全部都除以2,正好就是n

梦幻的蔷薇色 441

【51Nod 1383】整数分解为2的幂

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Solution看到这题就是一个递推题,在数学课上不听讲找

Facico的博客 1424

51NOD 1383 整数分解为2的幂

任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1   =1+1+1+1+1+2   =1+1+1+2+2   =1+2+2+2   =1+1+1+4   =1+2+4 Input 输入一个数N(1 &lt;= N &lt;= 10^6) Outp...

hh1258414454的博客 217

[51Nod 1383] 整数分解为2的幂

Description 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4 输入一个数N

Never give in. 505

51nod 1383&1048 整数分解为2的幂 [递推]【数学】

题目连接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1048————————————————————————————————————-. 整数分解为2的幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 1280 难度:9级算法题 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量! 比如

Tabris的博客 703

51Nod-1383 整数分解为2的幂【数列】

1383 整数分解为2的幂  任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1   =1+1+1+1+1+2   =1+1+1+2+2   =1+2+2+2   =1+1+1+4   =1+2+4 Input 输入一个数N(1 &lt;= N ...

海岛Blog 809

51Nod 1383&1048 整数分解为2的幂

对于某个2^i的一种划分方案,如果不是只有它本身一个数,一定可以把这些2的幂按照升序排序,然后分成两段,每一段的和都是2^{i−1}。

Luckfort 397

51nod 1383 整数分解为2的幂(数列,也可以自己根据观察找规律推理得到递推公式)

描述: 组合数学生成函数 1383 整数分解为2的幂 1 秒   131,072 KB   80 分   5 级题 任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量!由于方案数量较大,输出Mod 1000000007的结果。 比如N = 7时,共有6种划分方法。 7=1+1+1+1+1+1+1   =1+1+1+1+1+2   =1+1+1+2+2   =1+2+...

nowting的博客 276

【51NOD 1048】【51NOD 1383】整数分解为2的幂 V2

Description任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量! 比如N = 7时,共有6种划分方法。7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 =1+2+2+2 =1+1+1+4 =1+2+4Solution设gi,j,kg_{i,j,k}表示一个序列组成2i2^i这个数,这个序列中最大的数为2j2^j,最

912

[递推] 51Nod1383 整数分解为2的幂

简单的递推,类似背包那种加 11 或翻倍的思路。 写这题其实只是水一篇 blogblog ,其实注意还是要做 51nod1048 加强版……#include<cstdio> #include<algorithm> using namespace std; const int maxn=10000005,MOD=1e9+7; int n,f[maxn]; int main(){ scanf(

Lynstery's blog 449
上一篇: 【JZOJ 3809】设备塔
下一篇: 【JZOJ 4939】平均值
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值