【Trie】The XOR-longest Path】的更多相关文章

[题目链接] https://loj.ac/problem/10050 [题意] 给出n个数,其中取出两个数来,让其异或值最大. [题解] 经典的01字典树问题. 首先需要把01字典树建出来. 然后对于每一个串都跑一遍.如果存在当前位 不同的 节点,就往那里跑,否则顺着跑. 一切尽在代码中. [代码] #include<bits/stdc++.h> using namespace std; typedef long long ll; ; ; ]; int a[N],n,idx; void In…
[BZOJ2337][HNOI2011]XOR和路径 Description 题解:异或的期望不好搞?我们考虑按位拆分一下. 我们设f[i]表示到达i后,还要走过的路径在当前位上的异或值得期望是多少(妈呀好啰嗦),设d[i]表示i的度数.然后对于某条边(a,b),如果它的权值是1,那么f[b]+=(1-f[a])/d[a]:如果它的权值是0,那么f[b]+=f[a]/d[a],然后我们移个项,就变成了一堆方程组求解,直接高斯消元. 别忘了f[n]=0! #include <cstdio> #i…
[BZOJ2115][Wc2011] Xor Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边. 图中可能有重边或自环. Output 仅包含一个整数,表示最大的XOR和(十进制结果),注意输出后加换行回车. Sample Input 5 7 1 2 2 1 3 2 2 4 1 2 5 1 4 5 3 5 3 4 4 3 2 Sam…
[BZOJ4269]再见Xor Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行一个正整数N. 接下来一行N个非负整数. Output 一行,包含两个数,最大值和次大值. Sample Input 3 3 5 6 Sample Output 6 5 HINT 100% : N <= 100000, 保证N个数不全是0,而且在int范围内 题解:大水~ 在线性基上贪心得到最大值,用最大值…
[题目链接]: https://loj.ac/problem/10056 [题意] 请输出树上两个点的异或路径  的最大值. [题解] 这个题目,y总说过怎么做之后,简直就是醍醐灌顶了. 我们知道Xor路径,我们从根结点处理所有结点的  到根结点的异或和,我们想要两个点的异或路径. 其实就是利用根结点  到两个点  异或和 .因为LCA到根结点异或了两遍,所以答案就保留了异或路径的部分. 其实这个题目就是Xor——pair的变种. 处理从根结点出发的所有结点的位置的异或值. [代码] #incl…
[参考博客]: LOJ#10051」「一本通 2.3 例 3」Nikitosh 和异或(Trie [题目链接]: https://loj.ac/problem/10051 [题意]: 找出两个不相交区间的异或值相加. [题解]: 这个题目还是挺有趣的,不是单纯地套模板了. 这个题目类似于 最大字段和问题. 首先我们可以预处理出所有的异或前缀和. 区间的异或值,就是两端点异或前缀和的异或值. 还需要处理出 L[t] = max{ Xor[i,j] }  1<= i,j <= t R[t] = m…
4269: 再见Xor Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 176  Solved: 107[Submit][Status][Discuss] Description 给定N个数,你可以在这些数中任意选一些数出来,每个数可以选任意多次,试求出你能选出的数的异或和的最大值和严格次大值. Input 第一行一个正整数N. 接下来一行N个非负整数. Output 一行,包含两个数,最大值和次大值. Sample Input 3 3 5 6 S…
2115: [Wc2011] Xor Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2512  Solved: 1049[Submit][Status][Discuss] Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边. 图中可能有重边或自环. Output 仅包含一个整数,表示最…
参考博客: https://www.luogu.org/problemnew/solution/P3294 https://blog.csdn.net/VictoryCzt/article/details/87186287 [题意] 题意如果看不懂,请到第二个链接去推一推事例,你就明白这个过程了. 来自题解中glf大佬的解析. 这题目描述真是令人窒息. 3个条件的意思大概是这样: (1).如果有单词作为现在正在填入的单词的后缀但并未填入,将花费n*n的代价. (2).如果没有单词作为当前填入单词…
[题目链接]: https://loj.ac/problem/10053 [题意]: 给出n个模式串.请问文本串是由多少个模式串组成的. [题解]: 当我学完AC自动机后,发现这个题目也太简单了吧. 不过当时我还是不会,后来看了看洛谷有位大佬的题解. 简直醍醐灌顶.纯Trie树也能写出这个题来. 就是把对应的位置标记上,好比dp的转移. 这个转移是,开一个Mark数组,看看文本串中哪个位置能通过这些模式串匹配出来的. 然后一直转移即可. [代码]: //L语言 #include<cstdio>…