Woc,考场(面试)忘记打平衡树怎么办,Trie救你命 文本只发布于博客园,其他地方出现本文均是未经许可的盗版. 算法导入 众所周知平衡树很难打(大佬除外),还老是调错.万一这种事情发生在关键时刻你就GG了.那我们怎么办呢? 从本质上介绍,平衡树作用就是维护一个有序的序列(关系).很多操作我们用vector(数组)+lower_bound(二分查找),都可以实现.但是vector插入不便,导致序列维护不便.如果用list(链表)代替vector,那么查找又很慢.怎么办呢? 考虑到我们一般都是维护…
可持久化:支持查询历史版本和在历史版本上修改 可持久化数组 主席树做即可. [模板]可持久化数组(可持久化线段树/平衡树) 可持久化并查集 可持久化并查集 主席树做即可. 要按秩合并.(路径压缩每次建logn条链,会卡爆空间MLE) 主席树节点,维护father(是一个真实下标),维护dep(集合的最大深度), 一个关键函数是query,找到代表实际位置为pos的节点的编号 对于一个版本, 合并:先找到这个两个位置的集合的根节点. 不在同一个集合里的话,就合并. 合并的时候,新建一条链,并且更新…
然而好像没有平衡树 还是题解包: T1:森林 树上主席树+启发式合并. 然而好像知道标签就没啥了.在启发式合并时可以顺手求lca 然而这题好像可以时间换空间(回收空间) T2:影魔 难点在于考虑贡献的来源 考虑一个区间两端点和区间最值(不含端点)的关系 小,中,大:贡献p1 大,小,大:贡献p2 大,中,小:贡献p1 则预处理出每个点左右第一个比它大的数的位置,设为l和r 则l会对r有p2的贡献,l会对i+1-r-1产生p1的贡献,同理r会对l+1~i-1产生p1的贡献. 用线段树维护扫描线,正…
议题:TRIE树 (Trie Tree or Prefix Tree): 分析: 又称字典树或者前缀树,一种用于快速检索的多叉树结构:英文字母的Trie树为26叉树,数字的Trie树为10叉树:All the descendants of a node have a common prefix of the sequence associated with that node, and the root is associated with the empty sequence. 由于不同的se…
实验室项目:1.实验室方向 2.用两分钟介绍自己的项目,创新点在哪里 个人项目:     1.自己实现的贝叶斯分类器,目的,怎么做的 2.怎么计算各个分类的先验.(因为我使用的训练预料是每个分类10篇,没有分类的先验) 3 每个主题有10篇文档,假设有1W篇文档,如何分到不同的主题中(我答的是计算与每个文档中其它文章的相似度,每个doc用一个term数组来表示,数组中每位表示的是这个文档中该单词 出现的个数(过滤掉停用词), 面试官提示会有漏掉的停用词,我说用出现的次数除于TF, 面试官说这就是…
实验室项目:1.实验室方向 2.用两分钟介绍自己的项目,创新点在哪里 个人项目:     1.自己实现的贝叶斯分类器,目的,怎么做的 2.怎么计算各个分类的先验.(因为我使用的训练预料是每个分类10篇,没有分类的先验) 3 每个主题有10篇文档,假设有1W篇文档,如何分到不同的主题中(我答的是计算与每个文档中其它文章的相似度,每个doc用一个term数组来表示,数组中每位表示的是这个文档中该单词 出现的个数(过滤掉停用词), 面试官提示会有漏掉的停用词,我说用出现的次数除于TF, 面试官说这就是…
题外 忽然想起去年的HNOI2015总结里好像引了一句诗: 此情可待成追忆,只是当时已惘然. Day0 唔,感觉不知道想些什么,只是觉得其实还没有做好准备,想学的东西学的仓促,想复习的东西,也只能看一看. 感觉省选来的太突然,太快了... 但是一直告诉自己不能紧张...紧张反而才会出事. 教练也进来安慰我们,让我们不要紧张: “省队是你的就一定是你的,不是你的你怎么也拿不到...” “你没学过的就肯定不会考了!” 好吧,虽然不太可信,不过还是心理安全些了... 所以就是待在机房里打打牌.玩玩ss…
第一次在学校过中秋节,给家里人视频电话,感觉快回家了很开心, 然后还吃了汉堡喝饮料非常爽,颓废了一会儿还换了新机房,$Linux2.0$非常dei,少爷机也非常快, 发现好像测评机又成了老爷机,这就是信息领域的更新速度吗?? T1 Lesson5! 咕咕咕 T2 贝尔数 原先见过这种东西,但是这道题确实用不上... 考虑利用题目里面给的公式来做 1.$Bell_{n+1}=\sum_{k=0}^{n}C_{n}^{k}*Bell_{k}$ 2.$Bell_{n+p}\equiv Bell_{n+…
Day -1 晚上被dg谈了谈人生,没有卵用 Day 0 早上又被老吕教训了一遍,想打板子,打印机还坏了,老吕又奶了一波题,后来发现一个都没中.之后就出发了,中午吃了点肯德基,妈妈来了,给我了个小袋子,说祈福了,让我随身带着,后来发现果然没什么用.火车上和yzh颓了一会小游戏,又睡了一会,还和邻座的srs聊了一会.到了燕大,试机时间只剩了15min,打了个线段树和暴力拍上了,就没啥事了.键盘很爽.和myx一个宿舍,晚上准点睡觉. Day 1 早上6点起了床,刷牙洗脸,没干什么就7点了,大家一起集…
在生活中们有时会遇到一些有关字符串匹配的问题. 这时打暴力往往显得很愚蠢,效率低下. 所以就需要一些算法和数据结构来提高效率. Hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值.简单的说就是一种将任意长度的消息压缩到某一固定长度的消…
把电话号码转换成为词典中能够记忆的的单词的组合,找到最短的组合. 我这道题应用到的知识点: 1 Trie数据结构 2 map的应用 3 动态规划法Word Break的知识 4 递归剪枝法 思路: 1 建立Trie字典树.方便查找, 可是字典树不是使用字符来建立的.而是把字符转换成数字.建立一个数字字典树. 然后叶子节点设置一个容器vector<string>装原单词. 2 动态规划建立一个表,记录能够在字典树中找到的字符串的前缀子串 3 假设找到整个串都在字典树中,那么就能够直接返回这个单词…
整型 计算机的内存的基本单位是位(bit),可以将其看作电子开关,可以开,表示1:也可以关表示0. 字节(byte)通常指八位的内存单元. 8bit=1byte=1B; 1KB=1024B; 1M=1024KB; 1G=1024M; 1T=1024G; 如果在考场上忘记了数据类型的范围或字节数,莫着急,C++的特技<climits>就是为了解决此问题的. 常用函数:N_MAX,N_MIN.(N代表数据类型) 秒懂代码: #include<iostream> #include<…
1.计数 (count.cpp/c/pas)时间限制:1s内存限制:256MB[问题描述]给出 m 个数 a[1],a[2],…,a[m]求 1~n 中有多少数不是 a[1],a[2],…,a[m]的倍数.[输入]输入文件名为 count.in.第一行,包含两个整数:n,m第二行,包含 m 个数,表示 a[1],a[2],…,a[m][输出]输出文件名为 count.out.输出一行,包含 1 个整数,表示答案[输入输出样例] count.in count.out 10 22 3 3 [数据说明…
这是一道看似复杂其实也不简单的思维题. 其实思路很明显. 因为这道题的数据范围比较大,有1e5的询问,如果暴力(像我考场上那样打平衡树)的话可以做到$mnlogn$. 但那样也是稳T. 经过思考之后我们可以发现,这道题必定要使用m的解法,也就是对于每一个询问$O1$求解.(总不可能$mlogn$求解) 那么怎么$O1$呢? 众所周知,$O1$算法自古以来就和数学脱不开关系. 而本题中有哪些量可以扯上来搞一搞呢? 具体的值?肯定不现实. 那也就只剩下区间长度了. 针对区间长度进行考察之后,我们可以…
upd--7.6 原线性求逆元代码有另一种更优写法 题目链接: https://www.luogu.org/problemnew/show/P3811 概念: 一想到JXOI 2018考场上忘记逆元怎么打就觉得好笑,白白让T1落得如此下场. 推荐阅读:https://www.luogu.org/blog/zjp-shadow/cheng-fa-ni-yuan 我们可能经常遇到这样的情况(如JXOI2018 T1) 计算一个类似\(a/b\)%\(p\)的式子,根据同余性质我们是不能$a \(%p…
题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把一个瓶子的水全部倒进另一个里,然后把空瓶丢弃.(不能丢弃有水的瓶子) 显然在某些情况下CC无法达到目标,比如N=3,K=1.此时CC会重新买一些新的瓶子(新瓶子容量无限,开始时有1升水),以到达目标. 现在CC想知道,最少需要买多少新瓶子才能达到目标呢? 输入输出格式 输入格式: 一行两个正整数, N,KN,K(1<…
这次意外考得不错…但是并没有太多厉害的地方,因为我只是打满了暴力[还没去推T3] 第一题折腾了一个小时,看了看时间先去写第二题了.第二题尝试了半天还是只写了三十分的暴力,然后看到第三题是期望,本能排斥,跑回去写第一题了. 手画第一题的样例2,指着图片一点一点调试发现思路中间就错了,然后开了份新代码重写去了,好在原来那份里大部分东西都用得上.按数据点骗分,推出了y=2的性质,最后居然多拿了25分. 只剩下二十分钟了,第三题直奔数据范围.把k=2的分手推出来,然后非常没有梦想地选择搜索过小于8的数据…
QZOI2019 CSP-S模拟赛 T1 错误的贪心导致考场上只有10pts... 看来以后贪心还是需要先证明啊 题目描述 小A和小B在玩一个游戏,他们两个人每人有 $n$ 张牌,每张牌有一个点数,并且在接下来的 $n$ 个回合中每回合他们两人会分别打出手中的一张牌,点数严格更高的一方得一分,然而现在小A通过某种神秘的方法得到了小B的出牌顺序,现在他希望规划自己的出牌顺序使得自己在得分尽可能高的前提下出牌的字典序尽可能大. 题意分析 给出一个数列$b$,给出一个相同长度的数列$a$,要求重新排列…
6.6  应用:有限状态机 这个东西说了半天,感觉就是把逻辑弄得跟有向图一样,没看出来什么高端的东西,下面就整理下书上说的概念: 有限状态机(FSM,Finite-State Machine)是依据输入改变状态机器或程序.使用图来表示一个有限状态机是非常简单的,图种方块(或原)称为节点,节点之间带箭头的线称为边(edge)或弧(arc). 6.6.1  输入字符串的验证 读取输入流程的程序通常必须执行一定的错误检查步骤以验证输入.比如我们定义如下几条规则: 1.字符串必须以字母x开始,以字母z结…
T1 关于我考场上乱冲平衡树这件sb事 很快就冲了出来 然后手抖打错样例,把我hack了 sb字典序 正解: 先不考虑字典序问题,先将最大分数找出来,然后按照顺序考虑每一个位置填什么那个数能让分数尽可能的大,题解说显然,这样的数是具有单调性的,所以可以二分来求. 然后就可以用线段树来维护最大分数,然后对每一位二分,来找出字典序大的方案即可. 代码缩进可能有亿一点点怪,不要在意. 附带精美调试信息 Code #include<set> #include<cstdio> #includ…
在网上看到的一篇小说,感觉有点意思,转载过来大家一起围观下,作者很幽默很风趣. 导读:iPhone的隐藏功能!Jobs的军方身份!图灵服毒自杀的传奇故事!中兴华为的神秘背景! 你真的认为iPhone只是一部手机么?告诉你iPhone中的惊天秘密. 闲言不表,直奔主题.我是一个程序员,上周参加了一个开源软件交流大会,其实会上并没有听到什么新鲜的东西.但是在会中,偶然间听到了一个关于iphone的秘密,却着实令我震惊了,事情具体是这样的,听我慢慢道来. 大会是上午9:00点开始,主持人寒暄了一会,就…
闲言不表,直奔主题.我是一个程序员,上周参加了一个开源软件交流大会,其实会上并没有听到什么新鲜的东西.但是在会中,偶然间听到了一个关于iphone的秘密,却着实令我震惊了,事情具体是这样的,听我慢慢道来. 大会是上午9:00点开始,主持人寒暄了一会,就由国内国外的一些it行业的从业人员来分享自己在开发中的一些经验,心得等等!由于我是被领导派来参加的,所以,本来也没什么兴趣,于是就在下面悄悄的玩起了手机. 我旁边坐的是一位文质彬彬的台湾人,个子不高,带着眼镜,书生气很浓,大概40岁上下,他也没怎么…
#!/bin/bash ######################################################### #Created Time: Tue Aug 7 01:29:09 2018 # #version:1.0 by:kingle Mail: kingle122@vip.qq.com # #基于oldboy书籍优化编写 # #实现功能:一键系统优化15项脚本,适用于Centos6.x # ####################################…
在网上看到的一篇小说,感觉有点意思,转载过来大家一起围观下,作者很幽默很风趣. 导读:iPhone的隐藏功能!Jobs的军方身份!图灵服毒自杀的传奇故事!中兴华为的神秘背景! 你真的认为iPhone只是一部手机么?告诉你iPhone中的惊天秘密. 闲言不表,直奔主题.我是一个程序员,上周参加了一个开源软件交流大会,其实会上并没有听到什么新鲜的东西.但是在会中,偶然间听到了一个关于iphone的秘密,却着实令我震惊了,事情具体是这样的,听我慢慢道来. 大会是上午9:00点开始,主持人寒暄了一会,就…
[xsy1629]可持久化序列 - 可持久化平衡树 http://www.cnblogs.com/Sdchr/p/6258827.html [bzoj4260]REBXOR - Trie 事实上只是一道Trie树的题. 只是被林导钦定成可持久化的了. 区间异或和,转化为前缀异或和. 预处理向前最大的异或和,向后最大的异或和,和前缀最大异或和,枚举分割点求答案. #include <cstdio> #include <cctype> #include <climits>…
leetcode面试准备:Implement Trie (Prefix Tree) 1 题目 Implement a trie withinsert, search, and startsWith methods. Note: You may assume that all inputs are consist of lowercase letters a-z. 2 思路 该题是实现trie树. Trie,又称单词查找树或键树,是一种树形结构.典型应用是用于统计和排序大量的字符串(但不仅限于字符…
不想多说什么了.费空间,也不算太快,唯一的好处就是好写吧. #include <cstdio> #include <cstring> const int MAXN=100010<<5,INF=10000000; int n; class Trie { public: Trie(void) { cnt=1; memset(s,0,sizeof s); } void Insert(int x) { int k=1,p=x+INF; for(int i=30,t;~i;++s…
(一)Trie的简单介绍 Trie树,又称字典树,单词查找树或者前缀树.是一种用于高速检索的多叉树结构,如英文字母的字典树是一个26叉树.数字的字典树是一个10叉树. 他的核心思想是空间换时间,空间消耗大可是插入和查询有着非常优秀的时间复杂度. (二)Trie的定义 Trie树的键不是直接保存在节点中,而是由节点在树中的位置决定.一个节点的全部子孙都有同样的前缀(prefix),从根节点到当前结点的路径上的全部字母组成当前位置的字符串.结点能够保存当前字符串.出现次数.指针数组(指向子树)以及是…
1.列出安装Hadoop流程步骤 a) 创建hadoop账号 b) 更改ip c) 安装Java 更改/etc/profile 配置环境变量 d) 修改host文件域名 e) 安装ssh 配置无密码登录 f) 解压hadoop g) 配置hadoop  conf下面的配置文件 h) Hadoop namenode -format  格式化 i) Start 启动 2.列出hadoop集群启动中的所有进程和进程的作用 a) Namenode 管理集群  记录namenode文件信息 b) Seco…
基础篇:操作系统.计算机网络.设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. 进程通信的几种方式. 4. 线程同步几种方式.(一定要会写生产者.消费者问题,完全消化理解) 5. 线程的实现方式. (也就是用户线程与内核线程的区别) 6. 用户态和核心态的区别. 7. 用户栈和内核栈的区别. 8. 内存池.进程池.线程池.(c++程序员必须掌握) 9. 死锁的概念,导致死锁的原因. 10. 导致死锁的四个必要条件. 11. 处理死锁…