其他分享
首页 > 其他分享> > A. Anu Has a Function(规律,思维)

A. Anu Has a Function(规律,思维)

作者:互联网

\(\colorbox{green}{\color{Red}\Huge{为什么不会做啊啊啊我好菜啊啊啊啊啊}}\)

传送门呢大门校门中门无敌们杀必死大大大

\(多模拟几个样例就会发现\)

\(f(x,y)运算前后,如果x有的某一位y也有,那么减y后消去\)

\(如果x某没有的某一位y有,那么减y后消去。\)

\(\color{Red}{他们的共性是,同一二进制位数出现多余1次就一定会被消掉}\)

\(当然,如果某一位二进制只出现一次也会被消掉,除非把它放在开头\)

\(没错,只有首元素是特殊的。找到最高位出现1次的数,放在开头,over()\)

#include <bits/stdc++.h>
using namespace std;
int n;
int a[100009],b[33];
void sovle(int j)
{
	swap(a[1],a[j]);
	for(int i=1;i<=n;i++)	cout<<a[i]<<" ";
	exit(0);
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)	cin>>a[i];
	for(int i=32;i>=1;i--)
	{
		for(int j=1;j<=n;j++)
		if( a[j]&(1<<(i-1)) )	b[i]++;
	}
	for(int i=32;i>=1;i--)
	{
		if(b[i]!=1)	continue;
		for(int j=1;j<=n;j++)
		if(a[j]&(1<<(i-1)))	sovle(j);
	}
	sovle(1);
}

标签:Function,思维,消去,int,Red,Anu,消掉,啊啊啊,color
来源: https://www.cnblogs.com/iss-ue/p/12923540.html