Voracious Steve

题目连接:

http://codeforces.com/gym/100231/attachments

Description

有两个人在玩一个游戏

有一个盆子里面有n个甜甜圈,A先开始,他可以抓[1,min(m,n)]颗甜甜圈,然后B开始,同样,可以抓[1,min(n,m)]个甜甜圈

谁抓完的,就可以把自己抓的吃完,然后另外一个人就把他的甜甜圈扔进去,然后由失败的那个人开始

问你第一个人最多能吃到多少个甜甜圈

Input

2个整数 n,m

表示一开始有n个甜甜圈,一次最多抓m个

Output

输出第一个人最多吃多少个甜甜圈

Sample Input

5 3

Sample Output

2

Hint

题意

题解:

记忆化搜索,dp[n][x][y]表示中间有n个甜甜圈,第一个人有x个,第二个人有y个的最优值

然后一直搜下去就好了

代码

#include<bits/stdc++.h>
using namespace std; int dp[105][105][105];
int n,m;
int dfs(int n,int x,int y)//还有n个,我身上有x个,他身上有y个我能吃的最大值
{
if(dp[n][x][y]>=0)return dp[n][x][y];
for(int i=1;i<=m&&i<=n;i++)
{
int sp = n+x+y;
if(i==n)sp-=dfs(y,0,0);
else sp-=dfs(n-i,y,x+i);
dp[n][x][y]=max(dp[n][x][y],sp);
}
return dp[n][x][y];
} int main()
{
memset(dp,-1,sizeof(dp));
scanf("%d%d",&n,&m);
dp[0][0][0]=0;
cout<<dfs(n,0,0)<<endl;
}

Codeforces Gym 100231G Voracious Steve 记忆化搜索的更多相关文章

  1. Codeforces 900D Unusual Sequences:记忆化搜索

    题目链接:http://codeforces.com/problemset/problem/900/D 题意: 给定x,y,问你有多少个数列a满足gcd(a[i]) = x 且 ∑(a[i]) = y ...

  2. GYM 101933E 状态压缩 + 记忆化搜索

    题意:我方有n个士兵,敌方有m个,每方士兵都有一个血量,现在有k轮无差别炮火打击,每次都会从存活的士兵中随机选一人,这名士兵的HP就-1,问对方被团灭的概率有多大? 思路:因为n和m的范围很小,我们可 ...

  3. Codeforces 1079C Playing Piano(记忆化搜索)

    题目链接:Playing Piano 题意:给定长度为n的序列$a_i$,要求得到同样长度的序列$b_i$.满足一下条件: if $a_i < a_{i+1}$ then $b_i < b ...

  4. Codeforces 251C Number Transformation DP, 记忆化搜索,LCM,广搜

    题意及思路:https://blog.csdn.net/bossup/article/details/37076965 代码: #include <bits/stdc++.h> #defi ...

  5. Codeforces Gym 191033 E. Explosion Exploit (记忆化搜索+状压)

    E. Explosion Exploit time limit per test 2.0 s memory limit per test 256 MB input standard input out ...

  6. CodeForces 173C Spiral Maximum 记忆化搜索 滚动数组优化

    Spiral Maximum 题目连接: http://codeforces.com/problemset/problem/173/C Description Let's consider a k × ...

  7. Codeforces Round #336 (Div. 2) D. Zuma 记忆化搜索

    D. Zuma 题目连接: http://www.codeforces.com/contest/608/problem/D Description Genos recently installed t ...

  8. Educational Codeforces Round 1 E. Chocolate Bar 记忆化搜索

    E. Chocolate Bar Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/598/prob ...

  9. CodeForces 398B 概率DP 记忆化搜索

    题目:http://codeforces.com/contest/398/problem/B 有点似曾相识的感觉,记忆中上次那个跟这个相似的 我是用了 暴力搜索过掉的,今天这个肯定不行了,dp方程想了 ...

随机推荐

  1. 开源Math.NET基础数学类库使用(11)C#计算相关系数

    阅读目录 前言 1.Math.NET计算相关系数的类 2.Correlation的实现 3.使用案例 4.资源                本博客所有文章分类的总目录:[总目录]本博客博文总目录-实 ...

  2. Gridview点击Edit编辑未update和cancel后的问题

    在使用GridView时无意中发现一个问题: 第一步:点击列表中的某一行的"Edit"(例如第一行数据), 第二步:点击下一页,于是在下一页数据加载完成后就会看到对应的行(与第一步 ...

  3. 10、NFC技术:读写NFC标签中的文本数据

    代码实现过程如下: 读写NFC标签的纯文本数据.java import java.nio.charset.Charset; import java.util.Locale; import androi ...

  4. Java核心 --- 泛型

    CoreJava 泛型 java泛型的出现避免了强制类型转换,便于代码更好的被阅读 本文的写作参照了张孝祥的泛型介绍:http://www.itcast.cn/news/dbfd20f1/f4b1/4 ...

  5. Intellij IDEA开发第一个Android应用

    1.创建一个项目 File——>New Project——>.......——>Finish 2.创建模块 3.MyActivity.java package com.example ...

  6. PHP强大的内置filter (一)

    <?php #PHP内置的validate filter $input_data = True; $result = filter_var($input_data,FILTER_VALIDATE ...

  7. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器

    #webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...

  8. Android签名用keytool和jarsigner制作apk文件

    生成证书 keytool -genkey -alias aeo_android.keystore -keyalg RSA -validity -keystore aeo_android.keystor ...

  9. jquery让一个点击事件刷新页面就自己执行一次的方法

    $('name')这个元素之前已经绑定过事件啦,(on绑定)然后直接调用下即可: $('name').click();

  10. 【OpenOffice+swftools】在线预览环境的搭建和xpdf中文包的配置

    [环境参数] Host:Win7 64bit VMware:VMware Workstation11.1.0 Client OS:CentOS release 6.5 (Final) 2.6.32-4 ...