首页 > 其他分享 >二十二 1388. 游戏 (区间DP|博弈论)

二十二 1388. 游戏 (区间DP|博弈论)

时间:2024-03-30 12:13:35浏览次数:28  
标签:int sum 博弈论 private static 1388 DP

388. 游戏 (区间DP|博弈论)
image

思路:在最坏情况下考虑问题,每个人都选择对自己有利的情况,dp[i][j]指的是对方获得的分差,分值总和固定为sum,因此我方方差越大,对方的分值就越小。最后A+B=sum,A-B=diff。

import java.util.*;


public class Main {
    private static int N, sum, diff;
    private static int[] g;
    private static int[][] dp;
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();
        sum = 0;
        g = new int[N + 1];
        for (int i = 1; i <= N; i++) {
            g[i] = sc.nextInt();
            sum += g[i];
        }
        dp = new int[N + 2][N + 2];
        for (int len = 1; len <= N; len++) {
            for (int i = 1; i + len - 1 <= N; i++) {
                int j = i + len - 1;
                dp[i][j] = Math.max(g[i] - dp[i + 1][j], g[j] - dp[i][j - 1]);
            }
        }
        diff = dp[1][N];
        System.out.println((sum + diff) / 2 + " " + (sum - diff) / 2);
    }
}

标签:int,sum,博弈论,private,static,1388,DP
From: https://www.cnblogs.com/he0707/p/18105311/lanqiaobei22

相关文章

  • NVIDIA一直宣传的DPU是个啥东西,啥用处? —— NVIDIA BlueField-3 DPU
    地址:https://www.bilibili.com/video/BV1ys4y1z7nS/?spm_id_from=333.788.recommend_more_video.3&vd_source=f1d0f27367a99104c397918f0cf362b7无意间看到了一个比较靠谱的解释:(来自地址:https://www.bilibili.com/video/BV1ys4y1z7nS/)......
  • R语言dplyr包near函数查看向量对应元素是否相同或者相近实战
    R语言dplyr包near函数查看向量对应元素是否相同或者相近实战目录R语言dplyr包near函数查看向量对应元素是否相同或者相近实战#......
  • wordpress 折腾记
    今天我看到一篇个人博客,我想建个人网站的心又动了。虽说博客园已经很符合我的预期了,但我还是一直很想做一个个人网站做一些个性化的东西,今天试试用用wordpress搭建一个wordpress网站介绍wordpress的基本概念post--博客page类似于404.htmlcatary类似菜单栏。文件夹wor......
  • 【力扣】300. 最长递增子序列(DFS+DP两种方法实现)
    目录题目传送最长递增子序列[DFS方法]DFS方法思路图思路简述代码大家可以自行考虑有没有优化的方法最长递增子序列[DP]方法DP方法思路图思路简述代码方案题目传送原题目链接最长递增子序列[DFS方法]DFS方法思路图思路简述对于序列中的每一个数字只有选择......
  • UDP服务器广播+实现跨网段通讯
    UDP协议简介:        UDP为应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法;由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。UDP与TCP协议一样使用"IP地址+端口号"区分主机不同......
  • 宝塔面板wordpress博客站添加SSL后页面混乱解决方法
    使用http://协议打开任何页面时,所有内容都会正确加载,但是添加SSL证书后尝试使用https协议加载页面时,网站排版混乱,有些样式并未加载控制台会报错,这是因为网站中的一些资源,如图像、样式表或脚本,是通过不安全的HTTP连接访问的,当我们用https访问时,这些文件无法正常加载导致文件不......
  • android小球(二)——用户数据缓存详解SharedPreferences
    SharedPreferences概述SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了String,set,int,long,float,boolean六种数据类型。使用SharedPreferences进行存储的数据是存放在一个XML文件中的,同时它的存储方式是是以key-value的形式,key对应......
  • 一类哈密顿路径/回路为背景的状压dp
    https://codeforces.com/contest/1950/problem/G在非连通图上找到一条包含点最多的路径,dp数组维护可达性//Problem:G.ShufflingSongs//Contest:Codeforces-CodeforcesRound937(Div.4)//URL:https://codeforces.com/contest/1950/problem/G//MemoryLimit:256......
  • 牛客竞赛动态规划专题班数位dp例题
    题单A-0的个数这题算是一个思维题。我的做法是就是统计每一位的0有多少个。例如\(4032\)个位的零有\(403\)种十位的零有\(40*10\)种百位的零有\(3*100+33\)种,即千位去\([1,3]\)个位低两位取\([00,99]\),或者千位取\(4\)低两位取\([00,33]\)千位不能取零#include<......
  • 动态规划 选择dp:多重背包+多重背包puls----中专生刷算法
    不了解动态规划和选择dp的同学先看一下这两篇文章动态规划:选择dp及优化01背包问题-CSDN博客动态规划:完全背包问题----中专生刷算法-CSDN博客然后我们来做题普通题+进阶题,图文详解,化零为整的解决多重背包puls问题!!!多重背包输入格式输出格式输出一个整数,表示最......