↓ 跳过正文

111qqz

ML Infra Engineer | ex-ICPCer@HUST

最近的文章

spoj DISUBSTR - Distinct Substrings (统计字串个数,后缀数组)

·1022 字·3 分钟
题目链接 题意:给出一个字符串,问所有不同的字串的个数。 思路:直接求比较困难。我们考虑,假如组成字符串的所有字符都不相同,那么就没有相同的字串。假设字符串的长度为 n,那么长度为 1 的子串有 n 个,为 2 的有 n-1 个……为 n 的有 1 个,一共就是 n*(n+1)/2 个,但是实际上会有重复的。

poj 3261 Milk Patterns (最长公共子串,后缀数组)

·813 字·2 分钟
poj3261 题意:给一个字符串,要求找出至少出现k次的最长重复子串… 思路:后缀数组,然后再次用到了根据height数组对后缀进行分组的套路…二分判定合法性,对于当前的最长长度x,分组使得每组中的height[i]都大于等于x,所不同的是,判定变成了存在一个组,后缀的个数至少为k个(因为这样,就可以对于大于等于k个的后缀,同时取前x长度,得到的就是出现了至少k次且长度为x的前缀)1A,蛤蛤蛤

hdu 1280 前m大的数 (计数排序)

·474 字·1 分钟
hdu1280 题意:给出n(3000)个数,两两求和,输出最大的m(5000)个和。 思路:由于数据有限,想到计数排序。。。以及,m个可能刚好某个数据没有全部输出,要在while里判断一下。。

suffix array (转自 codechef)

·2440 字·5 分钟
原文链接:链接 讲了后缀数组的概念,然后从最暴力的 O(nnlogn) 的复杂度(O(n) 用来比较字符串,O(nlogn) 是排序的复杂度)逐步优化,依据各个串之间的关系,大概讲了倍增算法,以及给出了一篇 The Skew Algorithm 的论文。

bzoj 1874: [BeiJing2009 WinterCamp]取石子游戏 (sg函数,要求输出第一步具体方案)

·826 字·2 分钟
1874: [BeiJing2009 WinterCamp]取石子游戏 # Time Limit: 5 Sec Memory Limit: 162 MB Submit: 726 Solved: 296 [Submit][Status][Discuss] Description # 小H和小Z正在玩一个取石子游戏。 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子,每次取石子的个数有限制,谁不能取石子时就会输掉游戏。 小H先进行操作,他想问你他是否有必胜策略,如果有,第一步如何取石子。

codeforces 429 B. Working out (dp)

·792 字·2 分钟
cf429 b 题目链接 题意: n*m个格子,每个格子有一个人value a[i][j]>0,连个人,一个从左上角到右下角,每次只能向下或者向右移动,一个从左下到右上,每次只能向上或者向右移动,现在要求两个人恰好相遇一次,相遇点的a不算数,问在满足这样的条件下使得两个人的a最大。。。(很坑的一点是。。这里相遇并不考虑时间。。就是说,不在同一时间都到达过某一格子,也认为相遇。所以我认为,题目含义更准确的说法是,路径只有一个交点)