摘要: T1:机器翻译 题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有, 阅读全文
posted @ 2018-09-08 20:27 GTBA 阅读(247) 评论(0) 推荐(0) 编辑
摘要: ->题目链接 题解: 一世安宁 阅读全文
posted @ 2018-08-10 18:28 GTBA 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 给你一个数列A,要支持两个操作: 1.第x个数加v 2.求x到y这个区间的和 不要用树状数组做,用线段树。 线段树比树状数组看起来美观一点,它长这样。 它有两种存储方式: 1.动态存储,使用指针,struct 2.静态存储,直接用数组,下表遵循左儿子乘2,右儿子乘2加1的规则。 特别提醒:用Cena 阅读全文
posted @ 2018-08-09 20:33 GTBA 阅读(148) 评论(0) 推荐(0) 编辑
摘要: KMP算法,对于求b串在a串中出现的次数。 在学习KMP之前,希望大家充分掌握hash。 HASH: 1.hash表:用来离散化(hash数组,hash链表) 2.Rabin-Kap算法: 可替代KMP(O(n)),Manacher(O(n))等; hs[t]=hs[t-1]*p+s[t]; has 阅读全文
posted @ 2018-08-09 20:30 GTBA 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 线段树和树状数组在noip中本人觉得挺重要的,而且比较难写。 我们先来看树状数组。 look at 这个图 那么我们会发现一个有趣的性质。 设节点编号为n,那么这个节点管辖的区间为2k(其中k为n二进制末尾0的个数)个元素。 这个区间最后一个元素必然为An。 所以:Cn=A(n-2k+1)+...A 阅读全文
posted @ 2018-08-09 20:21 GTBA 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 按老师说的,他第一次见到可持久化数据结构的时候,觉得它很神奇(其实只是没见过世面而已)。 主席树,这个名字是怎么来的呢? 原因,学长是这样说的:因为发明这种数据结构的大佬名字缩写和hjt主席一样,于是,便叫主席树。 下面进入正文: 主席树,又称函数式线段树、可持久化线段树。 传说是一位大神没学会划分 阅读全文
posted @ 2018-08-09 20:16 GTBA 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 虽然noip不会重点考这个但是为了防止不必要的丢分还是准备一下比较好。 高精度的原理就是我们小学的时候所使用的竖式运算。 所以以字符串的形式模拟一下运算过程结果就出来了。 以上为封装好的高精度。 请各位大爷尽情享用。 一世安宁 阅读全文
posted @ 2018-08-09 20:11 GTBA 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 很喜欢博弈论的题!才不是因为它代码短 那么我们接下来就来看一下博弈论及其算法实现 大家在日常生活中应该都接触过五子棋,它其实也有先手有必赢策略的游戏,有人也会说我就算先手我也会输啊~ 所以,博弈论问题都有一个前提,那就是参与者都够聪明(没有歧义昂) 一.巴什博弈(bash game) 有一堆物品,包 阅读全文
posted @ 2018-08-09 20:08 GTBA 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 听说过动态规划(DP)的同学应该都知道有背包问题的存在。 首先我们来了解一下动态规划 基本思想: 动态规划算法通常用于求解具有某种最优性质的问题。 在这类问题中, 可能会有很多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。 动规划算法与分治法类似,其基本思想也是将待求解问题分解为若干个 阅读全文
posted @ 2018-08-09 20:07 GTBA 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 关于最短路,大家应该都知道有Dijkstra,SPFA以及Floyd。 此处先提出一个问题: 给定图G,每条边有边权。求从一点到另一点的边权和最小的路径。要求图中不能有负回路(否则为NP问题)。 首先提到的便是Floyd。 如果数据范围足够小,相信大家大部分会选择Floyd(为什么呢,后文解释)。 阅读全文
posted @ 2018-08-09 20:03 GTBA 阅读(267) 评论(0) 推荐(0) 编辑