HDU 4651 数论 partition 求自然数的拆分数
别人的解题报告:
http://blog.csdn.net/zstu_zlj/article/details/9796087
我的代码:
#include <cstdio>
#define N 100020
const int mod = 1e9+;
int p[N];
void Partition()
{
p[] =;
for(int n=; n <= 1e5; ++n)
{
int fac = ;
int k =;
while(true)
{
int t=n-k*(*k-)/;
if(t < ) break;
p[n] = (p[n]+fac*p[t])%mod;
if(t-k >= )
p[n] = (p[n]+fac*p[t-k])%mod;
p[n] %= mod;
fac = -fac;
++k;
}
p[n] = (p[n]+mod)%mod;
}
}
int main()
{
// freopen("in.cpp","r",stdin);
Partition();
int d;
scanf("%d",&d);
while(d--)
{
int c;
scanf("%d",&c);
printf("%d\n",p[c]);
}
return ;
}
认真考虑二维的情况;n<10^3才可行,而且该代码没有取模操作······
我的代码:
#include <cstdio>
#include <cstring>
#define N 2005
//#define debug
int d[N][N];
void init()
{
for(int i=; i<N; ++i)
d[][i] = d[][i]=d[i][]=d[i][] =;
for(int i=; i<N; ++i)
{
for(int j=; j<N; ++j)
{
if(i-j >= ) d[i][j] += d[i-j][j];
d[i][j] += d[i][j-];
}
}
}
int main()
{
#ifdef debug
freopen("in.c","r",stdin);
#endif
init();
int t;
scanf("%d",&t);
while(t--)
{
int m;
scanf("%d",&m);
printf("%d\n",d[m][m]);
} return ;
}
要查看关于二维的解释可点击下面的链接:
http://www.cnblogs.com/allh123/p/3246828.html
HDU 4651 数论 partition 求自然数的拆分数的更多相关文章
- hdu 3641 数论 二分求符合条件的最小值数学杂题
http://acm.hdu.edu.cn/showproblem.php?pid=3641 学到: 1.二分求符合条件的最小值 /*================================= ...
- hdu 4651 Partition (利用五边形定理求解切割数)
下面内容摘自维基百科: 五边形数定理[编辑] 五边形数定理是一个由欧拉发现的数学定理,描写叙述欧拉函数展开式的特性[1] [2].欧拉函数的展开式例如以下: 亦即 欧拉函数展开后,有些次方项被消去,仅 ...
- HDU 4651 (生成函数)
HDU 4651 Partition Problem : n的整数划分方案数.(n <= 100008) Solution : 参考资料: 五角数 欧拉函数 五边形数定理 整数划分 一份详细的题 ...
- GCD and LCM HDU 4497 数论
GCD and LCM HDU 4497 数论 题意 给你三个数x,y,z的最大公约数G和最小公倍数L,问你三个数字一共有几种可能.注意123和321算两种情况. 解题思路 L代表LCM,G代表GCD ...
- [E. Ehab's REAL Number Theory Problem](https://codeforces.com/contest/1325/problem/E) 数论+图论 求最小环
E. Ehab's REAL Number Theory Problem 数论+图论 求最小环 题目大意: 给你一个n大小的数列,数列里的每一个元素满足以下要求: 数据范围是:\(1<=a_i& ...
- HDU 4651 Partition(整数拆分)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给出n.求其整数拆分的方案数. i64 f[N]; void init(){ f[0 ...
- hdu - 4651 - Partition
题意:把一个整数N(1 <= N <= 100000)拆分不超过N的正整数相加,有多少种拆法. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid ...
- hdu 4651 Partition && hdu 4658 Integer Partition——拆分数与五边形定理
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4651 参考:https://blog.csdn.net/u013007900/article/detail ...
- HDU 4651 Partition 整数划分,可重复情况
Partition Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
随机推荐
- Java 集合-Collection接口和迭代器的实现
2017-10-30 00:30:48 Collection接口 Collection 层次结构 中的根接口.Collection 表示一组对象,这些对象也称为 collection 的元素.一些 c ...
- html生成缩略图来预览解决方案
html生成缩略图来预览解决方案 一.总结 一句话总结:先将html转化为canvas,然后将canvas生成图片ajax上传到服务器,就可以了 html 转化 canvas 图片 上传 html2c ...
- 一个Java例子,解释清楚注解的作用
原文出处:码农登陆 写在前面 今天聊的是注解,但其实单纯说注解,注解本身没有任何的作用.简单说和注释没啥区别,而它有作用的原因是:注解解释类,也就是相关对代码进行解释的特定类.一般这些类使用反射是可以 ...
- English trip -- VC(情景课)10 D Reading 阅读练习
Read 阅读 From: Lupe To:Miriam Hi Miriam, I'm not working today.It's my day off. Are you busy?Come an ...
- 3-29 params的理解; Active Model Errors; PolymorphicRoutes 多态的路径; ::Routing::UrlFor
params的理解和作用: http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-require A ...
- XML Publisher Using API’s(转)
原文地址:XML Publisher Using API’s Applications Layer APIsThe applications layer of XML Publisher allows ...
- java标号
标号用于控制循环执行流程: public static void main(String[] args) { mark: for(int i = 0; i < 3; i++) { System. ...
- POJ 1008 简单模拟题
e.... 虽然这是一道灰常简单的模拟题.但是米做的时候没有读懂第二个日历的计时方法.然后捏.敲完之后华丽的WA了进一个点.坑点就在一年的最后一天你是该输出本年的.e ...但是我好想并没有..看di ...
- c++理解析构函数
析构函数有2种方式调用,一个是主动调用delete,另一个是根据RAII的规则,在对象的生命周期结束时自动析构.第一点没什么好说的,就简单讲下第二点. 对象的生命周期不等于是程序的生命周期,一般我们所 ...
- 自己写的一个delphi正整数快速排序
type TIntArr= array of word; procedure MyQSort(var arr: TIntArr; low: word; high: word); //word可以改 ...