首页 > 其他分享 >D. Vlad and Division

D. Vlad and Division

时间:2024-02-28 19:23:03浏览次数:30  
标签:Vlad val Division int map ans 配对

原题链接

题解

对于一个数,我们将其转换成二进制,然后补零到31位
我们发现,能和数x配对的数只有一个,那就是 按位翻转后的x,即x和 \(2^{31}-1\) 异或的值
所以我们要找有没有能互相配对的值,以及组数,配对用map?

code

#include<bits/stdc++.h>
using namespace std;
const int val=2147483647;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n,x;
        int ans=0;
        cin>>n;
        map<int,int> q;
        for(int i=1;i<=n;i++)
        {
            cin>>x;
            int y=x^val;
            if(q[y])q[y]--;
            else q[x]++,ans++;
        }
        cout<<ans<<endl;
    }
    return 0;
}

标签:Vlad,val,Division,int,map,ans,配对
From: https://www.cnblogs.com/pure4knowledge/p/18041502

相关文章

  • [AGC009C] Division into Two
    先假定\(A\leB\),然后先判断无解,如果\(a_{i+2}-a_i<B\),无论怎么分配都是不合法的,直接判掉。然后考虑dp,\(f_i\)表示选了前\(i\)个数,其中第\(i\)个数是归为\(A\)集合的方案数。其中不难发现可转移的状态是一段区间,状态\(f_j\)可以转移仅当\(a_i-a_j\geA\)且\(a_......
  • 树上dp——cf_928_G. Vlad and Trouble at MIT
    目录问题概述思路分析参考代码做题反思问题概述原题参考:G.VladandTroubleatMIT某学校的宿舍可以用一棵n个顶点的树来表示,每个顶点代表一个房间,房间内有一个学生,树是一个联通的无向图。今天晚上有三种学生:参加派对和玩音乐的学生(标记为P)想睡觉和享受安静的学生(标记为S)......
  • G. Vlad and Trouble at MIT
    原题链接题解细节很多的树形dp,请看代码code#definelllonglong#include<bits/stdc++.h>usingnamespacestd;llsit[100005]={0};llf[100005]={0};vector<ll>G[100005];charstr[100005];inlinevoidread(ll&x){x=0;llflag=1;charc=......
  • Square-free division (easy version) 题解
    题意:给定一个长度为\(n\)的序列,求最少能将这个序列分成多少段使得任意一段中不存在两个数的积为完全平方数。一个小Trick:如果两个数乘起来为平方数,可以先将每个数的平方因子除掉,然后这两个数必然相等。于是这道题被转化为了一个区间不能有相等的值,这就很典了。设\(pos_{a_{i......
  • CodeForces 1497E2 Square-free division (hard version)
    洛谷传送门CF传送门感觉和CF1889C2Doremy'sDryingPlan(HardVersion)有异曲同工之妙。显然去除每个数的平方因子后,两个数相乘为完全平方数当且仅当它们相等。考虑若确定了分段方案,那么修改次数就是,每一段重复出现的数的个数。那么我们设\(f_{i,j}\)为\([1,i]\)......
  • RuCode 2020 Division A+B. I ✖ [PR #5] 和平共处
    前言认认真真学习了一下这道题相关的做法以及有关的二分图网络流理论,感觉自己又刷新了一些东西的理解。所以说我们就从普通的二分图匹配开始吧!二分图匹配众所周知,二分图最大匹配可以用网络流Dinic算法做到\(O(m\sqrtn)\)的复杂度。在某些特定的图下,我们有一种“贪心流”......
  • C++ signal(SIGFPE,handler) ignore division by 0 exception
    #include<stdexcept>#include<chrono>#include<csetjmp>#include<ctime>#include<fstream>#include<iostream>#include<iomanip>#include<signal.h>#include<sstream>#include<thread>#incl......
  • CF743C Vladik and fractions
    大胆拆开,变成两个\(\frac{1}{n}\),令\(z=n\),那么\(\frac{1}{x}+\frac{1}{y}=\frac{x+y}{xy}=\frac{1}{n}\)。注意到分母是乘积,分子是和,可以令\(x,y\)的单位为\(n\)。设\(x=kn\),那么\(x+y=\frac{xy}{n}\),\(kn^2+yn=kny\),\(kn+y=ky\),\(y=\frac{kn}{k-1}\)。取\(k=n+1\......
  • [ARC159F] Good Division 题解
    [ARC159F]GoodDivision题解首先对于题目要求的划分方式转化一下,转化为划分的每一段都没有绝对众数,可以证明这与题目中的要求是完全等价的,证明如下:充分性:考虑构造一种操作方法,就是每次操作都消去一个出现次数最多的数,按照这样操作可以保证每次操作之后该区间仍然不会出现绝对......
  • Social Infrastructure Information Systems Division, Hitachi Programming Contest
    A-HitachiString满足条件的串即为串长为偶数且相邻两个均为为hi,直接判断即可。代码:#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;constintN=15;intn;chars[N];intmain(){ scanf("%s",s+1); n=strlen(s+1); if(n&1) ......