题目 :http://poj.org/problem?id=3617 给定一个字符序列S,按一定规则输出最小字典序的结果,规则是:如果S的头部字符小于尾部字符,那么将S的头部字符加到输出字符串,然后删除这个字符,得到新的头部字符,反之同样。 输入样例 : 6 A C D B C B 输出样例 : A ...
分类:
其他好文 时间:
2020-01-22 22:22:56
阅读次数:
85
将字符串每个后缀按照字典序排序 $sa:$表示排名为$i$的后缀的起始位置 $rk:$表示起始位置为$i$的后缀的排名 $sa[rk[i]]=i,\ rk[sa[i]]=i$ 通过倍增和基数排序来实现$O(n\ log\ n)$的排序 基数排序时先排第一关键字,再在第一关键字相同下排第二关键字 第二 ...
分类:
编程语言 时间:
2020-01-22 22:00:40
阅读次数:
64
构建字典图实现自动跳转,构建失配指针实现多模式匹配 $fail$指针表示文本串在当前节点失配后,我们应该到哪个节点去继续匹配,$u$的$fail$指针指向$v$表示从根到$v$的字符串为从根到$u$的字符串的最长后缀,用$bfs$来构建$fail$指针 $fail[trie[x][i]]=trie[ ...
分类:
其他好文 时间:
2020-01-22 21:34:51
阅读次数:
101
题意: 找出树上异或和最大的一条路径$p$ $$ _{xor}length(p)=\oplus_{e\in_p}w(e) $$ 01字典树。同样用到了简单的异或性质 $0\oplus a = a, a\oplus a = 0$ 定义$f(u,v)$为$u$到$v$的路径异或和。那么$f(u,v) = ...
分类:
其他好文 时间:
2020-01-22 20:12:45
阅读次数:
64
"传送门" 题意: 有一个长度为 $n\ (1\leq n\leq 10^5)$的整数序列 $a_1,\cdots,a_n\ \ (0\leq a_i\leq 2^{30} 1)$,你需要找到一个非负整数 $X$ 使得 $\max(a_i\oplus X)$最小,其中 $\oplus$ 为按位异或运 ...
分类:
其他好文 时间:
2020-01-22 18:08:19
阅读次数:
69
前言:python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍散列类型。 一、散列类型 内部元素无序,不能通过下标取值 1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对 会替换前面的,v ...
分类:
编程语言 时间:
2020-01-22 16:04:23
阅读次数:
158
python后端面试第一部分:python基础 ################## Python语法基础 ####################### 变量常量 数据类型:数值型,字符串,列表,元组,集合,字典的操作, 控制语句:for循环,while循环,if语句 ############## ...
分类:
编程语言 时间:
2020-01-22 13:03:43
阅读次数:
73
http://poj.org/problem?id=3764 题意:求上任意两点的边权异或最大值。 解法:dfs遍历树的同时将异或值加入01字典树中,同时查询最大异或值。 这样为什么就能保证你所求的结果对应的路径是连续的呢?考虑三种情况: 1.深搜的两条路径一个包含在另一个中,这样一异或,公共的部分 ...
分类:
其他好文 时间:
2020-01-22 01:20:18
阅读次数:
107
前提条件:原字典内值不重复 #dict1 reverse_dict1 = dict([(value,key) for (key,value) in dict1.item()]) ...
分类:
编程语言 时间:
2020-01-21 23:35:00
阅读次数:
63
原文链接:任意门 题目大意:给你一组数,让你交换两个数的位置,让它们的和为奇数,且使其交换后,顺序满足最小字典序列。思路:这就是一道狗题,看代码,你就会******了,只需要sort排序。代码: 1 #include"iostream" 2 #include"algorithm" 3 #includ ...
分类:
其他好文 时间:
2020-01-21 22:00:33
阅读次数:
89