首页 > 其他分享 >C. Game of Mathletes(题解)

C. Game of Mathletes(题解)

时间:2025-01-22 19:03:58浏览次数:3  
标签:int 题解 Mathletes Alice cin ++ Game ans Bob

首先Alice擦一个数a,然后Bob再擦一个数b,只有当a+b=k的时候才可以得分,Alice想要最小化分数而Bob想要最大化分数,所以如果给定的数中存在两个数的和为k,那么当Alice擦掉其中一个的时候Bob一定会擦掉另一个来得分,而且题目给定的数组长度为偶数,所以我们只需要运用双指针的思想找到数组中存在几对符合题意的数就可以了。

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

const int N = 200005;
int a[N];

int sum(int n , int k){
    int ans = 0;
    int l = 1 , r = n;
    while(l < r){
        int s = a[l] + a[r];
        if(s == k){
            l ++;
            r --;
            ans ++;
        }else if(s < k)
            l ++;
        else
            r --;
    }
    return ans;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0) , cout.tie(0);
    int t;
    cin >> t;
    while(t --){
        int n , k;
        cin >> n >> k;
        for(int i = 1 ; i <= n ; i ++)
            cin >> a[i];
        sort(a + 1 , a + n + 1);
        int ans = sum(n , k);
        cout << ans << '\n';
    }
    return 0;
}

标签:int,题解,Mathletes,Alice,cin,++,Game,ans,Bob
From: https://blog.csdn.net/2401_87690384/article/details/145308391

相关文章

  • 常见问题解决 --- 引用的账户当前已锁定,且可能无法登录什么意思
     当你在尝试登录Windows系统时,看到错误提示“引用的账户当前已锁定,且可能无法登录”,这意味着你使用的用户账户由于多次输入错误的密码而被系统锁定。这是一种安全机制,旨在防止暴力破解或未经授权的访问。原因分析1.多次输入错误密码:如果连续多次输入错误的密码,系统会自......
  • 题解:P11600 『Fwb』流星の陨落
    『Fwb』流星の陨落题目描述流星雨来了!当然,这场流星雨确确实实是Fwb设计的。Fwb在天空中放置了许多的流星,同时也在地面上放置了许多的烟花。当流星和烟花发生碰撞时,就会出现美丽而独特的风景。由于方便控制流星雨的发射,流星的发射是有规律的,这个发射的规律叫做流星间隔。我......
  • 「CF1437F」Emotional Fishermen 题解
    小水题一道Description有n\((n\le5000)\)个渔民,每个渔民钓了一条重\(a_i\)的鱼,渔民按任意顺序展示他们的鱼。若当前渔民的鱼的重量为\(x\),之前展示过的鱼的最大重量\(y\)。一个排列满足条件当且仅当对于每个\(x\),满足\(2y\lex\)或\(2x\ley\)。问有多少个排列满......
  • 「CF618F」Double Knapsack 题解
    只能说。。。Description给你两个可重集 \(A,B\),\(A,B\) 的元素个数都为 \(n\),它们中每个元素的大小 \(x\in[1,n]\)。请你分别找出 \(A,B\) 的子集,使得它们中的元素之和相等。\(n\leq10^6\)。Solution将找子集强化成找子段(不知道怎么想的),令\(sa_{n}\)表示\(A\)......
  • P11592 [NordicOI 2024] Chair Game
    先直接从IMO2005预选赛C7开始看。问题:给定一个长度为\(n\)的序列\(a\),保证\(n\mid(\suma_i)\)。证明存在两个排列\(\sigma\)与\(\tau\),使得\(\sigma_i+\tau_i\equiva_i\pmodn\)。解:若存在一个序列\(a\)和其的一组解\((\sigma,\tau)\),同时存在一个序列\(b......
  • 「CF1854D」Michael and Hotel 题解
    逆天交互题、、、我只能说阈值分治赛高!!!Description有一个有 \(n\) 个点的内向基环树森林,zlsim位于 \(1\) 号节点,请你通过以下操作求出哪些节点(包括 )可以通过从这两点开始沿边行走若干步汇至一点。给出两个参数 \(u,k\) 和点集 \(S\),询问是否能够通过从 \(u\) 出......
  • P9678 题解
    题意给定一棵\(n\)个点的树\(T\),边有边权。现在有\(q\)组询问,每组询问给出\(l,r\),求出:\[\min_{l\lei<j\ler}\operatorname{dist}(i,j)\]\(n\le2\times10^5\),\(q\le10^6\),\(1\lew\le10^9\)。由于与路径长度有关,所以考虑点分治或者LCA。由于笔......
  • ZJOI2010 基站选址 题解
    ZJOI2010基站选址题解题目链接dp+线段树优化。暴力dp状态设计:自然想到设\(f(i,j)\)表示只考虑前\(i\)个村庄,在前\(i\)个村庄中建\(j\)个基站,并且在第\(i\)个存在建立基站时,最小的费用。转移:转移时,枚举上一个建基站的村庄\(p\)(这同时告诉我们,\(j=1\)......
  • P1048 [NOIP2005 普及组] 采药 题解
    原题链接题目大意:采药,每种药只有一株,每株有它的价值和采它所需的时间,现时间有限,请你输出在有限时间内能获得的价值最大是多少。分析:1.这是一个典型的01背包问题(DP)01背包问题的典型特征:有一个限定容量的背包(对应本题中的时间),有物品(每种只有一个)(对应本题中的药株),物品有......
  • 洛谷P1002 [NOIP2002 普及组] 过河卒 题解
    原题链接题目大意:棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:向下或向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。棋盘用坐标表示,AA点(0,0)、BB点(n,m),同样马的位置坐标是需要给出的。现在要求你计算出......