51nod1622 集合对

本文探讨了一道关于集合XOR运算的问题,通过定义集合XOR操作AxorB=A∪B-A∩B,求解满足特定条件的(P,Q)对数量,并提供了一段C++代码实现。输入包括集合A、B及其交集的大小,输出为答案模1e9+7的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基准时间限制:1 秒 空间限制:131072 KB 分值: 80  难度:5级算法题
 收藏
 关注
定义集合xor操作 A xor B=A∪B-A∩B。
问有多少对(P,Q)满足 P∈A Q∈B 使得 (P xor A)xor(Q xor B)=A xor B其中P Q都是集合。
答案对1e9+7取模。

例如:A ={1} ,B={1,2},A xor B = {2},枚举所有情况P Q有2种。
Input
三个整数A B C。(A,B,C<=10^18)
表示|A|,|B|,|A∩B|。
Output
输出答案对10^9+7取模的值
Input示例
1 2 1
Output示例
2

题解:结合食用更佳。

orz。。。

点击打开链接


点击打开链接



代码:

#include<bits/stdc++.h>
using namespace std;
long long n1,m,n,t,ans;
int main(){
	scanf("%lld%lld%lld",&n1,&m,&n);
	ans=1;t=2;
	while(n){
		if(n%2)ans=(ans*t)%1000000007;
		t=(t*t)%1000000007;
		n/=2;
	}
	printf("%lld",ans);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值