HUD-4602 Partition 排列】的更多相关文章

http://acm.hdu.edu.cn/showproblem.php?pid=4602 输入 n 和 k 首先 f(n)中k的个数 等于 f(n-1) 中 k-1的个数 最终等于 f(n-k+1) 中 1 的个数 舍 s(n) = f(n) + f(n-1) + ....+ f(1) 则 f(n) = s(n) - s(n-1) 由于 s(n) = s(n-1) + 2^(n-2) + s(n-1) = 2*(s(n-1)) + 2^(n-2) = 2^(n-1) + (n-1)*2^(n…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4602 把n等效为排成一列的n个点,然后就是取出其中连续的k个点.分两种情况,一种是不包含两端,2^( n−k−2 ) ∗ (n−k−1) ,另一种是包含两端:2 ∗ 2^( n – k − 1).然后特殊情况特判一下.. //STATUS:C++_AC_31MS_248KB #include <functional> #include <algorithm> #include <…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4602 我们可以特判出n<= k的情况. 对于1<= k<n,我们可以等效为n个点排成一列,并取出其中的连续k个点.下面分两种情况考虑: 第一种情况,被选出的不包含端点,那么有(n–k−1)种情况完成上述操作,剩下未被圈的点之间还有(n–k−2)个位置,可以在每个位置断开,所以共2^(n−k−2) ∗(n−k−1)种方法. 第二种情况,即被选出的包含端点,那么有2种情况,并且剩余共(n–k−1…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2472    Accepted Submission(s): 978 Problem Description Define f(n) as the number of ways to perform n in format of the sum of some pos…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 797    Accepted Submission(s): 322 Problem Description Define f(n) as the number of ways to perform n in format of the sum of some posit…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description Define f(n) as the number of ways to perform n in format of the sum of some positive integers. For instance, when n=4, we have  4=1+1+1+…
推公式+快速幂 公式有很多形式,可以写矩阵 1.前n-1项和的两倍+2的(n-2)次方,这个写不出啥 2.递推式:f(n)=2*f(n-1)+2的(n-3)次方 3.公式:2的(n-k-2)次方*(n-k+1)+2的(n-k-1) 代码什么的看他的吧http://blog.csdn.net/liuledidai/article/details/9449301 第一次写矩阵就不献丑了 #include<stdio.h> ; #define LL __int64 LL p[][]; LL q[][…
Problem Description Define f(n) , we have =+++ =++ =++ =++ =+ =+ =+ = totally ways. Actually, we will have f(n)=(n-) after observations. Given a pair of integers n and k, your task (n-) ways. In the example above, number occurs times, only occurs onc…
==================原始表================原始表=====================原始表 create table BUILDING_temp(building_id NUMBER(19) not null,buildingform VARCHAR2(10),city_code VARCHAR2(4)) alter table BUILDING add constraint PK_BUILDING primary key (BUILDING_ID) ===…
HDU 4602 Partition f[i]表示和为i的方案数.已知f[i]=2i-1. dp[i]表示和为i,k有多少个.那么dp[i]=dp[1]+dp[2]+...+dp[i-1]+f[i-k]. 考虑与f有关的项: f[n-k]是答案的一部分,即2n-k-1是答案的一部分. 把与dp有关的项: 令s[i-1]=dp[1]+dp[2]+...+dp[i-1],那么s[n-1]是答案的一部分. s[i]=s[i-1]+dp[i],又dp[i]=s[i-1]+f[i-k].推出s[i]=2*…