愤怒

考场想到正解

然后觉得我的“正解”和正解差不多 一样的效果

被忽略的与正解的不同也想到了

然而 我懒得再写

于是快乐10分

气坏了

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
#define rint register int
using std::sort;
using std::map;
//using std::cout;
//using std::endl;
template <class T>inline void read(T &X)
{
X=;int W=;char ch=;
while(!isdigit(ch))W|=ch=='-',ch=getchar();
while(isdigit(ch))X=(X<<)+(X<<)+(ch^),ch=getchar();
X=W?-X:X;return;
}
int n,cnt=,ans=;
long long sta[],end[],xors=,xore=,sta2[],end2[],fa[];
bool boo(true);
long long find(long long x){return fa[x]==x?x:fa[x]=find(fa[x]);}
map<int,int>num;
int main()
{
// freopen("duliu.in","r",stdin);
// freopen("duliu.out","w",stdout);
read(n);
for(rint i=;i<=n;++i)
read(sta[i]),sta2[i]=sta[i],xors^=sta[i];
sta[n+]=xors;sta2[n+]=xors;
for(rint i=;i<=n;++i)
{
read(end[i]),end2[i]=end[i];
xore^=end[i];
if(xors==end[i])boo=false;
}
end[n+]=xore;end2[n+]=xore;
++n;
sort(sta2+,sta2+n+);
sort(end2+,end2+n+); for(rint i=;i<=n;++i)
{
if(sta2[i]!=end2[i]){printf("-1\n");return ;}
}
cnt=;
for (int i=;i<=n;i++)
{
if (sta[i]!=end[i]||i==n)
{
if (i<n) ans++;
if (!num[sta[i]]) cnt++,num[sta[i]]=cnt;
if (!num[end[i]]) cnt++,num[end[i]]=cnt;
}
}
if (ans==)
{
printf("0\n");
return ;
}
for (int i=;i<=cnt;i++) fa[i]=i;
for (int i=;i<=n;i++) if (sta[i]!=end[i]) fa[find(num[sta[i]])]=find(num[end[i]]);
for (int i=;i<=cnt;i++) if (fa[i]==i) ans++;
printf("%d\n",ans-);
return ;
}

<JZOJ5910>duliu的更多相关文章

  1. JZOJ| 5910. DuLiu

    Description          LF是毒瘤出题人中AK IOI2019,不屑于参加NOI的唯一的人.他对人说话,总是满口垃圾题目者也,教人半懂不懂的.因为他姓李,别人便从QQ群上的“毒瘤李F ...

  2. duliu——思维+线段树

    题目 [题目描述]小 `D` 喜欢出毒瘤题毒人.当然,他的毒瘤更多体现在若干个难题组合在同一场比赛时.小 `D` 脑中有 $n$ 个毒瘤题 idea,第 $i$ 个的毒值为$d_i$.当第 $i$ 个 ...

  3. [JZOJ 5910] [NOIP2018模拟10.18] DuLiu 解题报告 (并查集+思维)

    题目链接: https://jzoj.net/senior/#contest/show/2530/0 题目: LF是毒瘤出题人中AK IOI2019,不屑于参加NOI的唯一的人.他对人说话,总是满口垃 ...

  4. duliu题之狼抓兔子题解

    拖了将近5天的正解和AC.........emmmmm........... 事实告诉我们这种毒瘤题一定要建双向边(用了不知道多少个小时质疑建边的人欲哭无泪) 心态爆炸的传送 题了个面 这是个求最小割 ...

  5. Objective - C NSArray不可变数组和NSMutableArray可变数组

    OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见 ...

  6. 【UER #1】[UOJ#12]猜数 [UOJ#13]跳蚤OS [UOJ#14]DZY Loves Graph

    [UOJ#12][UER #1]猜数 试题描述 这一天,小Y.小D.小C正在愉快地玩耍. 小Y是个数学家,他一拍脑袋冒出了一个神奇的完全平方数 n. 小D是个机灵鬼,很快从小Y嘴里套出了 n的值.然后 ...

  7. 【UER #1】跳蚤OS(Trie)

    跳蚤OS 是跳蚤国自主研发的功能强大的操作系统. 跳蚤OS的文件系统与普通的文件系统类似,是个文件夹套文件夹的结构.文件系统根目录称为“//”.我们可以用文件路径来表明文件所在的位置,比如“/flea ...

  8. bzoj 5287: [Hnoi2018]毒瘤

    Description Solution \(dfs\) 出一棵生成树之后,多出来的边就都是反祖边了 把反祖边两个端点都拿出来,就会得到最多 \(k=2*(m-n+1)\) 个关键点 除了关键点以外的 ...

  9. P1742 最小圆覆盖(计算几何)

    体验过\(O(n^3)\)过\(10^5\)吗?快来体验一波当\(wys\)的快感吧\(QAQ\) 前置芝士1:二元一次方程组求解 设 \[\begin{cases}a1 * x + b1*y=c1\ ...

随机推荐

  1. 题解 P2016 【战略游戏】

    题目 解法跟 dalao @real_ljs 类似,但没有用到递归 [分析] 题目相当于需要求覆盖这颗树需要的最小点数 用 \(Dp_{i,0/1}\) 表示在这棵树中,以 \(i\) 为根节点的子树 ...

  2. PAT Advanced 1074 Reversing Linked List (25) [链表]

    题目 Given a constant K and a singly linked list L, you are supposed to reverse the links of every K e ...

  3. PAT Advanced 1092 To Buy or Not to Buy (20) [Hash散列]

    题目 Eva would like to make a string of beads with her favorite colors so she went to a small shop to ...

  4. vue wangeditor3封装

      <script src="wangEditor/3.1.1/wangEditor.min.js"></script> Vue.component('my ...

  5. Python笔记_第四篇_高阶编程_GUI编程之Tkinter_1.使用Python进行GUI编程的概述

    1. GUI概述: GUI全称为Graphical User Interface,叫做图形用户界面,也是一种交互方式(Interaction).早期计算机使用的命令行界面(command-line i ...

  6. 14 微服务电商【黑马乐优商城】:day04-项目搭建(二)

    本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...

  7. LeetCode No.148,149,150

    No.148 SortList 排序链表 题目 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 输入: 4->2->1->3 输出: 1->2 ...

  8. rare alleles

    I.4 Where the rare alleles are found p是基因A的频率,N是个体数目(也就是基因型个数,所以基因个数是2n,所以全部个体的基因A的个数是2np),p方是PAA,np ...

  9. C++各种模板

    高精度: 重载运算符版: #include<cstdio> #include<cstring> #include<algorithm> using namespac ...

  10. Cobbler_自动装系统

    Cobbler —自动装系统的操作步骤 Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种系统. Cobbler 的安装 # 在一 ...