首页 > 其他分享 >C. Card Game

C. Card Game

时间:2024-07-24 17:42:38浏览次数:8  
标签:ll 位置 偶数 Game place 如果 末尾 Card

原题链接

题解

性质:取奇数位置相加,取偶数位置不相加

经过若干次实验,可以得到删除第 \(i\) 个数,对 \([1,i-1]\) 个数的奇偶性不造成影响

因此,我们试着从最末尾开始删 (无后效性)

  • 如果末尾是负数,不用管

  • 如果末尾是正数,如果是奇数位置,直接相加

  • 如果末尾是正数,如果是偶数位置,如果前面取一个数,那么这个位置还是能取得到的(改变奇偶性)

所以只要考虑第一位正整数就好了

  • 如果第一位正整数在奇数位置,那么可以取

  • 如果在偶数位置,看看前面有没有偶数位置的负数

  • 如果没有,看看前面最大的负数多少

code

#include<bits/stdc++.h>
#define ll long long
using namespace std;

ll a[200005];

void solve()
{
    int n;
    cin>>n;

    ll sum=0;
    ll place=n+1;
    ll maxs=-2e9;
    for(ll i=1;i<=n;i++)
    {
        cin>>a[i];
        if(a[i]>0)
        {
            place=min(place,i);
            sum+=a[i];
        }
        else if(i<place)
        {
            if(i&1) maxs=max(maxs,a[i]);
            else maxs=0;
        }
    }


    if(place>n) cout<<0<<'\n';
    else if(place&1) cout<<sum<<'\n';
    else if(place>2) cout<<sum<<'\n';
    else cout<<max(sum+a[1],sum-a[place])<<'\n';
}
int main()
{
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int t=1;
    cin>>t;
    while(t--) solve();
    return 0;
}

标签:ll,位置,偶数,Game,place,如果,末尾,Card
From: https://www.cnblogs.com/pure4knowledge/p/18321378

相关文章

  • 2024牛客多校3J Rigged Games
    欢迎来我的博客看这篇题解!Problem在两人竞技比赛中,对于任何正整数\(a\),我们定义\(BO(2a-1)\)如下:两名玩家继续竞争,直到其中一人获胜\(a\)次,那么他赢得整个比赛。\(BO(2a-1)\)最多包含\(2a-1\)小局游戏,最少包含\(a\)小局游戏。现在两个人进行一场DotA2比赛,使用的......
  • 使用 pygbag 将 pygame 游戏导出到网络时出现奇怪的错误
    最近我一直在开发一个游戏,我正在使用pygbag将其转换为HTML,以便可以在网络浏览器上玩。当我构建python文件并运行它们时,游戏按预期运行。但是,当我在命令行中使用pygbag命令,然后转到localhost:8000(临时发布游戏的开发端口)时,音频可以工作,但我遇到了黑屏。我转到......
  • 题解:CF1992F Valuable Cards
    Part1:前言题目翻译在他最喜欢的咖啡馆里,Kmes再次想尝尝皮草大衣下的鲱鱼。以前,这对他来说并不难,但咖啡馆最近推出了一项新的购买政策。现在,为了进行购买,Kmes需要解决以下问题:在他面前摆放着\(n\)张不同价格的卡,第\(i\)张卡的价格为\(a_i\),在这些价格中没有整数\(x\)。K......
  • SubScene不是Scene,是GameObject
    有人问我如何通过Editor代码往SubScene里面加东西?说在Scene相关的类里面都没有找到合适的函数。找不到就对了,因为SubScene不是Scene,是GameObject。可以试试这样的操作:建立一个GameObject给这个GameObject添加一个叫SubScene的脚本在脚本的SceneAsset中,选择一个之前保存过的......
  • 使用Python和Pygame创建简单的音乐播放器
    在本篇博客中,我们将探讨如何使用Python编写一个简单的音乐播放器,并通过Pygame库实现音乐的播放和控制。我们将逐步介绍代码的功能和实现原理,以便读者能够了解每个部分的作用和如何在自己的项目中应用类似的技术。介绍音乐播放器是日常生活中常见的应用程序之一,它允许我们播放......
  • 《Epic Games》启动显示找不到xinput1_3.dll怎么处理,Epic游戏平台提示缺失xinput1_3.d
    在通过EpicGames平台尽情畅玩各类精彩游戏的过程中,有部分玩家或许会不幸遭遇“找不到xinput1_3.dll”或者“xinput1_3.dll缺失”这样的错误提示。由此导致游戏无法顺利启动。这类问题的根源在于系统中缺少了一个被称作“xinput1_3.dll”的关键重要动态链接库文件,直接对游戏的......
  • P3041 [USACO12JAN] Video Game G 题解 AC自动机
    本题是一道AC自动机上的dp。首先不难想到状态定义f(i,j)表示仅考虑前i 个位置,第i 个字符是j 的分数,但无法转移,所以考虑将j这一维转化为表示AC自动机上的点。再定义val(i)表示以i 结尾的所有技能种数,则转移方程为f(i,j)=max(f(i,j),f(i-1,father(j)+val(j......
  • 2024牛客2I Red Playing Cards
    本文同步于我的博客。ProblemThereare\(2\cdotn\)cardsarrangedinarow,witheachcardnumberedfrom\(1\)to\(n\)havingexactly2copies.Eachtime,Redcanchooseasubarrayofconsecutivecards(atleast\(2\)cards)toremovefromthedeck.The......
  • C. Game on Permutation
    原题链接code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;voidsolve(){intn;cin>>n;vector<int>p(n+4);for(inti=1;i<=n;i++)cin>>p[i];set<int>lose,win;//lose表示先移动必输的点f......
  • C. Salyg1n and the MEX Game
    原题链接题解在bob操作之后,alice可以选一个与bob一样的数补充,因此,最后的s为初始s加初始alice添加的元素,所以alice第一次要添加mex初始scode#include<bits/stdc++.h>#definelllonglongusingnamespacestd;inta[100005];voidsolve(){intn;cin>>n;......