2013年3月2日

摘要: 题意 就是一个小孩报数字;问从a ~ b 是奇还是偶 然后出现矛盾时,判断矛盾是什么时候出现;输出前面有多少句是对的解题 这题 确实是有点难度;一开始怎么也没有想清楚;想清楚还是蛮简单的;首先要明白一个原理,那就是从哪里到哪里是奇偶 有断点就可以决定,所以只与端点有关系;所以把所有想法都放到端点上来;端点与端点之间只有 奇偶性不同和相同的关系;可以用并查集 + ^(亦或运算)同时操作解决;首先如果两个点有关系,则把这两个点放在同一个集合里面,祖先到祖先的距离永远赋值为0 然后同一个集合的元素还好说;在进行 压缩路径的时候 同时更新一下 距离;如果两个不同的集合要变成一个集合;同理 和上一个.. 阅读全文
posted @ 2013-03-02 22:05 浪舟 阅读(229) 评论(0) 推荐(0)
摘要: 解题方法 需要画图 首先把祖先到祖先的距离设置为0 祖先要吃的动物赋值为2 吃祖先的动物为1 为什么这样设置呢!首先所有的动物到祖先距离都为0;当有动物吃祖先的时候,他到祖先的距离变化为1 当有动物吃这个到祖先距离为1的动物时,这个动物到祖先的距离变成2,如果有动物吃这个到祖先的距离为2的动物时,这个动物到祖先的距离为3;因为这有三种动物,所以第三种动物就是祖先(用%3 的方法就可以更新出这个动物正确的等级)到这里都只能够是判断共祖先的动物是否存在吃与被吃的关系;如果两个不相干的集合要放到一个集合;怎么办呢! 不妨画个图,这两个图如何合并成一个图呢! 加入存在 这个集合的蛇 ... 阅读全文
posted @ 2013-03-02 21:42 浪舟 阅读(177) 评论(0) 推荐(0)

导航