D. Two out of Three

设fi,jf_{i,j}fi,j​表示为当前队伍开头的两个人是i,ji,ji,j时最小代价,分析可知本轮可以选择的方案有

记忆化搜索记录即可。
LCGUO题解

#include<bits/stdc++.h>using namespace std;constexpr int N=1010;
int n;
int a[N],f[N][N];
int dfs(int x,int y)
{if(f[x][y]) return f[x][y];if(y==n+1) return f[x][y]=a[x];if(y==n) return f[x][y]=max(a[x],a[y]);f[x][y]=max(a[x],a[y])+dfs(y+1,y+2);f[x][y]=min(f[x][y],max(a[x],a[y+1])+dfs(y,y+2));f[x][y]=min(f[x][y],max(a[y],a[y+1])+dfs(x,y+2));return f[x][y];
}
void print(int x,int y)
{if(y==n+1) return cout<<x<<'\n',void();if(y==n) return cout<<x<<' '<<y<<'\n',void();if(f[x][y]==max(a[x],a[y])+f[y+1][y+2])cout<<x<<' '<<y<<'\n',print(y+1,y+2);else if(f[x][y]==max(a[x],a[y+1])+f[y][y+2])cout<<x<<' '<<y+1<<'\n',print(y,y+2);else if(f[x][y]==max(a[y],a[y+1])+f[x][y+2])cout<<y<<' '<<y+1<<'\n',print(x,y+2);}
int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cin>>n;for(int i=1;i<=n;i++) cin>>a[i];cout<<dfs(1,2)<<'\n';print(1,2);return 0;
}

codeforces82 D. Two out of Three(记忆化搜索)相关推荐

  1. 洛谷P1057 传球游戏(记忆化搜索)

    点我进入题目 题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩. 输入输出:输入n,m,输出路径的数量. 数据范围:4 ...

  2. 图论 ---- F. Graph Traveler 记忆化搜索 + 思维预处理(数论同余恒等式)

    题目链接 题目大意: q∈[1,1e5],n∈[1,1000],mi∈[1,10]q\in[1,1e5],n\in[1,1000],m_i\in[1,10]q∈[1,1e5],n∈[1,1000],m ...

  3. 思维dp ---- Codeforces Round #711 (Div. 2) - C. Planar Reflections[dp/记忆化搜索]

    题目链接 题目大意: 就是给你n个平面和一个寿命为k的衰变粒子.开始粒子从左向右飞行,粒子每经过一个平面就会产生一个副本粒子,这个副本粒子比原粒子的寿命少1,即为k-1,并且飞行方向是原粒子的反方向. ...

  4. Discovering Gold LightOJ - 1030[概率dp或者记忆化搜索]

    题目大意:有一个[1,n][1,n][1,n]的数轴,数轴上的每个对应位置上都有金矿,你初始位置是1,然后你每次都会投色子决定你下一步跳到哪里,如果你跳出了nnn,那么你就要重新投.问你跳到nnn的时 ...

  5. BZOJ 1589 Trick or Treat on the Farm (tarjan缩点,记忆化搜索)[Usaco 2008 Dec Gold]【BZOJ计划】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Weblink https://hydro.ac/d/bzoj/p/1589 Problem 每年万圣 ...

  6. UVA437 巴比伦塔 The Tower of Babylon(矩形嵌套进阶版、DAG上DP、记忆化搜索)

    整理的算法模板合集: ACM模板 本题和基础的矩形覆盖差不多,只不过变成了三维的长方形. 因为每次转移的时候只有顶面的x和y会影响决策的进行,所以我们只需要用一个二元组(a,b)(a, b)(a,b) ...

  7. [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)

    P1434 [SHOI2002]滑雪 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你 ...

  8. hdu 4722(记忆化搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 思路:简单的记忆化搜索,留意一下A==0时的情况就可以了. 1 #include<iost ...

  9. poj 1085 Triangle War 博弈论+记忆化搜索

    思路:总共有18条边,9个三角形. 极大极小化搜索+剪枝比较慢,所以用记忆化搜索!! 用state存放当前的加边后的状态,并判断是否构成三角形,找出最优解. 代码如下: 1 #include<i ...

最新文章

  1. xp系统的计算机管理中用户在哪里,XP系统设备管理器中一片空白怎么修复?
  2. Python学习之路1 - 基础入门
  3. .Net线程问题解答
  4. bim建筑绘图计算机要求,BIM考试报名条件:想要成为一级BIM建模师需要达到哪些要求?...
  5. (转)Kafka 消费者 Java 实现
  6. 标称型数据和数值型数据_统计信息中的数据类型-标称,有序,间隔和比率数据类型,并举例说明
  7. Win11掉帧严重是怎么回事?Win11玩游戏掉帧的解决方法
  8. keras用cpu加速_GPU训练加速原理(附KerasGPU训练技巧)
  9. python--综合小案例--文件读取以及梳理
  10. 操作系统-UNIX三级索引技术
  11. python 输入一个整数,将该整数逆向输出
  12. 揭秘 Win8 电脑 OEM 分区创建
  13. AR Engine光照估计能力,让虚拟物体在现实世界更具真实感
  14. 使用Openssl签发SSL证书
  15. Python爬虫《自动化学报》数据爬取与数据分析
  16. layui tab用法大全,一键复制粘贴即可使用
  17. zbb20170811 linux 给用户授予文件夹权限
  18. 关于cloudreve在线播放视频没有声音的问题
  19. 如何彻底关闭windows10自动更新,禁用Windows Update
  20. 如何让系统加载自己写的驱动程序?

热门文章

  1. linux自动跑批,在linux中添加硬盘并在系统启动时自动挂载
  2. linux级别3怎么配置DNS,Linux下DNS服务器配置详解
  3. jodconverter水印java,OpenOffice实现Office转Pdf(支持自定义添加水印、页眉、页脚)
  4. mysql+误操作怎么恢复_MySQL 误操作后如何快速恢复数据
  5. html5 获取文件属性,H5新属性--file文件读取
  6. mysql函数保留小数_MySql自定义函数-关于保留小数位的特殊需求
  7. php去掉查询返回的字段序列,php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回...
  8. 杂牌手柄模拟xboxone手柄_手机就能玩Switch游戏,蛋蛋模拟器+盖世小鸡X2手柄体验...
  9. excel同一单元格怎么换行_excel表格内怎么换行 方法有两种 一看就会 新手教程...
  10. java并发之synchronized实现原理及其优化