Codeforces Round #440 Div. 2 D. Something with XOR Queries

MobaXterm终端工具个人学习版安装包及常用配置备份 资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。 立即下载

题意:交互题。给一个排列p和每个数对应的位置b,你可以询问2n次,每次两个数i,j,返回p[i]^b[j],求序列p有多少种排列情况,并输出任意一种。

分析:询问所有0,i和i,0,之后就能得知所有数的两两异或,然后就枚举第一个数是什么,暴力计算即可。

c[i][j]=c[i][0] ^ c[0][j] ^c[0][0],因为:c[i][j]=a[i]^b[j]=a[i]^b[0]^a[0]^b[j]^a[0]^b[0]=c[i][0]^c[0][j]^c[0][0]

其中c[i][j]=a[i]^b[j]。

#include<iostream>
#include<iomanip>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<queue>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<sstream>
#include<cstdlib>
#include<time.h>
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define repp(i,n,a) for(int i=n;i>=a;i--)
#define ll long long
#define ull unsigned long long
#define mem(a,x) memset((a),(x),sizeof ((a)))//x只能是0或-1或false或true
#define debug(x) cout<<"X: "<<(x)<<endl
#define de cout<<"************"<<endl
#define lowbit(x) ((x)&(-x))
#define lson rt<<1
#define rson rt<<1|1
#define gcd(a,b) __gcd(a,b)
#define lcm(a,b) a*b/(__gcd(a,b))
#define inf 0x3f3f3f3f//1e9+6e7
#define Eps 1e-8
#define Mod 1e9+7
#define maxn 100010
const double pi = acos(-1.0);
using namespace std;
int a[5010],b[5010];
int c[5010][5010];
int aa[5010],bb[5010];
int main()
{
    int n;
    cin>>n;
    rep(i,0,n-1)
    {
        cout<<"? 0 "<<i<<endl;
        fflush(stdout);
        scanf("%d",&c[0][i]);
    }
    rep(i,0,n-1)
    {
        cout<<"? "<<i<<" 0"<<endl;
        fflush(stdout);
        scanf("%d",&c[i][0]);
    }
    rep(i,0,n-1)
        rep(j,0,n-1)
            c[i][j]=c[i][0]^c[0][j]^c[0][0];
    ll ans=0;
    rep(i,0,n-1)
    {
        a[0]=i;
        rep(j,0,n-1)
            b[j]=c[0][j]^a[0];
        rep(j,1,n-1)
            a[j]=b[0]^c[j][0];
        int f=0;
        rep(i,0,n-1)
        {
            if(a[b[i]]==i)
                continue;
            else
                {f++;break;}
        }
        if(f==0)
        {
            ans++;
            if(ans==1)
            {
                rep(i,0,n-1)
                    {aa[i]=a[i];bb[i]=b[i];}
            }
        }

    }
    cout<<"!"<<endl<<ans<<endl;
    rep(i,0,n-1)
        cout<<aa[i]<<" ";
    return 0;
}

 

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取 立即下载

相关推荐

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 398

Codeforces Round #440(Div.2)

一句话题意: A:给出两个长为\(n\),\(m\)的的数组,每个数在\(1\)到\(9\)之间,求出一个最小的数使得至少有一位出现在一个数组中,且至少有一位出现在另一个数组中。\(n,m\leq9\) B:给出一个长度为\(n\)的数组\(a\),将它分成\(k\)段,最大化每一段最小值的最大值。\(1\leq{k}\leq{n}\leq10^5,-10^9\leq{a_i}\leq1...

V469584691的博客 203

深入解析Zynq Ultrascale+ RF Data Converter中的PLL配置与时钟管理

本文深入解析了Zynq Ultrascale+ RF Data Converter中PLL配置与时钟管理的核心原理与实践。文章将RFDC时钟系统比作交响乐团,详细阐述了PLL作为指挥的关键作用,以及系统时钟、Tile时钟、参考时钟与采样时钟的层级关系。重点剖析了PLL配置参数(如VCO频率、分频器设置)的计算方法与稳定性考量,并提供了从IP配置使能顺序到多Tile同步、DRP访问等常见问题的实战避坑指南与调试技巧,帮助工程师构建稳定的射频信号处理基石。

7up55的博客 449

Codeforces Round #440 D. Something with XOR Queries(交互|异或)

原题连接:http://codeforces.com/contest/872/problem/D 题目大意:交互题,要求在2n次询问后,得出隐藏的数列 思路:2n次询问是关键点,因为我们只能获取异或相关的信息,所以就要枚举首位取值p0,然后如果根据首位推出其他pi呢,由于我们只能获取异或相关的信息,所以我们可以考虑pi = pi^p0 ^p0 ,那pi^p0怎么获得呢?这就是我们2n次

可我只是梦呓,半生半生的无力 251

Kolla 容器化 高可用OpenStack 部署与 Ceph 集群集成

本文介绍了 Kolla 项目在容器化 OpenStack 部署和管理方面的应用,以及与 Ceph 集群的集成。Kolla 项目通过容器技术提供了一种简化和自动化的 OpenStack 部署方法,同时实现了易于升级和回滚的特点。本文还探讨了 Kolla 在实现零宕机升级方面的进展,并分析了其对 OpenStack 用户和社区的重要意义。

we22635的博客 2702

【数据同化第二期】数据同化中三大理论基础之一(最小方差估计)

【数据同化第二期】深入理解数据同化及经典案例(最小方差估计)

WW、forever的博客 1596

Codeforces Round #440 (Div. 1) B. Something with XOR Query

题目大意给一个排列p和每个数对应的位置b,你可以询问2n次,每次两个数i,j,返回p[i]^b[j],求最后如果询问n^2次都不能确定的排列个数。题解询问所有0,i和i,0,之后就能得知所有数的两两异或(a[i][j]=a[i][0] ^ a[0][j] ^a[0][0]),然后就枚举第一个数是什么,暴力计算即可。#include<iostream> #include<cstdio> #includ

mengbi_er的博客 575

【AMD | Docker】超级全面版本:在Docker中验证AMD GPU移动显卡可用性的方法

1. 安装ROCm Docker支持 ■AMD GPU驱动 ■ROCM ■Docker 2. 配置Docker使用ROCm 3. 使用官方ROCm Docker镜像 4. 使用Docker CLI参数访问GPU

静谧、淡雅 684

codeforces 915 E 896 C 珂朵莉树

珂朵莉树(Chtholly Tree),一种基于std::set的暴力数据结构,是由某毒瘤在2017年的一场CF比赛中提出的数据结构,原名老司机树(Old Driver Tree,ODT)。由于第一个以珂朵莉树为正解的题目的背景以《末日时在做什么?有没有空?可以来拯救吗?》中的角色——珂朵莉为主角,所以这个数据结构又被称为珂朵莉树(Chtholly Tree)她主要处理区间修改、查询问题,在数据随...

flyzer的博客 668

基于STM32的农业蔬菜大棚温湿度采集控制系统(代码+仿真+全部资料)

摘要: 本研究设计了一种基于STM32微控制器的农业蔬菜大棚温湿度智能控制系统。系统通过DHT11传感器实时采集温湿度数据,LCD屏显示当前值及预设阈值,用户可通过按键模块调整阈值范围。当温湿度超出设定阈值时,系统自动控制风扇或加湿器进行调节,确保大棚环境稳定。实验验证表明,该系统具备高精度监测、稳定控制和模块化扩展等优势,有效优化蔬菜生长环境。未来可扩展远程监控等功能,进一步提升智能化水平。 关键词: STM32、温湿度控制、蔬菜大棚、DHT11、自动化调节

3254968421的博客 785

【异常】Nacos 2.x 核心报错:Server check fail (gRPC 端口连不通) 深度排查

如果 Nacos 运行在 K8s 中,需确保对应的Servicemetadata:spec:ports:port: 8848port: 9848 # 必须暴露此端口selector:app: nacos在 Nacos 2.x 时代,“端口成套出现”是基础设施配置的基本要求。遇到连接失败时,首要检查的不是业务配置,而是网络链路上主端口 + 1000的 TCP 通讯是否被放行。更多关于 AI + 教育领域的干货,可以关注我的微信公众号一时间获取哦~

奶爸的编程之路,也就一周冷个三天 325

网络流 最小费用最大流

网络流裸题 HDU 3549 Sample  input: 2 3 2 1 2 1 2 3 1 3 3 1 2 1 2 3 1 1 3 1 Sample output: Case 1: 1 Case 2: 2 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;alg...

flyzer的博客 647

mapbox进阶,dem数据转为等高面,加载转换后的等高面到地图

本文详细介绍如何基于mapbox-gl v3.*.* 版本,使用dem数据转为等高面,加载转换后的等高面到地图,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 407

Gym - 101652 部分题解

题目链接1题目链接2 又是一场和库里布莱恩特的菜鸡互啄,这次还是三星gym,还是两个人一起做,比上次还惨,才6个题。 这场的题感觉很简单,就是有点坑,第二题是多组输入但题里并没有说,骰子那题也是大水题,就是题意难懂,机器人那题也是题目简单,但题意难懂。分块除法,新知识点。BR那题,转化,然后求最大子段和,没想到。还有就是二分,二分真的太好用了。 Gym - 101652ZForbid...

flyzer的博客 627

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Codeforces Round #598 (Div. 3) codeforces 1256

题目链接 昨天晚上的cf,和程磊开黑打的,听说div3好上分,本来还指望这场上130分直接把颜色改了,没想到翻车了......就过了俩题,A和D过了,B题是个贪心,没写好。 A水题。 B: 题意:给你一个n的全排列,你可以操作n-1次(或者少于n-1次),问操作完后使字典序最小,输出这个字典序最小的排列。对于每种操作,你可以选一个数i(1<i<=n-1),然后交换a[i]和a[...

flyzer的博客 448

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

codeforces 912 D. Fishes

题目链接 题意:有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少? 思路:BFS+优先队列 感觉很多题都是这么搞得,bfs加优先队列,然后队列里面存的都是结构体,需要重载运算符。 这题也是,只要挑选出前k个贡献最大的点就行了,判断每个点是否计算过,需要用map和pair,不能用vi...

flyzer的博客 404

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Codeforces 877 Round #442 (Div. 2) E. Danil and a Part-time Job

题目链接 拖了这么多天,终于把这个题过了。 题意:一棵有根树, 每个节点可以是1或者0, 两种操作: 1. pow v: 将v节点的子树中所有节点的值反置(1变0, 0变1, 相当于异或1) 2. get v: 输出v节点的字数中1的个数 DFS序+线段树 #include<iostream> #include<iomanip&...

flyzer的博客 398

POJ 2341 优先队列

题意:汽车要行驶L单位的距离。最开始,汽车上有P单位的汽油,汽车走一单位路程要消耗一单位1汽油,如果汽车在形式途中汽油耗尽,那么将无法继续前行。途中有n个加油站,第i个加油站距离起点有a[i]单位的距离,且能加b[i]单位的油。问到达终点所需的最少加油次数。 Solution:这题可以理解为,在到达加油站时,就获得了一次在之后的任何时候都可以加b[i]单位汽油的权利,而在之后需要加油的时候,就认...

flyzer的博客 384

SPFA算法 最短路

spfa求最短路 有一篇讲解spfa的博客,讲的不错:最快最好用的——spfa算法 POJ 2387  Til the Cows Come Home 最短路裸题 input: 5 5 1 2 20 2 3 30 3 4 20 4 5 20 1 5 100 output: 90 直接模拟spfa算法过程: #include &lt;iostream&gt; #include &...

flyzer的博客 379

codeforces 911 F. Tree Destruction

题目链接 题意: 给定一棵树,每次可以选定树上的两个叶子,并删去其中的一个。答案每次加上两个选定的叶子之间的距离。求最后答案的最大值。 思路 首先,距离树上的任意一个节点最远的节点一定是某条直径的某个端点。 首先求出树的某一条直径,令其端点分别为L, R。把L看成树的根,那么R一定是叶子结点。对于那些非直径上的点,离他们最远的点肯定是L或R中的一个(可能也有其他的,但是L或R肯定已经最大...

flyzer的博客 369

CodeForces - 1038C Gambling 模拟 贪心

题意弄懂了就非常简单。 题意:A和B做游戏,开始的时候,每个人都有n个数,A先手,两人轮流执行,轮到某个人的时候,他有两种操作,一种是把对方的数拿走扔掉,另一种是拿走自己的数加到自己的分数上,直到两个人的数全都没有了,游戏结束。假设两个人都足够聪明,问最终A的得分与B的得分的差是多少。 Solution:模拟,贪心。因为两个人的数全部拿走游戏才算结束,并且每个人每次操作都会拿走一个数,所以两个...

flyzer的博客 368

CodeForces - 1038D Slime 思维

推荐一边个人认为比较好的博客:https://blog.csdn.net/qq_37594941/article/details/82589288 题意:给出一个长度为n的数列,每个数都可以和左边的数或者右边的数结合(紧挨着的),结合后的结果为结合的数减去被结合的数得到的值,结合n-1次后,只剩下一个数,问这个数最大是多少。 Solution:只要弄明白了下面这个事实,这个题就好做了:至少有一...

flyzer的博客 349

Gym 101466 部分题解

题目链接 纪念一下和库里布莱恩特的这场菜鸡互啄。 3星Gym,一共做出来7个题。感觉最大的收获就是意识到了二分的重要性,还有就是学习到了一种新的排序方法——计数排序(好像又叫桶排序)。下面根据题的难度从简到难记录一下。 H题: 按照题意打印即可。 #include<iostream> #include<iomanip> #include<cstdio&gt...

flyzer的博客 341

POJ 3468 线段树区间更新

参考:poj3468(线段树区间更新&amp;区间求和模板) 题目链接:http://poj.org/problem?id=3468 题意: 输入 n, m表初始有 n 个数, 接下来 m 行输入, Q x y 表示询问区间 [x, y]的和;          C x y z 表示区间 [x, y] 内所有数加上 z ; AC_code: #include&lt;iostream&g...

flyzer的博客 336

POJ1386Play on Words(欧拉回路)

转自:POJ1386Play on Words(欧拉回路) 【题意】这个就相当于成语接龙,需满足前一个单词的尾字母与后一个的首字母相同。然后就是问是否 存在欧拉通路。 【分析】用两个数组存每个字母的入度与出度,再用vis[]判断字母是否出现,然后并查集判断是否联通。 定理1:无向图G存在欧拉通路的条件是:G为连通图,并且G只有两个奇度节点或者无奇度节点。 推论1:(1)当G是仅有两个奇度...

flyzer的博客 328

2019 Multi-University Training Contest 6

Stay Real 题意:给你一个树,每个点有点权,并且编号为 i 的点的父亲节点是 i/2,1为根节点,根节点没有父亲节点。A和B两个人轮流取点,只能选叶子节点,选完之后这个点从从树上删除,并且这个人叶子节点的点权加到这个人的得分上。并且题目保证,父亲节点的点权一定大于子节点的点权。A和B两个人都想让自己的得分最高,A先手,输出A和B的最终得分。 用优先队列贪心即可,每次贪心选择点权最大的叶...

flyzer的博客 327
上一篇: Codeforces Round #440 Div. 2 C. Maximum splitting
下一篇: Codeforces Round #440 Div. 2 E - Points, Lines and Ready-made Titles
flyzer
博客等级 码龄9年 27粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值