题目描述

经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源。然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Violet星球。为了重启Nescafé这一宏伟的科技工程,人类派出了一支由XLk、Poet_shy和lydrainbowcat三人组成的精英队伍,穿越时空隧道,去往Violet星球拯救领袖applepi。

applepi被囚禁的地点只有一扇门,当地人称它为“黑魔法师之门”。这扇门上画着一张无向无权图,而打开这扇门的密码就是图中每个点的度数大于零且都是偶数的子图的个数对1000000009取模的值。此处子图 (V, E) 定义为:点集V和边集E都是原图的任意子集,其中E中的边的端点都在V中。

但是Vani认为这样的密码过于简单,因此门上的图是动态的。起初图中只有N个顶点而没有边。Vani建造的门控系统共操作M次,每次往图中添加一条边。你必须在每次操作后都填写正确的密码,才能够打开黑魔法师的牢狱,去拯救伟大的领袖applepi。

输入

第一行包含两个整数N和M。
接下来M行,每行两个整数A和B,代表门控系统添加了一条无向边 (A, B)。

输出

输出一共M行,表示每次操作后的密码。

思路

这道题看上去很玄学,事实上其实很玄学。其实我们不用那么复杂去想,就仨字:病——差——集。每次读入两个点,判断他们的祖先(曾曾曾曾曾曾曾~祖父)是否相同,不相同就硬扯上关系(关系户)(其实就改祖先,说那么复杂干啥子),相同——都是一家人,一起做点贡献,ans=ans*2+1。

#include<cstdio>
#define NMA 200001
using namespace std;
long long f[NMA],n,m,e,r,a,b,ans;
int i;
int getfather(int x)
{if (f[x]==0) return x;else {f[x]=getfather(f[x]);return f[x];}
}
int main()
{freopen("a.in","r",stdin);scanf("%lld%lld",&n,&m);for (i=1;i<=m;i++){scanf("%lld%lld",&a,&b);e=getfather(a);r=getfather(b);if (e!=r){f[e]=r;}else ans=(ans*2+1)%1000000009;printf("%lld\n",ans);}
}

转载于:https://www.cnblogs.com/Sport-river/p/10390134.html

【NOIP2013模拟】黑魔法师之门相关推荐

  1. [JZOJ3385] [NOIP2013模拟] 黑魔法师之门 解题报告(并查集)

    Description 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Vi ...

  2. 刷过一题之黑魔法师之门

    经过了16 个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z 副官的愚蠢,地球的领袖applepi 被邪恶的黑魔法师Vani 囚禁在了Violet 星球. ...

  3. jzoj_3385_黑魔法师之门

    Description 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖applepi被邪恶的黑魔法师Vani囚禁在了Vi ...

  4. 【并查集】黑魔法师之门(codevs 1995/joyoi-codevs 1995)

    黑魔法师之门 codevs 1995 joyoi-codevs 1995 题目大意: 有一堆点,每一次操作添加一条边,并要输出每个点的度数都大于1并为偶数的子图的个数 原题: 题目描述 经过了16个工 ...

  5. 【并查集】黑魔法师之门

    黑魔法师之门 (magician.pas/c/cpp) 题目描述 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源.然而在与Violet星球的战争中,由于Z副官的愚蠢,地球的领袖appl ...

  6. CNUOJ 535 黑魔法师之门

    先摆出题 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 背景: 经过了16个工作日的紧张忙碌,未来的人类终于收集到了足够的能源 ...

  7. 【tyvj1863】【codevs1995】黑魔法师之门,有毒的并查集

    传送门1 传送门2 写在前面:本来就想做个每日任务打个卡,结果差点被毒死 思路:读明白题意了就是水题,子图中不必是个联通的,用并查集维护一下连通性,每次读入x,y如果在同一集合那么就会形成一个环,这个 ...

  8. 【NOIP2013模拟】守卫者的挑战(期望概率)

    Description 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过."我,Nizem,是黑魔法圣殿的守卫者.如 ...

  9. JZOJ 3461. 【NOIP2013模拟联考5】小麦亩产一千八(kela)

    3461. [NOIP2013模拟联考5]小麦亩产一千八(kela) (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Det ...

最新文章

  1. linux rpm 安装包制作
  2. 如何获取Vim中所有已安装颜色方案的列表?
  3. arm单片机中函数参数的传递
  4. TCP/IP 某些最常见的错误原因码 (errno)列表
  5. OpenGL Gouraud着色法的实例
  6. 【MySQL】Mysql索引优化与底层数据结构深入剖析 - 笔记
  7. matlab学习:图像频域分析之Gabor滤波
  8. pycharm运行模型时怎么设置权重?_使用AMP和Tensor Cores得到更快速,更节省内存的PyTorch模型...
  9. centos7中yum源安装mysql_centos7下使用yum安装mysql
  10. ThinkPHP5 笔记-控制器
  11. 12、阈值分割基础理论
  12. 虾扑 上货软件全新升级提升运营率
  13. catia二次开发招标_CATIA二次开发
  14. Java毕设-商标管理系统
  15. 开独立网店需要哪些步骤
  16. layer添加元素 openlayer_OpenLayers 官网例子的中文详解
  17. Android Canvas画布上放图片,保存图片为黑色,转换成PNG格式还是黑色,画布设置白色则图片不显示,特例出完美的解决办法
  18. View Programming Guide for IOS:Views笔记
  19. 解决复制大段英文文献到翻译软件出现的换行问题
  20. java中关键字缺省(default)

热门文章

  1. 明明连上了网,但是打不开网页
  2. 用css来设置table的border
  3. Asp.net常用的操作函数
  4. Face Alignment at 3000 FPS via Regressing Local Binary Features(CVPR2014)读后感(first pass)
  5. 图像处理之基于NCC模板匹配识别
  6. Mysql中where条件一个单引号引发的性能损耗
  7. Javascript中typeof instanceof constructor的区别
  8. Android在ListView滑动数据混乱
  9. Mysql 各个版本区别
  10. Nginx服务器编译添加SSL模块