题目:https://www.luogu.org/problemnew/show/P1541

以用了几张牌为阶段。注意知道了用了4种牌各几张后,当前位置就是确定的,所以不用记录什么的。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=45,M=355;
int n,m,lm[5],a[M],dp[N][N][N][N],ans;
int rdn()
{int ret=0;bool fx=1;char ch=getchar();while(ch>'9'||ch<'0'){if(ch=='-')fx=0;ch=getchar();}while(ch>='0'&&ch<='9') ret=(ret<<3)+(ret<<1)+ch-'0',ch=getchar();return fx?ret:-ret;
}
int main()
{n=rdn(); m=rdn();for(int i=0;i<n;i++) a[i]=rdn();n--;for(int i=1,d;i<=m;i++){d=rdn(); lm[d]++;}dp[0][0][0][0]=a[0];for(int t=1;t<=m;t++)for(int i=0;i<=lm[1];i++)for(int j=0;j<=lm[2]&&j<=t-i;j++)for(int k=0;k<=lm[3]&&k<=t-i-j;k++){int l=t-i-j-k,d=i+(j<<1)+k*3+(l<<2);if(d>n)continue;int ret=0;if(i)ret=max(ret,dp[i-1][j][k][l]);if(j)ret=max(ret,dp[i][j-1][k][l]);if(k)ret=max(ret,dp[i][j][k-1][l]);if(l)ret=max(ret,dp[i][j][k][l-1]);dp[i][j][k][l]=ret+a[d];if(d==n)ans=max(ans,dp[i][j][k][l]);}printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/Narh/p/9757318.html

洛谷 1541 乌龟棋——dp相关推荐

  1. 洛谷 1541 乌龟棋

    看题 这显然是一道线性的dp 如何设计状态呢? 看看题目,总共只有4张牌,而且每张牌的个数不超过40 于是状态就很好设计了 方程如下 dp[i][j][k][l]=max(dp[i-1][j][k][ ...

  2. 洛谷P1541 乌龟棋

    原题传送门 一道比较简单易懂的线性DP题: 设状态dp[a][b][c][d]表示使用数量分别为a, b, c, d张的不同的牌 num数组存储每一个位置的分值 r = a + b * 2 + c * ...

  3. CJOJ 1087 【NOIP2010】乌龟棋 / Luogu 1541 乌龟棋(动态规划)

    CJOJ 1087 [NOIP2010]乌龟棋 / Luogu 1541 乌龟棋(动态规划) Description 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 乌龟棋的棋盘是一行N个格子,每个 ...

  4. 洛谷--橙色百道DP总结

    最近刷完了洛谷橙色DP大约一百道,算是发现了一些套路,就部分题目做一些总结. 大概分为三类 第一类,九大背包及其衍生 第二类,经典DP模型,如LCS,LIS等 第三类,实际问题背景的普通,环形,树上D ...

  5. Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp

    cf传送门 P3643 [APIO2016]划艇 文章目录 题意: 思路: 题意: aia_iai​在[li,ri][l_i,r_i][li​,ri​]等概率随机选一个数,求aaa数组不增的概率. 思 ...

  6. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买".每次你购买一支股 ...

  7. 洛谷P1244 青蛙过河 DP/思路

    又是一道奇奇怪怪的DP(其实是思路题). 原文戳>>https://www.luogu.org/problem/show?pid=1244<< 这题的意思给的挺模糊,需要一定的 ...

  8. 洛谷 P2657 (数位DP)

    ### 洛谷 P2657 题目链接 ### 题目大意:给你一个数的范围 [A,B] ,问你这段区间内,有几个数满足如下条件: 1.两个相邻数位上的数的差值至少为 2 . 2.不包含前导零. 很简单的数 ...

  9. 洛谷 Golden Sword(dp,优先队列优化【含板子】)|| 补充练习:洛谷 跳房子

    题目链接: 「SWTR-03」Golden Sword - 洛谷 思路: 设表示放第i个原料,锅里共有 j 个时的耐久度之和. 容易知道dp方程为,其中 这样就可以写出暴力dp的代码如下:(需要枚举i ...

最新文章

  1. you need python_Life is short,you need Python——Python序列(列表)
  2. 从飞天到倚天 阿里云底层自研技术大爆发
  3. 原生js实现发短信~chat
  4. ISQL文件夹,目前唯一解决办法就是sa密码设置为复杂点的,开机密码设置成复杂点的。...
  5. Linux chkconfig命令详解
  6. 高斯过程回归(GPR)—— 数学推导
  7. hibernate继承关系映射方法(三)--每个具体类一张表TPC
  8. do filtering will real delete note in DB
  9. Oracle入门(一)之入门级知识详解
  10. linux man 后面的数字,man命令后面的数字
  11. 如何为curl命令添加数据?
  12. Open3d之点云体素下采样
  13. db2 程序连接字符串
  14. java与python结合使用_Java与Python使用grpc跨平台调用
  15. Scrapy基础(八)————图片下载后将本地路径添加到Item中
  16. 类似MSN的消息提示
  17. 中石油职称计算机试题,中石油职称计算机水平考试复习题库22-职称计算机考试其它试卷与试题.pdf...
  18. 万亿级大数据监控平台建设实践
  19. Radius认证有线与无线网络(一)
  20. 技术日记2021/2/12 “牛气飞天”恶作剧

热门文章

  1. kingdee kis
  2. [Python学习25] 关于函数更多的练习
  3. 微信公共开发人员文档 阅读笔记
  4. html页面乱码问题
  5. Linux内核第二节
  6. $.ajax 简单记录
  7. (林雷看来13):功能优先,发展和重建同步,业绩后
  8. Lua5.2中的全局环境
  9. Adobe Indesign怎么让图片衬于文字下方?
  10. 出去转了一转,便利店......