博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2709 Sumsets(递推)
阅读量:6828 次
发布时间:2019-06-26

本文共 1827 字,大约阅读时间需要 6 分钟。

Sumsets

Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 1030    Accepted Submission(s): 406

Problem Description
Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the possible sets of numbers that sum to 7:
1) 1+1+1+1+1+1+1
2) 1+1+1+1+1+2
3) 1+1+1+2+2
4) 1+1+1+4
5) 1+2+2+2
6) 1+2+4
Help FJ count all possible representations for a given integer N (1 <= N <= 1,000,000).
 

 

Input
A single line with a single integer, N.
 

 

Output
The number of ways to represent N as the indicated sum. Due to the potential huge size of this number, print only last 9 digits (in base 10 representation).
 

 

Sample Input
7
 

 

Sample Output
6
 

 

Source
 

 

Recommend
teddy

 

 

 

设a[n]为和为 n 的种类数;

根据题目可知,加数为2的N次方,即 n 为奇数时等于它前一个数 n-1 的种类数 a[n-1] ,若 n 为偶数时分加数中有无 1 讨论,即关键是对 n 为偶数时进行讨论:

1.n为奇数,a[n]=a[n-1]

2.n为偶数:

(1)如果加数里含1,则一定至少有两个1,即对n-2的每一个加数式后面 +1+1,总类数为a[n-2];

(2)如果加数里没有1,即对n/2的每一个加数式乘以2,总类数为a[n-2];

所以总的种类数为:a[n]=a[n-2]+a[n/2];

 

//============================================================================// Name        : HDU2709.cpp// Author      : // Version     :// Copyright   : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================/* * 设a[n]为和为 n 的种类数;根据题目可知,加数为2的N次方,即 n 为奇数时等于它前一个数 n-1 的种类数 a[n-1] ,若 n 为偶数时分加数中有无 1 讨论,即关键是对 n 为偶数时进行讨论:1.n为奇数,a[n]=a[n-1]2.n为偶数:(1)如果加数里含1,则一定至少有两个1,即对n-2的每一个加数式后面 +1+1,总类数为a[n-2];(2)如果加数里没有1,即对n/2的每一个加数式乘以2,总类数为a[n-2];所以总的种类数为:a[n]=a[n-2]+a[n/2]; */#include 
#include
#include
#include
using namespace std;const int MAXN=1000010;const int MOD=1000000000;int a[MAXN];void init(){ a[0]=a[1]=1; for(int i=2;i

 

转载地址:http://onykl.baihongyu.com/

你可能感兴趣的文章
SpringBoot整合Dubbo2.5.10
查看>>
【ES6基础】const介绍
查看>>
使用Java Socket手撸一个http服务器
查看>>
node-sass安装失败的究极解决方法与简单使用
查看>>
单例模式
查看>>
网易云轻舟微服务深度解读:基于开源,强于开源
查看>>
不轻松,服务器部署nginx+uwsgi+djangorestfremework+react
查看>>
亚洲第一届 Rust 大会将于 4 月 20 日在 [北京] 开启
查看>>
AFNetworking2.0
查看>>
TiDB 源码阅读系列文章(二)初识 TiDB 源码
查看>>
七年切图仔如何面试大厂web前端?(沟通软技能总结) | 掘金技术征文
查看>>
Express 实战(七):视图与模板:Pug 和 EJS
查看>>
学习OpenGL ES之透视和正交投影
查看>>
node的process以及child_process
查看>>
推送本地仓库至 GitHub
查看>>
Git 命令小结
查看>>
JavaScript 中的操作符
查看>>
js事件类型中的异类一焦点事件
查看>>
iOS性能优化 - APP启动时间优化
查看>>
MediaCodec 高效解码得到标准 YUV420P 格式帧
查看>>