首页 > 其他分享 >皇后游戏 题解

皇后游戏 题解

时间:2023-04-29 20:56:51浏览次数:51  
标签:begin le end 游戏 题解 right 大臣 bmatrix 皇后

luogu P2123

题目描述

皇后有 \(n\) 位大臣,每位大臣的左右手上面分别写上了一个正整数。恰逢国庆节来临,皇后决定为 \(n\) 位大臣颁发奖金,其中第 \(i\) 位大臣所获得的奖金数目为第 \(i-1\) 位大臣所获得奖金数目与前 \(i\) 位大臣左手上的数的和的较大值再加上第 \(i\) 位大臣右手上的数。

形式化地讲:我们设第 \(i\) 位大臣左手上的正整数为 \(a_i\),右手上的正整数为 \(b_i\),则第 \(i\) 位大臣获得的奖金数目为 \(c_i\) 可以表达为:

\[c_i = \left\{ \begin{array}{lc} a_1+b_1&,i=1 \\ \max\left\{c_{i-1},\sum\limits_{j=1}^{i}a_j\right\}+b_i &,2\le i\le n \end{array} \right. \]

当然,吝啬的皇后并不希望太多的奖金被发给大臣,所以她想请你来重新安排一下队伍的顺序,使得获得奖金最多的大臣,所获奖金数目尽可能的少。

注意:重新安排队伍并不意味着一定要打乱顺序,我们允许不改变任何一位大臣的位置。

解法

考虑邻项交换法.

对相邻两大臣 \(k\), \(k+1\),记 \(n_{0}\) 为 \(\sum\limits_{j=0}^{k-1}a_{j}\),\(n_{1}=a_k\),\(n_2=a_{k+1}\),\(m_1=b_k\),\(m_2=b_{k-1}\).

不难发现,交换后更优的充要条件是

\[\max\left\{ n_2+m_1+m_2, n_1+n_2+m_1 \right\} \gt \max\left\{ n_1+m_2+m_1, n_2+n_1+m_2 \right\} \]

然而,直接这样会被毒瘤dalao ouuan 成 80 pts(本来就是错解

看完别人的题解后发现不满足严格弱序(不可比性的传递性)

注意到果然我没什么注意力不可比的充要条件是在 \(\begin{bmatrix}a&b\\c&d\end{bmatrix}\) 中 \(a=c\le b,d\),且 \(\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}n_1 & n_2 \\ m_1 & m_2\end{bmatrix}\) 旋转整数个 \(\dfrac\pi2\),翻译成人话就是最小两数相等且相邻.

又注意到 \(a=b\) 时(\(c=d\) 同理)满足不可比性的传递性,因此问题只会出在 \(a=b\) 上.

考虑 \(a=b\le c,d\),此时不可比;而对于一组大于 \(c,d\) 的 \(a,b\),比出的结果与 \(c>d\) 相同.于是,我们可以仿照它,令 \(a=b \le c,d\) 时结果为 \(c>d\),完美AC.

另外,也可以令 \(a=b \le c,d\) 时将 \(a,b\) 一组放到前面去,此时要注意 \(a=b=c=d\) 时仍不可比,这样也可AC.

标签:begin,le,end,游戏,题解,right,大臣,bmatrix,皇后
From: https://www.cnblogs.com/x383494/p/17364464.html

相关文章

  • 题解
    D.RangeandPartition1800思维https://codeforces.com/contest/1631/problem/D题解:由于严格大于,故其最终前缀和s[n]>=k,而当s[n]>=k,s[0]=0,每步至多下降1,故其中必有至少k个点满足s[i]=x(1<=x<=k),故符合题意,故只需双指针找出最小的满足题意的区间即可。#include<bits/stdc++......
  • 4 月 27 日测试题解
    4月27日测试题解最短路专场T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出\(m\)个变量与\(n\)个约束,每个约束形如以下三种中的一种;\(x_i-x_j\lew\)\(x_i-x_j\gew\)\(x_i-x_j=w\)有\(q\)个询问,每个询问为形如\((x_i,x_j)\)的二元......
  • 4 月 21 日测试题解
    4月21日测试题解T1\({\color{green}{\text{100pts}}}\text{/100pts}\)题意给出平面上的两条线段,求线段之间的距离。\(\text{|线段端点坐标|}\le10^4\)。思路一开始想的是分讨,但是又怕自己写挂了,所以就写了三分套三分。至少这个不怕少讨论一个情况。既然是三分套三分,......
  • 问题解决:Component name "xxx" should always be multi-word vue/multi-word-compone
    如题,原因是单个单词命名时语法检测无法通过,可以在导出组件时通过name属性给组件名加一个后缀,比如Component。<script>exportdefault{//当组件名为一个单词时,语法检查是无法通过的,可以设置name的值为2个单词来规避检查。name:'HomeComponent'}<......
  • IdentityServer4 问题解决
    RedirectUris={"https://localhost:7098/signin-oidc"},PostLogoutRedirectUris={"https://localhost:7098/signout-callback-oidc"},服务端添加这个 RequirePkce=false,添加这一句......
  • open3d Reconstruction system 问题解决
    1.https://github.com/luckyluckydadada/Azure-Kinect-DK-3D-reconstruction 2.open3d版本:0.14.10.16.00.17.0会报错:open3d.cuda.pybind.piplines.odommetry.OdomtryOptionbojecthasnoattribute'max_depth_diff' 3.结果问题一:    根据......
  • [P4145 上帝造题的七分钟 2 / 花神游历各国]题解
    P4145上帝造题的七分钟2/花神游历各国题目描述分析一开始在思考有没有一个数学公式来处理每一个开方的操作但发现数据的\(\le10^{12}\)那么最多开六次就变成1了(突破口)这样每一个数的有用操作只有6次其他就全部是1很显然,我们可以去记录每一段是否全为1再用线段树、分......
  • CodeForces-858#C 题解
    正文♦最坏时间复杂度:\(\mathcal{O}(\lvertS\rvert)\)本题十分简单,但请注意两个条件要同时满足。因为要求分割的次数越少越好,所以只要连续的辅音字母长度不大于2就不需要分割。由于辅音字母太多,只需要标记元音字母即可。#include<iostream>#include<string>#include<cst......
  • 【题解】P3920 [WC2014]紫荆花之恋
    思路点分树+根号重构+*高速平衡树。点分树的两种常见用法无非是直接做和路径有关的暴力还有处理这种有关单点和整树的问题,后者的另一个经典题目是P3241[HNOI2015]开店。回到这个题目,处理路径考虑先上点分治,暂时不考虑强制在线的限制。因为每次加上一个新点,所以可以考......
  • CF1656F Parametric MST 题解
    为了便于解题,先对\(a\)数组从小到大进行排序。首先,根据定义可以得出总价值的表达式:\[\begin{aligned}W&=\sum\limits_{(u,v)\inE}[a_ua_v+t(a_u+a_v)]\\&=\sum\limits_{(u,v)\inE}a_ua_v+t\sum\limits_{(u,v)\inE}(a_u+a_v)\end{aligned}\]接着,我们需要发现一个比较......