动态规划
在下李逍遥
这个作者很懒,什么都没留下…
展开
-
硬币表示
有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法。给定一个int n,请返回n分有几种表示法。保证n小于等于100000,为了防止溢出,请将答案Mod 1000000007。测试样例:6返回:2//递归public static int getTyps(int A[],int n,int j){ if(n==0) r原创 2017-07-30 01:00:41 · 337 阅读 · 0 评论 -
合唱队形(LIS)
描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1<…<Ti>Ti+1>…>TK(1<=i<=K)。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。格式输入格式输入的第一行是一个整原创 2017-08-27 02:07:15 · 378 阅读 · 0 评论 -
神秘的咒语(Lcis)
描述身为拜月教的高级间谍,你的任务总是逼迫你出生入死。比如这一次,拜月教主就派你跟踪赵灵儿一行,潜入试炼窟底。据说试炼窟底藏着五行法术的最高法术:风神,雷神,雪妖,火神,山神的咒语。为了习得这些法术,要付出艰辛的努力,但是回报同样十分丰厚。拜月希望你告诉他咒语的长度为多少。(你:“请问您想知道咒语的具体内容吗?”拜月:“想,但是vijos不支持special judge。”-_-原来大人物也有大人物原创 2017-08-27 02:04:25 · 1183 阅读 · 0 评论 -
Edit Distance(LeetCode)
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on a word:a) In原创 2017-08-16 03:27:10 · 298 阅读 · 0 评论 -
袋鼠过河
一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达对岸。如果无原创 2017-08-20 20:01:15 · 2210 阅读 · 0 评论 -
字符串通配
字符串通配原创 2017-07-27 14:58:25 · 777 阅读 · 1 评论 -
递归转动态规划套路总结
确定递归函数意义确定大小范围,设计表确定递归终止状态,填表边界确定要求的最终状态确定要求的状态其所需依赖的状态从要求的状态往下推,就可以发现规律dp决策与递归相同可照抄最终就可以算出要求的dp状态原创 2017-07-26 15:41:43 · 991 阅读 · 0 评论 -
最长公共子串
对于两个字符串,请设计一个时间复杂度为O(m*n)的算法(这里的m和n为两串的长度),求出两串的最长公共子串的长度。这里的最长公共子串的定义为两个序列U1,U2,..Un和V1,V2,…Vn,其中Ui + 1 == Ui+1,Vi + 1 == Vi+1,同时Ui == Vi。给定两个字符串A和B,同时给定两串的长度n和m。测试样例:"1AB2345CD",9,"12345EF",7返回原创 2017-07-26 18:19:10 · 506 阅读 · 0 评论 -
路灯
一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要是这个d最小,请找到这个最小的d。输入描述:每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐标,多个路灯可以在同一点。原创 2017-07-25 16:19:00 · 331 阅读 · 0 评论 -
罪犯转移
题目描述 C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式? 输入描述:第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1e9)输出描述:原创 2017-07-25 15:34:44 · 378 阅读 · 0 评论 -
直方图内最大矩形
有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。测试样例:[2,7,9,4,1],5返回:14//递归转dp public int count原创 2017-07-25 12:48:09 · 532 阅读 · 0 评论 -
最近公共祖先
来源:牛客网有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。求最近公共祖先原创 2017-07-25 02:36:19 · 941 阅读 · 0 评论 -
年终奖
牛客网小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行原创 2017-07-25 00:44:00 · 319 阅读 · 0 评论 -
机器人走方格I
来源:牛客网有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多原创 2017-07-24 23:40:45 · 513 阅读 · 0 评论 -
最长公共子序列
我们有两个字符串m和n,如果它们的子串a和b内容相同,则称a和b是m和n的公共子序列。子串中的字符不一定在原字符串中连续。 例如字符串“abcfbc”和“abfcab”,其中“abc”同时出现在两个字符串中,因此“abc”是它们的公共子序列。此外,“ab”、“af”等都是它们的字串。 现在给你两个任意字符串(不包含空格),请帮忙计算它们的最长公共子序列的长度。输入描述:输入包含多组数据。每组原创 2017-08-01 00:33:13 · 258 阅读 · 0 评论 -
小胖的水果(lcs)
描述xuzhenyi到大同水果店去买水果,但老板huyichen告诉他每次只能买一种,但是xuzhenyi想吃两种,于是在讨价还价之后,huyichen说只要xuzhenyi能把他想要的两种水果合并成一种,就能成功。你能帮他吗?格式输入格式输入文件包含两个要组合的水果名字。所有的名字最多有100个字母。(有若干行)输出格式对每一组测试数据,打印出一个最短的组合长度.样例1样例输入1apple pea原创 2017-08-26 22:27:14 · 381 阅读 · 0 评论