刚看到这题时感觉是树上博弈,然后我开始用一维的数据找规律。发现在一维的树上,如果把各边的值合在一起当成一个二进制数,那么,ans只与奇偶性有关,于是,我提出了一个比较大胆的假设:若连接在root上的所有边异或和为1,则girls win,否则boys win。然后强力大腿队友立马就把我这想法用代码实现了,在oj上一交,没过,我想,算了,也许是想法错了,打算再想想,突然队友发现#define N 400000 里,N小了,改大一点点再交,卧槽!这特么居然真的可以AC!后来看别人博客,发现了一个不错的理解这个原理的思路,就是,只考虑与跟相邻的边,每次男生或者女生进行操作时,根的一条临边都必然取反,而最终状态是各临边全为0,显然,这个总操作数的奇偶性为必然的,与各临边异或和有关。下面有我今天自己刚刚补上的代码。

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5963

 #include<bits/stdc++.h>
using namespace std; int ans[]; map< pair<int,int>,int> edges; int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m,x,y,z,op;
scanf("%d%d",&n,&m);
memset(ans,,sizeof(ans));
edges.clear();
for(int i=;i<n;i++)
{
scanf("%d%d%d",&x,&y,&z);
if(x>y) swap(x,y);
edges[make_pair(x,y)]=z;
ans[x]^=z;
ans[y]^=z;
}
while(m--)
{
scanf("%d",&op);
if(op)
{
scanf("%d%d%d",&x,&y,&z);
if(x>y) swap(x,y);
if(edges[make_pair(x,y)]!=z)
{
ans[x]^=;
ans[y]^=;
}
edges[make_pair(x,y)]=z;
}
else
{
scanf("%d",&x);
printf("%s\n",ans[x]?"Girls win!":"Boys win!");
}
}
}
}

hdu_5963:朋友的更多相关文章

  1. QQ空间/朋友圈类界面的搭建

    类似于QQ空间的布局主要是在说说信息.点赞.回复三大部分的自适应布局上. 当我们需要搭建类似QQ空间.微信朋友圈的界面的时候,可做如下操作: 创建一个对应的model类: 创建一个对应model类的f ...

  2. 2017《时间的朋友》罗振宇跨年演讲ppt

    2016年12月31日晚,罗辑思维的罗振宇将在深圳湾春茧体育馆进行2017<时间的朋友>跨年演讲,很多网友一直在找直播的地址还是没找到,现在ytkah就第一时间分享一些精彩ppt弥补网友的 ...

  3. Python微信-- 分享接口(分享到朋友圈、朋友、空间)

    生成JS-SDK权限验证的签名 获取signature(签名)首先要获得 1.#获得jsapi_ticket 2.#获取当前页面的url #获取当前页面的url url="{}://{}{} ...

  4. Apple Watch版微信来了 收发微信刷朋友圈不在话下

    昨晚果粉守了一夜的Apple Watch发布会,意料中的惊喜不少,最让人兴奋的是微信成为首批支持的应用.是的,在全球拥有4.68亿月活跃用户的微信怎么可能不第一时间入驻呢?之前我们就有聊过Apple ...

  5. UC浏览器 分享到朋友圈和微信好友 分类: JavaScript 2015-04-28 14:45 615人阅读 评论(1) 收藏

    用手机UC浏览器访问新浪微博,会注意到有这样的两个分享按钮: 在手机端浏览器里,点击分享按钮,就可以启动微信客户端并分享到微信.研究了下其源代码,存在这样的一个js:http://mjs.sinaim ...

  6. <把时间当做朋友>读书笔记

    这本书我早就看过,还想再来一遍 开始这一行动是看李萌在朋友圈晒101计划,每天健身,读书半小时之类的,我也想做点啥,那就每天睡前读书半小时吧,怎么坚持下去呢? 我不想晒到朋友圈里,那就晒给玉玉看吧, ...

  7. MWeb 2.0 测试版可以下载啦,这次是公开测试,感兴趣的朋友可以试试

    2.0 版是 MWeb 发布以来,最重要的一个版本.MWeb 自去年一月份发布以来,获得了很多朋友的建议,在此非常感谢!没有你们,2.0 版可能就不能出来!然后再次感谢 Producter: http ...

  8. hduoj 1286 找新朋友

    http://acm.hdu.edu.cn/showproblem.php?pid=1286 找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  9. iOS版微信朋友圈数据库的简要分析

    本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4550523.html 之前写了一些关于微信聊天记录的博文之后,不少 ...

随机推荐

  1. BOM中的各种height

    BOM中的高度属性主要涉及三块:screen.window.文档下的元素. screen 其中screen最简单,代表着显示器的对象. screen.height :屏幕高度,像素为单位. scree ...

  2. div,css命名规范!

    命名规则说明: 1).所有的命名最好都小写 2).属性的值一定要用双引号("")括起来,且一定要有值如class="pcss5",id="pcss5& ...

  3. String、StringBuffer、StringBuilder比较

    String.StringBuffer.StringBuilder三者是字符串中重要的内容,也是面试过程中经常问到的问题,下面就来总结一下三者的区别. 1.三者都可以存储和操作字符串. 2.Strin ...

  4. # ? & 号在url中的的作用

    1. # 10年9月,twitter改版.一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为http://twitter.com/username改版后,就变 ...

  5. CSS active选择器与CSS hover选择器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  6. linux发行版和内核的关系

    转自:http://m.blog.csdn.net/article/details?id=50595230 Linux内核是计算机操作系统的核心.一个完整的 Linux发行版包括了内核与一些其他与文件 ...

  7. Java NIO 核心组件学习笔记

    背景知识 同步.异步.阻塞.非阻塞 首先,这几个概念非常容易搞混淆,但NIO中又有涉及,所以总结一下[1]. 同步:API调用返回时调用者就知道操作的结果如何了(实际读取/写入了多少字节). 异步:相 ...

  8. 1.Google Chrome浏览器 控制台全解析

    Google Chrome浏览器 控制台全解析 在Google Chrome浏览器出来之前,我一直使用FireFox,因为FireFox的插件非常丰富,更因为FireFox有强大的Firebug,对于 ...

  9. 5.如何修改maven本地仓库

    首先测试机子上时候安装上maven,步骤是win+r-->cmd-->mvn -v-->看其是否出现如下字样:   如果时间长了你忘记了你安装的maven目录或者jdk目录,那么下面 ...

  10. htm5

    htm5在html4.0. xhtm1.0的基础上增加了音频.视频.拖拽等功能,不过,htmL5,还在完善中,不过大部分浏览器都已经支持了部分功能. 兼容性: 最新版本的 Safari.Chrome. ...