CF734F Anton and School 构造+数论
正解:构造
解题报告:
先放下传送门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 构造+数论的更多相关文章
- CF734F Anton and School (构造)
\(solution\) : 这道题做法很巧妙,需要对位运算有足够了解: $( a $ & $ b )$ \(+\) $( a $ | $ b )$ \(=\) \(a+b\) ,所以有 \( ...
- CF45G Prime Problem 构造+数论
正解:构造+数论 解题报告: 传送门! maya这题好神仙啊我jio得,,,反正我当初听的时候是没有太懂的,,, 首先这题你要知道一些必要的数学姿势 比如哥德巴赫猜想巴拉巴拉的 然后直接讲题趴QAQ ...
- Codeforces 922F Divisibility (构造 + 数论)
题目链接 Divisibility 题意 给定$n$和$k$,构造一个集合$\left\{1, 2, 3, ..., n \right\}$的子集,使得在这个集合中恰好有$k$对正整数$(x, y) ...
- codeforces 487C C. Prefix Product Sequence(构造+数论)
题目链接: C. Prefix Product Sequence time limit per test 1 second memory limit per test 256 megabytes in ...
- CF #404 (Div. 2) D. Anton and School - 2 (数论+范德蒙恒等式)
题意:给你一个由'('和')'组成的字符串,问你有多少个子串,前半部分是由'('组成后半部分由')'组成 思路:枚举这个字符串中的所有'('左括号,它左边的所有'('左括号的个数为num1,它的右边的 ...
- CF909F AND-permutations 构造
正解:构造 解题报告: 传送门! QAQ我jio得还挺难的,,,构造+数论什么的果然还是不适合灵巧这种菜菜啊QAQ 不过理解了的话也就没有那么难?所以还是港下QAQ 首先看task1 首先要发现一个, ...
- BZOJ4833: [Lydsy1704月赛]最小公倍佩尔数(min-max容斥&莫比乌斯反演)(线性多项式多个数求LCM)
4833: [Lydsy1704月赛]最小公倍佩尔数 Time Limit: 8 Sec Memory Limit: 128 MBSubmit: 240 Solved: 118[Submit][S ...
- 【CF734F】Anton and School(构造)
[CF734F]Anton and School(构造) 题面 Codeforces 洛谷 题解 算是一道\(easy\)? 发现\((a\&b)+(a|b)=a+b\). 那么根据给定条件我 ...
- 【题解】 CF734F 【Anton and School】
题解 CF734F [Anton and School] 传送门 这种将位运算和普通运算结合起来的题目要拆位来考虑,可以得到\(log_{2}(\)值域\()\)的算法,甚至将值域看成常数. 根据 \ ...
随机推荐
- EF修改对象里面的值。。。(对象字段多的时候)
后台代码 public ActionResult Edit(my m)//my实体类 { testEntities t = new testEntities();//数据库上下文 t.my.Attac ...
- linux配置java环境
第一步: vim /etc/profile 第二步:添加以下4行 第三步:使配置生效 source /etc/profile 结束配置
- js 停止事件冒泡 阻止浏览器的默认行为
在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 浏览器默认行为: 在form中按回车键就会提交表单:单击鼠标右键就会弹出context menu. ...
- ModelState.AddModelError使用
后台: ModelState.AddModelError("userPwd", "请输入密码!"); ModelState是一个字典类型,这句话的作用是向Mod ...
- 合格前端系列第六弹-从指向看JavaScript
https://my.oschina.net/qiangdada/blog/1484001
- 安装并配置ROS环境1
ros学习之路(原创博文,转载请标明出处-周学伟http://www.cnblogs.com/zxouxuewei/) 一.ros核心教程 1.安装并配置ROS环境: 注意: 学习这节课之前请按 ...
- Java精选笔记_面向对象(多态、异常)
多态 概述 可以理解为事物存在的多种体现形态.同样的引用调用同样的方法却做了不同的事情 多态的本质是:一个程序中同名的不同方法. 多态的体现 父类的引用指向子类的对象,父类的引用接收子类的对象. 多态 ...
- mac 安装oracle
http://www.oracle.com/technetwork/cn/database/10204macsoft-x86-64-087400-zhs.html
- Tomcat优化详细教程
Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...
- tomcat日志保存在哪里?
tomcat目录下的logs文件夹下.有个catalina.20xx-xx-xx.log