首页 > 其他分享 >E2. Game with Marbles (Hard Version)

E2. Game with Marbles (Hard Version)

时间:2023-12-20 19:23:30浏览次数:33  
标签:200005 int ll Hard 值大 Game Version sum unit

原题链接

导论,有点博弈论的感觉?

每个人轮流选一个大家都有的球,然后自己扣一个球,对方扣完。问女生剩下的球减去男生剩下的球,最大值是多少?

一些条件

1.初始每个人每种球都有
2.女生想使答案值大一点,男生想使答案值小一点,换句话说,女生想使\(A\)值大一点,男生想使\(B\)值大一点,每个人都尽量多扣对面的球,多保留自己的球。
3.如果选择扣掉对面的球 \(i\),那么自己的球 \(i\) 将会得到保留。

总述

每个人选择的最优策略是选择 \(a[i]+b[i]\) 最大的那个。

代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a[200005]={0};
ll b[200005]={0};
struct unit
{
    int v;
    int id;
}sum[200005];
bool cmp(unit x,unit y)
{
    return x.v>y.v;
}
int main()
{
    ll t;
    cin>>t;
    while(t--)
    {
        ll n;
        cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i];
        for(int i=1;i<=n;i++)
        {
            cin>>b[i];
            sum[i].v=a[i]+b[i];//又要扣除,又要保留
            sum[i].id=i;
        }
        sort(sum+1,sum+n+1,cmp);
        ll who=0;
        for(int i=1;i<=n;i++)
        {
            int index=sum[i].id;
            if(who==0)
            {
                a[index]--;
                b[index]=0;
            }
            else
            {
                a[index]=0;
                b[index]--;
            }
            who=1-who;
        }
        ll ans=0;
        for(int i=1;i<=n;i++)ans=ans+a[i]-b[i];
        printf("%lld\n",ans);
    }
    return 0;
}

标签:200005,int,ll,Hard,值大,Game,Version,sum,unit
From: https://www.cnblogs.com/pure4knowledge/p/17917297.html

相关文章

  • Candy Party (Hard Version) 题解
    原题链接:CF1868B2,简单版:CF1868B1。题意有\(n\)个人,第\(i\)个人手上最初有\(a_{i}\)颗糖。现在每个人可以把自己手中的糖选一些给不多于一个人,同时每个人也只能接受不多于一个人的糖,选出的糖的数量必须是二的次幂。问能否能让每个人最终手上的糖的数量相等。思路首先,这......
  • Square-free division (easy version) 题解
    题意:给定一个长度为\(n\)的序列,求最少能将这个序列分成多少段使得任意一段中不存在两个数的积为完全平方数。一个小Trick:如果两个数乘起来为平方数,可以先将每个数的平方因子除掉,然后这两个数必然相等。于是这道题被转化为了一个区间不能有相等的值,这就很典了。设\(pos_{a_{i......
  • C. Game with Multiset
    原题链接反思:要把各种可能的情况都判断一遍再提交!不要急着提交简介仓库里有若干个二次方数,请问是否能取出若干数使得刚好等于给定数?情况讨论情况1.仓库里只有一个4,但是我要求2,求不得情况2.仓库里有三个1,我要求3,能求大概思路从\(i\in[log2(v),0]\)遍历(从大到小),如果对于i,仓......
  • "the tx doesn't have the correct nonce":使用hardhat调用ganache上部署的合约遇到的
    完整的报错==================>查询存证请求存证请求内容,datahash:0xaad2171441bd73b773e9a9e062753909360bdfcabbddbe93c6c58b13c5c0feaa,创建人:0xF7A1938Fecc594aaF126d46fd173cE74A659ad9A,附加信息:0x66656974757a6920616920646f756368757a69,已投票:0n,共需投票:2n==......
  • 题解 ABC333F【Bomb Game 2】
    来个可能有点麻烦但不用动脑子的暴力做法。直接设\(f_{i,j}\)表示有\(i\)个人时,第\(j\)个人幸存的概率。显然有\(f_{1,1}=1\)。对于\(i>1\),分类讨论容易得到:\[f_{i,j}=\begin{cases}\frac{f_{i,n}}{2},&j=1\\\frac{f_{i-1,j-1}+f_{i,j-1}}{2},&1<j\lei\\\e......
  • CF1906K Deck-Building Game记录
    CF1906KDeck-BuildingGame题目链接:https://codeforces.com/problemset/problem/1906/K题意有大小为$n$的多重集$A$。求找到两个不相交子集,使它们各自的异或和相等的方案数。很容易将其转换为求如下值:$$\sum_{S\subsetA}2^{|S|}\cdot[\oplus_{x\inS}x=0]$$......
  • pygame安装问题
    pygame的安装问题(1)python-mpipinstall--upgradepip(2)pipinstallpygame(3)更换下载网站,且赋予信任pipinstallpygame-ihttp://pypi.douban.com/simple--trusted-hostpypi.douban.com(4)python-mpipinstall-Upygame--user(5)python-mpipinstall-Upy......
  • Windows2008R2 IIS配置证书 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误解决方法
    IISCrypto 用这个工具很方便,也可以手动修改注册表工具内置最佳实践,点击 BestPractices再Apply,然后重启服务器即可,设置前记得备份注册表。参考:https://blog.csdn.net/a873744779/article/details/103635882https://blog.csdn.net/jackbon8/article/details/82702563 ......
  • [Codeforces] CF1744E1 Divisible Numbers (easy version)
    CF1744E1DivisibleNumbers(easyversion)题意给你四个数\(a,b,c,d\),你需要找出一组\(x,y\)使得\(a<x\leqc,b<y\leqd\)并且\(x\cdoty\)能被\(a\cdotb\)整除,如果没有输出-1-1。思路最暴力的思路肯定是枚举,更肯定的一点是会TLE但是注意到,如果\(x\)一定,那么他......
  • MongoDB 7.0 分片键分析助手--analyzeShardKey()
    分片键是群集的关键组成部分,因为它决定了数据在分片中的分布。 分片集群的大部分问题都与错误的分片键选择有关;对于一个好的分片键,必须注意以下几点:·分片键的cardinality·分片键值出现的频率·潜在分片键值是否单调增长·分片查询模式在老版本中,分片键是不可变的,但现在......