51nod
让我改变你的心智
这个作者很懒,什么都没留下…
展开
-
51nod 迷宫问题
1459 迷宫游戏 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从原创 2016-09-14 19:52:49 · 852 阅读 · 0 评论 -
1255 字典序最小的子序列
1255 字典序最小的子序列 题目来源: 天津大学OJ 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个由a-z组成的字符串S,求他的一个子序列,满足如下条件: 1、包含字符串中所有出现过的字符各1个。 2、是所有满足条件1的串中,字典序最小的。 例如:bab原创 2016-12-31 17:27:45 · 1554 阅读 · 0 评论 -
1107 斜率小于0的连线数量 求逆序对
1107 斜率小于0的连线数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 二维平面上N个点之间共有C(n,2)条连线。求这C(n,2)条线中斜率小于0的线的数量。 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y)。例如:(2,3) (3,4) (1,5) (4,6),其中(1原创 2016-12-20 18:06:44 · 402 阅读 · 0 评论 -
1191 消灭兔子 贪心
1191 消灭兔子 题目来源: 2013腾讯马拉松赛第三场 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 有N只兔子,每只有一个血量B[i],需要用箭杀死免子。有M种不同类型的箭可以选择,每种箭对兔子的伤害值分别为D[i],价格为P[i](1 特别说明:1、当箭的伤害值大于等于兔子的原创 2016-12-28 17:14:34 · 538 阅读 · 0 评论 -
1105 第K大的数 二分搜索
1105 第K大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 数组A和数组B,里面都有n个整数。数组C共有n^2个整数,分别是A[0] * B[0],A[0] * B[1] ......A[1] * B[0],A[1] * B[1]......A[n - 1] * B[n - 1](数组原创 2016-12-16 20:53:21 · 297 阅读 · 0 评论 -
1095 Anigram单词
一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那么定义b是a的Anigram,例如单词army和mary互为Anigram。现在给定一个字典,输入Q个单词,从给出的字典中找出这些单词的Anigram。 Input 第1行:1个数N,表示字典中单词的数量。(1 <= N <= 10000) 第2 - N + 1行,字典中的单词,单词长度 <= 10。 第N原创 2016-10-07 16:56:26 · 369 阅读 · 0 评论 -
斐波那契数列的第N项 矩阵快速幂
斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...) 给出n,求F(n),由于结果很大,输出F(n) % 1000000009的结果即可。 Input原创 2016-10-29 21:14:11 · 386 阅读 · 0 评论 -
1050 循环数组最大子段和
1050 循环数组最大子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 N个整数组成的循环序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a[n],a[1],a[2原创 2016-10-05 17:51:38 · 342 阅读 · 0 评论 -
1021 石子归并 dp
N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法 1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(24) 1 2 3原创 2016-10-18 15:14:24 · 365 阅读 · 0 评论 -
1007 正整数分组 dp
将一堆正整数分为2组,要求2组的和相差最小。 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 Input 第1行:一个数N,N为正整数的数量。 第2 - N+1行,N个正整数。 (N Output 输出这个最小差 Input示例 5 1 2 3 4 5 Output示例 1原创 2016-10-04 23:05:30 · 470 阅读 · 0 评论 -
1010 只包含因子2 3 5的数
K的因子中只包含2 3 5。满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15。 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数。 例如:n = 13,S中 >= 13的最小的数是15,所以输出15。 Input 第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T原创 2016-10-04 20:57:10 · 390 阅读 · 0 评论 -
1183 编辑距离 dp
编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k->s) sittin (e->i) sitting (->g) 所以kitten和sitting的编辑距离是3。俄原创 2016-10-02 17:21:25 · 310 阅读 · 0 评论 -
1174 区间中最大的数 RMQ
给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。 例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题) Input 第1行:1个数N,表示序列的长度。(2 <= N <= 10000) 第2 - N + 1行:每行1个数,对应序列中的元素。(0 <原创 2016-10-02 16:57:51 · 508 阅读 · 0 评论 -
1134 最长递增子序列
给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。 Input 第1行:1个数N,N为序列的长度(2 <= N <= 50000) 第2 - N + 1行:每行1个数,对应序列的元素(-10^9 Output 输出最长递增子序列的长度。原创 2016-10-02 16:33:31 · 325 阅读 · 0 评论 -
1013 3的幂的和
求:3^0 + 3^1 +...+ 3^(N) mod 1000000007 Input 输入一个数N(0 Output 输出:计算结果 Input示例 3 Output示例 40 #include #include #include #include #define ll long long const int mod=1e9+原创 2016-10-11 20:18:42 · 648 阅读 · 0 评论 -
1019 逆序数
1019 逆序数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。 如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列原创 2016-09-20 18:19:11 · 375 阅读 · 0 评论 -
1280 前缀后缀集合
1280 前缀后缀集合 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 一个数组包含N个正整数,其中有些是重复的。一个前缀后缀集是满足这样条件的下标对(P,S), 0 例如:3 5 7 3 3 5,共有14个集合符合条件:(1, 4), (1, 3)原创 2017-03-15 00:17:46 · 587 阅读 · 1 评论