正解:构造

解题报告:

先放下传送门QwQ

这题首先要知道一个结论:(x&y)+(x|y)=x+y

还是能理解的趴?

所以我们把bi+ci就能得到∑a+n*a[i]

然后我们就能成功求出∑a

然后每个a就能求出来了

然后求出来之后再check下符不符合输入就欧克了!

哦关于那个check,如果一个个枚显然会超时

可以预处理每一位这么加,就从O(n2)变成O(n)辣!

484想通了不难!

等下写了代码放下代码就over辣!

太难过了,,,卡在了第六个测试点(修改之后卡在第五个了yep!

但我觉得我实在做得,zqsg地对,,,就很难过

布星我生气,不做这题了

upd:,,,布星这题是真的好

  它给了我一个非常深刻的教训

  如果不是为了卡时间还是开longlong趴

  因为没开longlong没卡了两三天的事儿我会说:D?

#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll long long
#define rp(i,x,y) for(rg ll i=x;i<=y;++i) const ll N=+;
ll n,a[N],b[N],c[N],k[],sum; inline ll read()
{
rg ll x=;rg bool y=;rg char ch=getchar();
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
}
inline bool chck()
{
rp(i,,n)
{
rg ll tmp1=,tmp2=;
rp(j,,)
{
if((a[i]>>j)&)tmp1+=(<<j)*k[j],tmp2+=(<<j)*n;
else tmp2+=(<<j)*k[j];
}
if(tmp1!=b[i] || tmp2!=c[i])return ;
}
return ;
} int main()
{
n=read();rp(i,,n)b[i]=read(),sum+=b[i];rp(i,,n)c[i]=read(),sum+=c[i];sum/=(n*);
rp(i,,n)a[i]=(b[i]+c[i]-sum)/n;
rp(i,,n)rp(j,,)if((a[i]>>j)&)++k[j];
if(chck()){printf("-1");return ;}
rp(i,,n)printf("%d ",a[i]);
return ;
}

,,,灵巧要心力交瘁了QAQ

CF734F Anton and School 构造+数论的更多相关文章

  1. CF734F Anton and School (构造)

    \(solution\) : 这道题做法很巧妙,需要对位运算有足够了解: $( a $ & $ b )$ \(+\) $( a $ | $ b )$ \(=\) \(a+b\) ,所以有 \( ...

  2. CF45G Prime Problem 构造+数论

    正解:构造+数论 解题报告: 传送门! maya这题好神仙啊我jio得,,,反正我当初听的时候是没有太懂的,,, 首先这题你要知道一些必要的数学姿势 比如哥德巴赫猜想巴拉巴拉的 然后直接讲题趴QAQ ...

  3. Codeforces 922F Divisibility (构造 + 数论)

    题目链接  Divisibility 题意 给定$n$和$k$,构造一个集合$\left\{1, 2, 3, ..., n \right\}$的子集,使得在这个集合中恰好有$k$对正整数$(x, y) ...

  4. codeforces 487C C. Prefix Product Sequence(构造+数论)

    题目链接: C. Prefix Product Sequence time limit per test 1 second memory limit per test 256 megabytes in ...

  5. CF #404 (Div. 2) D. Anton and School - 2 (数论+范德蒙恒等式)

    题意:给你一个由'('和')'组成的字符串,问你有多少个子串,前半部分是由'('组成后半部分由')'组成 思路:枚举这个字符串中的所有'('左括号,它左边的所有'('左括号的个数为num1,它的右边的 ...

  6. CF909F AND-permutations 构造

    正解:构造 解题报告: 传送门! QAQ我jio得还挺难的,,,构造+数论什么的果然还是不适合灵巧这种菜菜啊QAQ 不过理解了的话也就没有那么难?所以还是港下QAQ 首先看task1 首先要发现一个, ...

  7. BZOJ4833: [Lydsy1704月赛]最小公倍佩尔数(min-max容斥&莫比乌斯反演)(线性多项式多个数求LCM)

    4833: [Lydsy1704月赛]最小公倍佩尔数 Time Limit: 8 Sec  Memory Limit: 128 MBSubmit: 240  Solved: 118[Submit][S ...

  8. 【CF734F】Anton and School(构造)

    [CF734F]Anton and School(构造) 题面 Codeforces 洛谷 题解 算是一道\(easy\)? 发现\((a\&b)+(a|b)=a+b\). 那么根据给定条件我 ...

  9. 【题解】 CF734F 【Anton and School】

    题解 CF734F [Anton and School] 传送门 这种将位运算和普通运算结合起来的题目要拆位来考虑,可以得到\(log_{2}(\)值域\()\)的算法,甚至将值域看成常数. 根据 \ ...

随机推荐

  1. 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端

    文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msd ...

  2. JQuery上传插件Uploadify使用详解 asp.net版

    先来一个实例 Uploadify插件是JQuery的一个文件支持多文件上传的上传插件,ajax异步上传,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadif ...

  3. 利用MSSQL对不经常使用的表进行依赖缓存

    缓存是我们开发应用系统的一把利刃,如果用的不好,会导致数据不准确等一系列问题. 所以在如何选择缓存的时候,我们要慎之又慎.所以在对系统中一些 不经常变化的表,我们可以采用SqlCacheDenpend ...

  4. HTML <a> 标签的状态和 target 属性

    <a>的四种状态 A:link  连接平常状态 A:hover  鼠标放上去的时候 A:active  鼠标按下的时候 A:visited 连接被访问过后的状态 target属性 _bla ...

  5. MVC3--View层

    Razor二义性: 1,当view层中出现   邮件格式时候比如   anbylau2130@qq.com 这种情况Razor将会出现多义性 可以使用@@来转义为一个@字符, 如:<p>y ...

  6. swift--触摸(UITouch)事件(点击,移动,抬起)

    触摸事件: UITouch:一个手机第一次点击屏幕,会形成一个UITouch对象,知道离开销毁.表示触碰.UITouch对象能表明当前手指触碰的屏幕位置.状态,状态分为开始触碰.移动.离开. 具体方法 ...

  7. unity动态加载(翻译) .

    AssetBundles are files which you can export from Unity to contain assets of your choice. These files ...

  8. android 仿QQ手机版

    千人2群开启,欢迎大家围观打酱油,群号145667827     您当前位置 : JavaApk-安卓应用游戏源码服务专家 » QQ » Android项目源码界面超级华丽的仿QQ最新版本 Andro ...

  9. Effective C++ —— 构造/析构/赋值运算(二)

    条款05 : 了解C++默默编写并调用哪些函数 编译器可以暗自为class创建default构造函数.copy构造函数.copy assignment操作符,以及析构函数. 1. default构造函 ...

  10. 使用Node.js完成路由

    首先先看一下文件的结构: 我想通过改变不同的路由进不同的页面, 先看这几个HTML页面: 404: <!DOCTYPE html> <html lang="en" ...