栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Codeforces Round #757 (Div. 2) C. Divan and bitwise operations

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Codeforces Round #757 (Div. 2) C. Divan and bitwise operations

Codeforces Round #757 (Div. 2)

A B两题很简单,C有点绕
原题链接
找了几个不错的博客
大佬的博客
这个大佬讲的思路很清晰,可以借鉴
还有一点:同或和还有一个性质,两个区间的同或和进行或运算可以得到他们并集的同或和。根据这一点,加上题目中提到必然会遍及每一个元素,那么把给出的m个区间的同或和进行或运算即可得到[1,n]的同或和x。
附上代码

#include
using namespace std;
#define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
typedef long long ll;
typedef pair PII;
const int N=1e5+10;
const int mod=1e9+7;
ll q_mi(int a,int b)
{
   ll ans=1;
   while(b)
   {
      if(b&1) ans=ans*a%mod;
      a=(ll)a*a%mod;
      b>>=1;
   }
   return ans;
}
int main()
{
   IOS;
   int t;
   cin>>t;
   while(t--)
   {
       int n,m;
       ll ans=0;
       cin>>n>>m;
       for(int i=0;i>l>>r>>x;
          ans=ans|x;
       }
       ll sum=q_mi(2,n-1)*ans%mod;
       cout<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/604585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号