首页 > 其他分享 >A+B Problem

A+B Problem

时间:2024-08-25 15:25:59浏览次数:13  
标签:int cin && ans Problem 300005

  • 异或运算对加法不满足分配律
  • mod(2^32)可以视为保留二进制表示下的32位
  • 大胆猜测解是唯一的
点击查看代码
#include <bits/stdc++.h>
using namespace std;
unsigned int a[300005],b[300005],ans[300005];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	int T;
	cin>>T;
	while(T--)
	{
		int q;
		cin>>q;
		for(int i=1;i<=q;i++)
		{
			cin>>a[i]>>b[i];
		}
		for(int i=31;i>=0;i--)
		{
			for(int j=1;j<=q;j++)
			{
				int x=((a[j]>>i)&1),y=((b[j]>>i)&1);
				if(x==1&&y==0||x==0&&y==1)
				{
					ans[j]+=(1<<i);
				}
			}
		}
		//处理了所有1+0和0+1的和 
		for(int i=0;i<=31;i++)
		{
			ans[0]=ans[q];
			for(int j=1;j<=q;j++)
			{
				int x=((a[j]>>i)&1),y=((b[j]>>i)&1);
				if(x==0&&y==0)
				{
					if(((ans[j-1]>>i)&1)==1)
					{
						ans[j]+=(1<<i);
						ans[j]+=(1<<i);
					}
				}
				if(x==1&&y==1)
				{
					if(((ans[j-1]>>i)&1)==0)
					{
						ans[j]+=(1<<i);
						ans[j]+=(1<<i);
					}
				}
			}
		}
		//处理了所有0+0的和以及1+1的和 
		for(int i=1;i<=q;i++)
		{
			cout<<ans[i]<<"\n";
			ans[i]=0;
		}
	}
	return 0;
}

标签:int,cin,&&,ans,Problem,300005
From: https://www.cnblogs.com/watersail/p/18378932

相关文章

  • 041 Time to Practice Dynamic Styling - Problem
    示例index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>VueBa......
  • Problems in Mathematical Analysis (American First Edition)
    https://www.amazon.com/Problems-Mathematical-Analysis-Boris-Demidovich/dp/B0007BNL1W/ ProblemsinMathematicalAnalysis(AmericanFirstEdition) Reviews:https://www.amazon.com/gp/customer-reviews/R225A0UUURIG9B/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASI......
  • E. Not a Nim Problem
    E.NotaNimProblemTwoplayers,AliceandBob,areplayingagame.Theyhave$n$pilesofstones,withthe$i$-thpileinitiallycontaining$a_i$stones.Ontheirturn,aplayercanchooseanypileofstonesandtakeanypositivenumberofstonesfromi......
  • 题解:AT_arc181_b [ARC181B] Annoying String Problem
    思路首先我们可以根据两个字符串算出另外一个字符串\(T\)的长度。算出来之后,因为我们要满足等式两边完全相等,所以很容易得出这两个字符串应该都是由一些公共的字串拼接而成的。设\(S\)串中最小的周期为\(P\)。所以应该满足\(|P|\Large{\mid}\normalsize\gcd(|S|,|T|)\)......
  • ChatGPT Is a Knowledgeable but Inexperienced Solver: An Investigation of Commons
    文章目录题目摘要简介什么是常识GPT能否有效回答常识问题?GPT是否知道回答问题的常识性知识?GPT是否具备常识性知识?GPT能否有效利用语境中的常识进行推理?相关工作结论与讨论题目ChatGPT是一个知识渊博但缺乏经验的解决者:对大型语言模型中常识问题的调查论文地......
  • D. Another Problem About Dividing Numbers
    原题链接题意有两个数\(a,b\)每次可以拿走其中一个数的若干个质因子,请问恰好\(k\)次操作后能否使\(a=b\)分析假设\(a,b\)最后到达的是\(c\),那么\(\frac{a}{c}\)的质因子个数加上\(\frac{b}{c}\)的质因子个数一定大于等于\(k\)(为什么可以大于?因为一次操作可以多......
  • P1001 A+B Problem(整活-dijstra堆优化)
    OK啊,这就是普通的\(a+b\)嘛这是一道十分淼的题目,乍一看,这不就是dijstra堆优化的模板题吗?首先,建立三个节点,两条线行,OK开始Code#include<bits/stdc++.h>usingnamespacestd;constlonglongN=99999,M=999999;typedefpair<longlong,longlong>PII;priority_......
  • Android Studio报错: A problem occurred starting process command ,CreateProcess er
    AndroidStudio报错:Aproblemoccurredstartingprocesscommand,CreateProcesserror=2,系统找不到指定的文件一、遇到问题二、解决问题重新下载了22.0.7026061和22.1.7171670只在cmake.dir中修改了路径(ndk.dir中修改了路径[未尝试])clean+SyncProject,OK了!......
  • Ideas of Problems in Aug. 2024
    \(\text{LuoguP1552[APIO2012]派遣}\)前置芝士:可并堆(左偏树)或斜堆或启发式合并。本题题意概括为:给定一颗以\(1\)为根的树,每个点有权值\(L_i\),花费\(C_i\),可以选择一个以某个结点为根的子树,并从其中选出一个点集\(T\)满足\(\sum_{i\inT}C_i\leqM\),那么此次的价......
  • E - Xor Sigma Problem
    原题链接题解首先,位运算很容易想到按位枚举。而这道题的关键是如何快速求区间异或和。对此,我们构建一个后缀异或数组即可,甚至这个数组可以进一步优化为cnt1和cnt0两个变量。(具体实现看code理解)code #include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;......