dp,用dp[i][j],表示和为i的前j个维度的种类。其中arr[i],表示第i维的最大值。

则\begin{equation} dp[i][j] = \sum_{0 \leq k \leq \min(i,arr[i])} dp[i-k][j-1] \end{equation}

最后取和为sum/2的种类即可。原因可参照投n次投骰子,求骰子和的为多少时,概率最大。

代码如下:

 #define     MOD 1000000007
#define MAXN 2002
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
int N;
int arr[MAXN];
int dp[MAXN][MAXN];//[sum][dim]
int sum;
void solve()
{
memset(dp, , sizeof(dp));
//init
for( int i = ; i < MAXN ; i++ )
{
dp[][i] = ;
if( i <= arr[] )
{
dp[i][] = ;
}
}
for( int j = ; j < N ; j++ )
{
for( int i = ; i <= sum ; i++ )
{
int tmp = min(arr[j], i);
for( int k = ; k <= tmp; k++ )
{
dp[i][j] += dp[i-k][j-];
dp[i][j] %= MOD;
}
}
}
printf ( "%d\n", dp[sum/][N-] );
}
int main(int argc, char *argv[])
{
int T;
scanf ( "%d", &T );
while(T--)
{
sum = ;
scanf ( "%d", &N );
for( int i = ; i < N ; i++ )
{
scanf ( "%d", &arr[i] );
sum += arr[i];
}
solve();
}
}

hdu 5000 Clone的更多相关文章

  1. HDU 5000 Clone(离散数学+DP)(2014 ACM/ICPC Asia Regional Anshan Online)

    Problem Description After eating food from Chernobyl, DRD got a super power: he could clone himself ...

  2. HDU 5000

    http://acm.hdu.edu.cn/showproblem.php?pid=5000 题意:有n种属性,每种属性的数值可以是0-T[i],当一个人属性全部小于等于另一个人的属性时,小的那个人会 ...

  3. hdu 5000 共存问题->背包

    http://acm.hdu.edu.cn/showproblem.php?pid=5000 每只羊有n个属性 下面n个数字表示每个属性的值范围为[ 0, T[i] ] 对于羊圈里的a羊和b羊,若a羊 ...

  4. HDOJ 5000 Clone

    所有的属性,以满足一定的条件,是,财产和等于sum/2结果最大. Clone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536 ...

  5. HDU 5000 2014 ACM/ICPC Asia Regional Anshan Online DP

    Clone Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/65536K (Java/Other) Total Submiss ...

  6. hdu 5000 dp **

    题目中提到  It guarantees that the sum of T[i] in each test case is no more than 2000 and 1 <= T[i]. 加 ...

  7. HDU 2227 Find the nondecreasing subsequences (DP+树状数组+离散化)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 Find the nondecreasing subsequences             ...

  8. HDU 1394 Minimum Inversion Number ( 树状数组求逆序数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1394 Minimum Inversion Number                         ...

  9. hdu 5071(2014鞍山现场赛B题,大模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5071 思路:模拟题,没啥可说的,移动的时候需要注意top的变化. #include <iostr ...

随机推荐

  1. iOS——UIButton响应传参数

    - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 方法是 ...

  2. 创建性能监视器(logman)

    在本地计算机上抓取性能信息 Logman.exe create counter Perf-1Second -f bincirc -max 500 -c "\Processor(*)\% Pr ...

  3. UITableViewcell autolayout下动态高度

    项目中最经常使用的一个UI就是UITableView了.iOS7.8进一步优化了复用机制,用起来相当爽.配合Autolayout,适配工作减轻了非常多. 曾经做适配工作都是在heightForRow里 ...

  4. HDU 5481 Desiderium 动态规划

    Desiderium Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=548 ...

  5. Android下得到APK包含信息

    很多情况下,我们需要通过APK文件来得到它的一些信息. (此时此APK不一定被安装了) 0. 基础知识:可以通过android.content.Context的方法 getPackageManager ...

  6. 02---CSS整理

    一.概述       CSS(cascading style sheet) 层叠样式表       提供比HTML更强大的页面排版.美化工具       CSS将网页内容和显示样式进行分离,提高了显示 ...

  7. 四、IP地址转换

    IP地址与端口 TCP/IP(传输控制协议/网际协议)不是一个协议,而是一组协议的总称,包括IP.TCP.UDP.ICMP.ARP等.它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据 ...

  8. MySQL(7):数值类型

    1. 数值类型  

  9. linux中shell编程

    shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...

  10. iOS实用的小技巧

    1.快捷键 上传APP模拟器截图:comm+s 自动保存到桌面 2.storyboard 改型号尺寸 如从iPad改为iPhone6: