245 条题解
-
0m_2y_2005 LV 3 @ 2007-11-15 22:48:17
看不懂的就是f[j]
i-j 就相当于把每份(即j份)都减去1
比如 f[7][3] 中的 f[4][3] 为 1 1 2 对应 f[7][3] 中的 2 2 3 -
02007-11-08 20:51:56@
算法:递推
解析:f[i][j]为i划分成j份的数量,显然对于每一种划分有含1的和不含1的两种,不含1的从i中减去j,还可分成j份;含1的减去1,还剩j-1份,则
f[i][j]=f[j]+f[j-1](i>j)
f[1][1]=1 -
02007-11-08 10:16:29@
编译通过...
├ 测试数据 01:运行超时...
├ 测试数据 02:运行超时...
├ 测试数据 03:运行超时...
├ 测试数据 04:运行超时...
├ 测试数据 05:运行超时...
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:0 有效耗时:0msFlag Unaccepted
题号 P1117
类型(?) 动态规划
通过 1827人
提交 3429次
通过率 53%
难度 2提交 讨论 题解
各位试试
-
02007-10-31 22:02:58@
本人愚笨,不懂公式,用O(n^3*k)过的。
-
02007-10-31 19:02:52@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-10-30 23:46:42@
哪位大牛再讲详细点
我用的硬搜过的,DP如何解???? -
02007-10-30 22:19:29@
f = sum{f} (k
-
02007-10-14 14:51:58@
f:=f+f
-
02007-10-03 16:36:35@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-10-01 17:15:05@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms搜也有这种效果!!!!!
搜也有这种效果!!!!!
搜也有这种效果!!!!!
搜也有这种效果!!!!!
搜也有这种效果!!!!!
搜也有这种效果!!!!!
搜也有这种效果!!!!! -
02007-08-23 21:08:37@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-08-20 22:54:08@
稍微变一下就可以看作是Ural P1017了。。。
-
02007-08-20 17:56:28@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms直接递归下降的结果……
但是那个方程还是不知道大牛们是怎么想出来的 -
02007-08-20 16:19:47@
标准动态规划(最简单的)!
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02007-08-17 08:18:02@
这个题奥赛经典上给的标准做法就是搜索
-
02007-08-13 20:41:08@
超简单的dp
-
02007-08-13 09:41:44@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 306ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:306ms硬搜!!
-
02007-08-02 15:03:56@
明明0s的题目,Vaal Leopard还在Running,Venus Blaze就没事,Vivid Puppy就更好了。
-
02007-08-02 09:52:24@
简单的DP
-
02007-07-31 00:43:22@
/*
///////////////////////////////////
//感谢baby,xuketian的程序和c++代码
///////////////////////////////////
递推公式 f(n,k) = f(n-1,k-1) + f(n-k,k)N数分K分,若最小值为1,则1占一份,剩余N-1数分K-1份;
若最小值非1,所有数据-1,递归回f(n,k),至f(n-1,k-1)。DP 数组
存储分步运算结果,利用递推公式进行调用
DP 0,0 初始化 1
变相初始化 当N=1,K=1时f值为1
/////////////////////////////////////////
//初学乍练,有错误难免,希望大家加QQ/Google Talk交流!
//QQ 524490703 GT slain.carmick@gmail.com
/////////////////////////////////////////*/
#include
using namespace std;int main()
{
//freopen("a.in","r",stdin);
//freopen("a.out","w",stdout);int n=0,k=0,;
cin>>n;
cin>>k;int sp[n+1][k+1];//从1,1 开始使用数组,添加0,0空行空列
int i=0,j=0;
//数组初始化
for(i=0;i