http://acm.hdu.edu.cn/showproblem.php?pid=4504

题目大意:

  中文都看得懂。不过我是看hint才正确理解什么意思的。开始的时候理解错了。

解题思路:

  给定时间最多是600,最多进攻次数600/15=40次,我方进攻次数40/2=20次。如果深度搜索多少种情况,

那么时间复杂度是O(3^20),直接就超时了。

  我知道要动态规划,但是自己dp不行,所以就看了网上别人的解题报告。

dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3] ;表示第i次,得j分的方案

先将得分方案预处理(预处理时间是O(20*60))。求答案的时候再将进攻t次,大于A、B分数之的方案加起来(时间复杂度最坏O(60))。

AC代码:

 #include<cstdio>
#include<cstring> #define TIMES 21//最多打600/15/2=20次
#define SCORE 61//做多得分20*3=60分 typedef __int64 LL; //dp[i][j] 表示第i次,投j分的情况 dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]
int dp[TIMES][SCORE]; void dynamic(){
// memset(dp, 0, sizeof(dp));
dp[][] = ;
for(int i = ; i < TIMES; ++i){
dp[i][i] = dp[i - ][i - ];
dp[i][i + ] = dp[i - ][i - ] + dp[i - ][i]; for(int j = i + ; j <= i * ; ++j){
dp[i][j] = dp[i - ][j - ] + dp[i - ][j - ] + dp[i - ][j - ];
}
}
} int main(){
dynamic();//预处理
int a, b, t;
while(~scanf("%d%d%d", &a, &b, &t)){
t /= ;//
b += t / ;//B队的最终得分
t = (t + ) / ;//A队还能进攻t次
a = b - a + ;//计算A队至少还差多少分就能赢得比赛 if(a < ) a = ;//说明A已经赢得比赛 那就把所有的情况加起来 LL ans = ;
for(int i = a; i <= t * ; ++i){//A队进攻t次数 分数>=a的情况加起来
ans += dp[t][i];
}
printf("%I64d\n", ans);
}
return ;
}

HDU 4504 威威猫系列故事——篮球梦(dp)的更多相关文章

  1. HDU--杭电--4504--威威猫系列故事——篮球梦--DP

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  2. HDUOJ----4504 威威猫系列故事——篮球梦

    威威猫系列故事——篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total ...

  3. 2013腾讯编程马拉松初赛第〇场(HDU 4504)威威猫系列故事——篮球梦

    http://acm.hdu.edu.cn/showproblem.php?pid=4504 题目大意: 篮球赛假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下 ...

  4. hdu 4504 威威猫系列故事——篮球梦_简单dp

    题目链接 题意:你现在分数为a,对方分数为b,你比赛还有n分钟,每次进攻需要15分钟,现在你先进攻,每次进攻可以得1或2或3,对方每次进攻得一分,问超过对方分数有多少种打法 思路:因为情况太多要用__ ...

  5. 【HDOJ】4504 威威猫系列故事——篮球梦

    水题. #include <cstdio> #include <cstdlib> #include <cstring> #define MAXN 25 ]; voi ...

  6. HDU 4540 威威猫系列故事——打地鼠(DP)

    点我看题目 题意 :中文题,不详述. 思路 : 状态转移方程 dp[ i ][ j ] = dp[i-1][k] + fabs(a[ i ][ j ]-a[i-1][k]) ; dp[i][j]代表的 ...

  7. HDU 4540 威威猫系列故事——打地鼠

    威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Su ...

  8. hdu 4523 威威猫系列故事——过生日 小模拟

    威威猫系列故事——过生日 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  9. hdu 4540 威威猫系列故事——打地鼠 dp小水题

    威威猫系列故事——打地鼠 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

随机推荐

  1. TComboBoxEx和 TComboBox

    // TComboBoxEx cbbCity: TComboBoxEx; item: TComboExItem; cbbCity.ItemsEx.Clear; //清空 cbbProv.itemInd ...

  2. 同步、更新、下载Android Source & SDK from 国内镜像站(转载)

    同步.更新.下载Android Source & SDK from 国内镜像站 转自: 同步.更新.下载Android Source & SDK from 国内镜像站 Download ...

  3. Session和Cache的区别

    以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application.其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息.Session则保存 ...

  4. [MySQL] Stored Procedures 【转载】

    Stored routines (procedures and functions) can be particularly useful in certain situations: When mu ...

  5. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  6. oracle[insert 时报错: 单行子查询返回多行]

    -- 错误的写法 insert into t_b_partner_vehicle(id, partner_id, vehicle_id) (seq_t_b_partner_vehicle.nextva ...

  7. centos7 最小化安装没有ifconfig及修改网卡名enoxxx为ethX

    问题: 1.最小化安装centos7后发现无ifconfig命令 想通过ifconfig查看ip地址发现ifconfig命令不存在,可通过命令 #ip addr       //查看ip 或者 解决: ...

  8. virtualenv

    问题:python开发过程中,需要安装各类依赖 逐个安装依赖,操作复杂,并可能会出现版本不一致的问题 解决:virtualenv可以有效解决上述问题 使用方法: 安装: pip install vir ...

  9. 关于java建立的的包import的问题

    之前修改classpath后,import自己写的包,用IDEA运行一直不通过,现在还没解决.... 是classpath修改不对,还是IDEA的问题? 哎,没有解决,只是在同一目录下才能用 不再纠结 ...

  10. InnoDB杂记

    一.InnoDB写数据流程(猜想) myisam是将索引放入内存缓存(Key Cache,大小有key_buffer_size设置) innodb时间索引和数据文件都放入内存缓存池(Buffer Po ...