- 博客(41)
- 资源 (5)
- 收藏
- 关注
翻译 语法和语义解析基本表达标记
词性标记(Part-of-speech tags)例如“noun”、"verb” 、 “preposition”这些词性标记(POS)分类指定一组词确定的语法属性。在英语和其他语言中存在有几种词性标记分类方案或者标记集。TurboTagger分配了一种叫做宾州树库标记(Penn Treebank POS tag)给输入的句子中每一个词,noun名词单数/不可数普通NN专有名词NNP复数普通NNS专...
2018-03-19 17:34:44
8792
原创 信息检索P@10、MAP、NDCG,及同一指标计算的差别
问题源于我在重现一篇信息检索方面顶会论文实验的时候,始终计算不出与论文中相同的实验结果。论文的实验用到了P@10,MAP,NDCG@10三种指标。我先是用了Galago提供的计算工具,发现除P@10一项指标结果一致外,MAP,NDCG@10两项都有很大的不同。经过观察发现虽然实验结果的数据不同,但是实验结果的趋势是相同的(实验是对几种排名算法进行评比,尽管得到了不同的数据,但是用这些数...
2018-01-16 19:32:10
44244
4
原创 CCF CSP 地铁修建 最小生成树+并查集
A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁。 地铁由很多段隧道组成,每段隧道连接两个交通枢纽。经过勘探,有m段隧道作为候选,两个交通枢纽之间最多只有一条候选的隧道,没有隧道两端连接着同一个交通枢纽。 现在有n家隧道施工的公司,每段候选的隧道只能由一个公司施工,每家公司施工需要的天数一致。而每家公司最多只能修建一条候选隧道。所有公
2017-07-22 09:08:22
18065
1
原创 poj-2948
Martian Mining 题意:在一个n*m的矩阵里,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少。在格子北边有bloggium的收集站,西边有 yeyenum 的收集站。现在要在这些格子上面安装向北或者向西的传送带(每个格子自能装一种)。问最多能采到多少矿(yeyenum+bloggium)? 因为每个格子只能向西或者向北,某个
2017-07-09 10:53:42
7217
原创 poj-3280
Cheapest Palindrome 题意:第一行输入两个参数N和M,N表示一共有N种字符,M表示字符串的长度。第二行输入一个长度为M的字符串,由小写字母组成。接下来N行,每行第一个字符为一个小写字母,第二个是整数,表示添加一个这个字母所花费的代价,第三个也是一个整数,表示删除一个这个字母时所花费的代价。问题是将输入的字符串用插入和删除操作,最少花费的代价是多少。 用dp[i
2017-07-08 16:17:25
635
原创 poj-3254 状态压缩
Corn Fields 题意:第一行输入两个参数M和N,表示M行N列。接下来解输入M * N大小的01矩阵,0表示土地贫瘠,1表示土地肥沃,只有肥沃的土地可以可以有牛。并且一只牛的上下左右不能有牛。问有多少种放牛的方法,结果模除 100,000,000。 第i行放牛的方法影响第i+1行放牛方法的数量,所以可以先算第i-1行的状态再转移到第i行。问题是要如何表示每一行状态呢。一
2017-07-08 14:29:55
352
原创 poj-2533 最长递增子序列
Longest Ordered Subsequence 题意:题意其实没什么好解释的,就是最长递增子序列的长度嘛,{1 7 3 5 9 4 8}这个序列中最长递增子序列有{1 3 5 9}和{1 3 5 8}两个,长度都是4。 一共n个数,用dp[i]表示输入的序列中前1·i个数字组成的子序列中取得的最大值。dp[i]是由dp[1~i-1]中的一个转移而来的,找出1
2017-07-08 13:51:30
259
原创 poj-2151
Check the difficulty of problems 题意:第一行输入M,T,N三个参数。M表示一共有M个问题,T表示一共有T个参赛队伍,N表示冠军至少要做对几道题。接下来T行,表示第1队到第T队做对每一道题目的概率。要求至少每队做出一道题并且至少有一队做出N道题的概率。 用dp[i][j][k]表示第i队,前j道题做对k题的概率,那么dp[i][j+1][k]这个
2017-07-08 13:36:27
329
原创 poj-1976 01背包
A Mini Locomotive 题意:输入第一个数为测试数据的数量。输入第二个数n表示有N节车厢。输入第三个有n个数,表示第1个车厢到第n个车厢各个车厢的乘客数量。输入第三个数m表示一个火车头可以拉几个车厢,每个火车头拉走的车厢都是连续的。一共有三个火车头,求三个火车头最多可以拉走多少乘客。 这题像一个背包问题,求要取哪些使得价值最大。但是又略有改变,要求取走的是连续的
2017-07-08 12:02:17
583
原创 poj-1953
World Cup Noise 题意:输入一个数n表示n位二进制数,求n位二进制数0和1的各种组合中,没有连续两个1的情况数量。 我们可以用dp0[i]表示i位二进制数中第i位为0且没有连续两位1的数量,用dp1[i]表示i位二进制数中第i位为1且没有连续两位1的数量。那么第i+1位如果添加0则可以由第i位为0和1两种情况转换而来,也就是dp0[i+1] = dp0[i]+
2017-07-06 16:25:28
326
原创 poj-1837
Balance 题意:第一行输入两个数C和G。C表示天平上有几个挂钩,G表示有几个挂码。第二行输入C个挂钩的位置,负数表示在左侧,正数表示在右侧。第三行输入G个挂码的重量。问有几种方法可以使得天平平衡。 要使天平平衡需要左右两端的力矩相同,左右力矩最大值都为20*15*25=7500。把每一个力矩值都作为一个状态,则一侧一共有7500个状态,由于左侧的力矩为0~-7500,所
2017-07-06 14:58:43
677
原创 poj-1836 最长上升/下降子序列
Alignment 题意:输入一串数字代表着一列排好队的军人的身高,现在要求从其中移走一些人,使得剩余在队伍中的任何一个人都可以向左或者向右看到队伍的头。队伍中身高并列最高的几个人不会相互阻碍,但是其余的身高相同的人会相互阻碍视线,求最少要移出多少人才能满足要求。 首先理解一下题意,抛开背景,题目要求在一列数中移出最少的数,使得从左到右先是递增,到一个顶点后一直递
2017-07-06 14:04:36
375
原创 poj-1579
Function Run Fun 题意:题目很简单,输入三个数a,b,c,并给出了四条规则,要求根据这四条规则求出输入a,b,c 的解。 可以看出这四条规则是存在嵌套关系的,容易想到用递归求解,但是未免开销过大。注意到这也是由前一个转态到后一个状态的过程,所以可以用动态规划处理。且只需要计算0到20之间的状态。 我的AC代码如下:#includeusing namespac
2017-07-06 13:31:31
270
原创 poj-1458 最长公共子序列
Common Subsequence 题意:一行给出两个字符串S1和S2,找出他们的最长 公共子序列数量,一个金典的动态规划问题。 用dp[i][j]表示字符串S1取前i个,字符串S2取前j个时,他们的最长公共子序列数量有多少。当S2右端又加入了一个字符时,即表示为dp[i][j+1]时,如果s1[i]和s2[j+1]相同,则dp[i][j+1]=dp[i-1][j]+1。如果s1
2017-07-06 13:00:10
318
原创 POJ-1276 多重背包问题
Cash Machine 题意:输入第一行cash N n1 D1 n2 D2 ... nN DN ,D1表示一种面值的零钱,n1表示D1可以使用的数量。一共有N种零钱。需要找出用这些零钱可以组成的不超过cash的最大数额。 这是一道多重背包的问题,和poj-1014 多重背包问题类似,需要先转化成01背包,再用01背包问题的方法求解。转换的代码如下,a[i]是转换前第i个零
2017-07-06 12:39:11
262
原创 poj-1014 多重背包问题
Dividing 题意:有一堆大理石,每个石头的价值在1-6之间,每种价格的石头有多个。现在要求将这堆石头分成两份,使得两份的总价值相同,回答是否存在一种方法将可以实现划分。 这是一道多重背包问题,多重背包问题的做法可以是先将它转化为01背包,再用01背包问题的方法继续求解。转化的思路是,将一个价格下的几件物品,组合成多个价格下个一件物品。比如价格2下原来有7件物品(二进制11
2017-07-06 10:22:20
2256
翻译 AI高考的信息检索策略
一、stop word stop word的概念是把一些对短语表述不构成直接影响的单词的的搜索结果直接过滤掉,包括a,an,the等冠词,in, at, of等介词, 一些人称代词,时态的助动等。中文中的"的、"了"等也类似。这些词因为使用频率过高,几乎每个网页上都存在,所以搜索引擎将这一类词语忽略掉。二、正向最大匹配法 正向最大匹配法是分词算法的其中一种,它是按照一
2017-06-09 21:50:04
1202
原创 数论总结笔记
1、最大公约数性质gcd(a,b)表示求a,b两个数的最大公约数。(1)gcd(a,b) = gcd(±a,±b)。(2)gcd(a,b) = gcd(a+kb,b),k为任何整数。(3)gcd(a,b) = gcd(a mod b , b)。(4)如果a是非零整数,那么gcd(a,0) = |a|。gcd(0,0)不存在。根据性质(4)我们可以得到一种求最大公约数的方
2017-05-06 17:58:28
959
原创 搜索引擎中cache的使用
静态(static)和动态(dynamic)模型搜索引擎中使用cache对减少查询响应时间和提高系统吞吐量有很大帮助。搜索引擎的cache模型可以分为静态和动态两种。静态模型使用存储在查询日志中的历史数据,将其中访问频率最高的项目加入cache中。这通常用在cache预取中。动态模型则用来将最近最经常被访问的项目加入内存中,为容量有限的cache淘汰不不被经常访问的项目,移出cache。c
2017-05-03 14:22:53
2221
原创 信息检索基础知识总结
bag-of-words(BOW)因此BoW模型可认为是一种统计直方图。在文本检索和处理应用中, 可以通过该模型很方便的计算词频。有如下例子:S1:more ugly less bug is ugly.S2:more ugly less bug have bug.根据上述S1、S2中出现的单词, 我们能构建出一个字典,{1:"more",2:"ugly",3:"less",4:
2017-04-25 09:46:19
9999
原创 skyline查询处理 BNL算法
查找出数据库中所有的SP(skyline point)点最粗鲁暴力的办法,是将所有的点两两比较,显然这是个愚蠢的办法。而BNL(block-nested-loops)算法是在这个愚蠢办法的基础之上改进,算法质量实现了大幅的提升。算法流程: BNL算法,姑且翻译为块嵌套环算法 。该算法首先在内存中开辟有一块窗口,用于存放从文件中读入的疑似是SP的数据。还有临时文件T,当内存中的窗口满时,原本
2017-03-30 14:12:53
7740
2
原创 CCF CSP 无线网络 BFS
问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。 除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。 你的目标是使得第 1 个路由器和第 2 个路由器之间的网络连接经过尽量少的中转路由器。请问在最优方案下中转路由器的最少个数是多
2017-03-29 21:20:30
809
原创 CCF CSP 有趣的数 动态规划
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。 请计算恰好有n位的有趣的数的个数。由于答案
2017-03-29 21:19:44
7403
2
原创 CCF CSP 网络延时 树的直径
问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。 当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑
2017-03-29 21:19:25
598
原创 CCF CSP 交通规划 最短路径+最小生成树
G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,而且从所有城市乘坐高速铁路到首都的最短路程和原来一样长。请你告诉G国国王在这些条件下最少要改造
2017-03-29 21:19:10
1444
原创 初探AC自动机
本文为帮助初学者快速了解什么是AC自动机。简介要学习AC自动机,了解KMP算法是它的前提。KMP算法是单模式串的匹配,常见的KMP算法解决的问题类似为:在字符串ABCABCABD中查找模式串ABCABD,它可以优化查找的时间复杂度到O(n)。而AC自动机比KMP厉害点,处理的是多模式串的匹配,也就是可以在一个字符串中同时查找多个模式串。与KMP算法的思想核心一致,AC自动机处理问题的策略也
2017-03-20 21:31:27
420
原创 KMP算法 字符串模式匹配
问题:在字符串S = "ABCABCABD",T = "ABCABD",在字符串S中中查询子串T的位置。 原始的算法大家都可以想到,设一个指针i一个指针j,指针i指向S,j初始为0指向子串T。当S[i] == T[0]时,比较S[i+j]是否都等于T[j]。如果全都匹配的话,输出i就是位置。否则的话,就要从S[i+1]的位置再开始这个过程。过程如下: 根据图中的过程
2017-03-18 15:03:45
509
原创 CCF CSP 游戏 BFS
问题描述 小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。 方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行第一列和第n行第m列永远都是安全的。 每个单位时间,小明的角色必须向上下
2017-03-10 16:43:00
1066
原创 CCF CSP 送货 欧拉回路/通路
问题描述 为了增加公司收入,F公司新开设了物流业务。由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道。然而,F公司现在只安排了小明一个人负责所有街道的服务。 任务虽然繁重,但是小明有足够的信心,他拿到了城市的地图,准备研究最好的方案。城市中有n个交叉路口,m条街道连接在这些交叉路口之间,每条街道的首尾都正好连接着一个交叉路口。除开街道
2017-03-09 16:18:52
1747
1
原创 CCF CSP 最优灌溉 最小生成树
问题描述 雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。 为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。 现在雷雷知道哪些麦田之间可以建设水渠和建设每个水渠所需要的费用(注意不是所有麦田之间都可以
2017-03-08 23:58:50
617
原创 CCF CSP 路径解析(2016-4)
问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS
2017-03-08 13:10:11
592
原创 CCF CSP 最优配餐 BFS
问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。 方格图中的线表示可以行走的道路,相邻两个格点的距离为1。栋栋要送餐必须走可以行走的道路
2017-03-08 00:24:22
601
原创 CCF CSP 集合竞价 (2014-12)
问题描述 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。 该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种: 1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。 2. sell p s 表示一个出售股票的卖单,每手出价为p,出售股数为s。 3. cancel i表示撤销第i行的记录
2017-03-03 20:23:23
1560
原创 CCF CSP 压缩编码 动态规划
问题描述 给定一段文字,已知单词a1, a2, …, an出现的频率分别t1, t2, …, tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。 使用前缀码编码一段文字是指将这段文字中的每个单词依次对应到其编码。一段文字经过前缀编码后的长度为: L=a1的编码长度×t1+a2
2017-03-03 17:04:26
10562
4
原创 蓝桥杯 约数倍数选卡片
问题描述 闲暇时,和华生玩一个游戏: 在N张卡片上写有N个整数。两人轮流拿走一张卡片。要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数。例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可以拿的数字包括: 1,2,3, 6,12,18,24 .... 当轮到某一方拿卡片时,没有满足要求的卡片可选,则该方为输方。 请你利用计算机的优势计算一下,在已知福
2017-02-20 21:35:57
655
原创 蓝桥杯 错误票据
问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输
2017-02-19 19:50:08
618
原创 蓝桥杯 九宫重排(BFS)
问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。 我们把第一个图的局面记为:12345678. 把第二个图的局面记为:123.46758 显然是按从上到下,从左到右的顺序记录数字,空格记为句点。 本题目的任务是已知九宫的初态和终态,求最少经过
2017-02-16 17:11:26
1105
2
原创 蓝桥杯 最大子阵(dp最大子段和)
问题描述 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。 其中,A的子矩阵指在A中行和列均连续的一块。输入格式 输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。 接下来n行,每行m个整数,表示矩阵A。输出格式 输出一行,包含一个整数,表示A中最大的子矩阵中的元素和。样例输入3
2017-02-14 16:41:54
715
原创 蓝桥杯 蚂蚁感冒
问题描述 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。 当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。 这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。 请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感冒。输入格式 第
2017-02-11 22:17:23
580
原创 蓝桥杯 波动数列(01背包方案数)
深度搜索算法:这题较为容易的想法是用深度搜索来做,显然这种难度的题目用深搜是要超时的。果不其然,测试了一遍只能拿到20%。但是能在比赛最后一点时间拿到这些分也够了。而且,这题动态规划还是有点难度。既然我测试过了深搜就一起先简单来看一下深搜的算法吧。这题的深搜就像一棵二叉树,从每个节点向下都会有两个分支,一个是加a,一个是减b。需要考虑的是根节点的大小,也就是第一个数的大小。第一个数没有明确
2017-02-09 21:23:46
2507
3
jena-3.6.0 官方包 17年12月最新版
2018-03-19
Lucene 7.2.1 官方jar包
2018-03-08
数据库课设:博客系统
2018-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人