当前位置:网站首页>整数划分
整数划分
2022-06-28 08:10:00 【Angeliaaa】
将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种。由于数据较大,输出Mod 10^9 + 7的结果即可。
Input
输入1个数N(1 <= N <= 50000)。
Output
输出划分的数量Mod 10^9 + 7。
Sample Input
6Sample Output
4题意:给出一个数n,求n能被分成几个集合,使每个集合内的数相加的和等于n。
思路:这个题用dp做,dp【i】【j】表示将i分为j个数相加。当 i 等于9,j 等于3时,dp【i-j】【j】即dp【6】【3】等于1,因为6能被分为1,2,3一种,dp【i-j】【j-1】即dp【6】【2】可分为(1,5)和(2,4)两种而dp【9】【3】恰好等于3,所有dp【i】【j】=dp【i-j】【j】+dp【i-j】【j-1】.状态转移方程写出后还要知道数字n最多可分为sart(2*n)位相加。然后for循环逐一加上即可,代码如下:
#include<stdio.h>
#include<math.h>
int a[50010][350];
int main()
{
int n,i,j,k;
while(~scanf("%d",&n))
{
a[0][0]=1;
int sum=0;
k=sqrt(2*n);
for(i=1;i<=n;i++)
{
for(j=1;j<=k;j++)
{
if(i>=j)
a[i][j]=(a[i-j][j]+a[i-j][j-1])%1000000007;
}
}
for(i=1;i<=k;i++)
sum=(sum+a[n][i])%1000000007;
printf("%d\n",sum);
}
return 0;
}
边栏推荐
- App automated testing appium Tutorial Part 1 - advanced supplementary content
- Study notes 22/1/10
- How redis solves cache avalanche, breakdown and penetration problems
- [learning notes] shortest path + spanning tree
- [learning notes] linear basis
- Set the icon for the title section of the page
- Configuring MySQL multi instance master-slave synchronization for Linux
- sql分析(查询截取分析做sql优化)
- How to insert a single quotation mark into a table as a data type in Oracle pl/sql
- 【js】-【节流、防抖函数】
猜你喜欢

SLAM中常用的雅克比矩阵J

匿名页的反向映射

安装nrm后,使用nrm命令报错internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value)

The micro kernel zephyr is supported by many manufacturers!

App automated testing appium Tutorial Part 1 - advanced supplementary content

Airflow2 configuration windows azure SSO details based on oauth2 protocol

Activity implicit jump

NLP sequence can completely simulate human brain intelligence

微内核Zephyr获众多厂家支持!

Eslint 语法监测关闭
随机推荐
Is it reliable for flush to register and open an account? Is it safe?
Ambari (IX) --- use expect to realize no interaction in ambri server setup phase (valid for personal test)
Leetcode swing series
cuda和cudnn和tensorrt的理解
Today's notes 22/1/7
Eslint syntax monitoring off
【学习笔记】差分约束
Introduction to Devops Basics
NPM clean cache
js运算符的优先级
十大券商注册开户靠谱吗?安全吗?
B_QuRT_User_Guide(26)
Soft exam -- software designer -- afternoon question data flow diagram DFD
Jacobian matrix J commonly used in slam
券商注册开户靠谱吗?安全吗?
Trigonometric transformation formula
同花顺注册开户靠谱吗?安全吗?
设置网页的标题部分的图标
Oracle view tablespace usage
MySQL installation and environment variable configuration