BZOJ-2115-Xor-WC2011
叙述性说明
分析
- 我把文库里的粘了过来.
仅仅知道点1到点N的一条路径和图中若干个环。就能通过异或,表示成全部路径。那么。须要多少环才干保证必然能表示成全部路径呢?事实上。并不须要非常多, 由于一些环能够通过其它的环异或得到,仅仅需保证环是相互 独立的。两两之间存在着不同的边(乘数)。
构建一棵生成树,统计非树边与生成树形成的环就可以,最多仅仅有M-N+1个环。可用dfs实现,时间复杂度为O(M)。
结合上述性质。能够设计贪心说法:将x表示成二进制数,从高位到低位枚举,当前位能取1则取1。
- 从高位到低位枚举当前位。
- 在a数组中选取一个当前位为1的数a[i],假如不存在a[i],则转1);
- 假如x的当前位为0,则x=x xor a[i];
- 将a数组中全部当前位为1的数a[j]与a[i]异或,a[j]=a[j] xor a[i], 转1)。
终于x保证必然是最大的,时间复杂度为O (NB)。(N为a数组的大小,B为二进制位数)
- 看了上面的解析就去打了, 结果好几次都 WA. 然后跟HZWER的代码对照, 发现他在步骤2中选过的元素在后面再进行步骤2时不去考虑了.
- 资料里怎么没说…
改了这个地方就对了
1直接左移62位是会报错的. 但一次一次来就没事…
- 这个题究竟和高斯消元和线性基的关系在哪?
- 贪心的那四步事实上就是标准的用高斯消元解异或方程组的步骤. 我后来更新了代码片.
- 解得的那些解就是线性基. 用它们直接异或就能够表示出全部原来a数组能够异或出的结果.
代码
https://code.csdn.net/snippets/619907
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
版权声明:本文博主原创文章,博客,未经同意不得转载。
BZOJ-2115-Xor-WC2011的更多相关文章
- BZOJ 2115 【Wc2011】 Xor
Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 ...
- bzoj 2115 Xor - 线性基 - 贪心
题目传送门 这是个通往vjudge的虫洞 这是个通往bzoj的虫洞 题目大意 问点$1$到点$n$的最大异或路径. 因为重复走一条边后,它的贡献会被消去.所以这条路径中有贡献的边可以看成是一条$1$到 ...
- ACM学习历程—BZOJ 2115 Xor(dfs && 独立回路 && xor高斯消元)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2115 题目大意是求一条从1到n的路径,使得路径xor和最大. 可以发现想枚举1到n的所有路 ...
- BZOJ 2115 Xor(抑或值最大路径)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2115 题意:给出一个带权无向图.求一条1到n的路径使得路径上权值的抑或值最大? 思路:( ...
- [BZOJ 2115] Xor
Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2115 Algorithm: 此题一看到是求异或和最大问题的,立即想到使用线性基解题 最终 ...
- BZOJ 2115 Xor(线性基)
题意:给定一个n<=50000个点m<=100000条边的无向联通图,每条边上有一个权值wi<=1e18.请你求一条从1到n的路径,使得路径上的边的异或和最大. 任意一条1到n的路径 ...
- -【线性基】【BZOJ 2460】【BZOJ 2115】【HDU 3949】
[把三道我做过的线性基题目放在一起总结一下,代码都挺简单,主要就是贪心思想和异或的高斯消元] [然后把网上的讲解归纳一下] 1.线性基: 若干数的线性基是一组数a1,a2,a3...an,其中ax的最 ...
- BZOJ 2337 XOR和路径 | 高斯消元 期望 位运算
BZOJ 2337 XOR和路径 题解 这道题和游走那道题很像,但又不是完全相同. 因为异或,所以我们考虑拆位,分别考虑每一位: 设x[u]是从点u出发.到达点n时这一位异或和是1的概率. 对于所有这 ...
- bzoj 2115: [Wc2011] Xor xor高斯消元
2115: [Wc2011] Xor Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 797 Solved: 375[Submit][Status] ...
- BZOJ 2115: [Wc2011] Xor
2115: [Wc2011] Xor Time Limit: 10 Sec Memory Limit: 259 MB Submit: 2794 Solved: 1184 [Submit][Stat ...
随机推荐
- C语言中scanf/fscanf 的%[]和%n说明符的使用方法
标准输入输出函数%[]和%n说明符的使用方法 scanf fscanf,均从第一个非空格的可显示字符开始读起! 标准输入输出函数scanf具有相对较多的转换说明符,它常常作为入 ...
- JavaScript引用类型之Object类
ECMAScript中的Object类跟Java中的Object类相似,ECMAScript中的全部类都由这个类继承而来,Object类中的全部属性和方法都会出如今其他类中,所以理解Object类,就 ...
- RANSAC - 随机采样一致性算法
RANSAC范例的正式描述如下: 首先,要给定: 1一个模型,该模型需要最少n个数据点去实例化它的自由参数: 2一组数据点P,P中包含数据点的数量#(P)大于n. 然后, 从P中随机地选择n个点(组成 ...
- 开玩笑Web它servlet(五岁以下儿童)---- 如何解决servlet线程安全问题
servlet默认值是安全线的存在,但说白,servlet安全线实际上是一个多线程线程安全问题.因为servlet它正好是一个多线程的安全问题出现. 每次通过浏览器http同意提交请求,将一个实例se ...
- 该项目的建设maven片:4.协调和依赖,spring依赖注入demo
源码下载 协调 <groupId>com.demo.animal</groupId> <artifactId>animal-core</artifactId& ...
- XHTML学习笔记
1.每个网页都是在XML声明和DTD之后以一个<html>标记开始,以一个</html>标记结束 这两个标记表明在它们之间的所有文本都是HTML格式,他告诉浏览器如何理解该文档 ...
- TreeSet排序
TreeSet的排序能够通过两种方法来实现: 1.通过TreeSet(Comparator<? super E> comparator) 构造方法指定TreeSet的比較器进行排序. 2. ...
- leetcode 之 Permutation Sequence
Permutation Sequence The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and ...
- Struts2 开发环境搭建
一.开发环境 eclipse+tomcat+struts-2.2.3 eclipse下载地址:http://www.eclipse.org/downloads/ tomca ...
- U9文件与文件系统的压缩和打包
1.在Linux的环境中,压缩文件的扩展名大多为:*.tar,*.tar.gz,*.tgz,*.bz2. 2.gzip可以说是应用最广的压缩命令了.目前gzip可以揭开compress,zip和gzi ...