动态规划
chongjwl
这个作者很懒,什么都没留下…
展开
-
最长对称子串
最长对称子串对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&TAP symmetric?输出样例:11注意字串与子序列不同对称字串翻转后不变,所以可以对原串与翻转后的串求最长公共子串得到答案,求最长对称序列也可同理求得#inc原创 2021-03-30 19:49:30 · 87 阅读 · 0 评论 -
筷子
筷子DescriptionA先生有很多双筷子。确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的。这天,A先生家里来了K个客人,A先生留下他们吃晚饭。加上A先生,A夫人和他们的孩子小A,共K+3个人。每人需要用一双筷子。A先生只好清理了一下筷子,共N根,长度为T1,T2,T3,……,TN.现在他想用这些筷子组合成K+3双,使每双的筷子长度差的平方和最小。(怎么不是和最小??这要去问A先生了,呵呵)Input有两行,第一行为两个用空格隔开的整数,表示N,K(1≤N≤100, 0<原创 2021-01-31 21:34:33 · 95 阅读 · 0 评论 -
垃圾陷阱
垃圾陷阱Description卡门——农夫约翰极其珍视的一条Holsteins奶牛——已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D (2 <= D <= 100)英尺。卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。假设卡门预先知道了每个垃圾扔下的时间t(0<t<=1000),以及每个垃圾堆放的高度h(1<=h<=25)和原创 2021-01-31 19:10:04 · 163 阅读 · 1 评论 -
守望者的逃离
守望者的逃离Description恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。现在已知守望者的魔法初值原创 2021-01-31 15:39:21 · 124 阅读 · 3 评论 -
乘积最大
乘积最大Description今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积最大。同时,为了帮助选手能够正确理解题意,主持人还举了如下的一个例子:有一个数字串:312, 当N=3,K=1时会有原创 2021-01-29 21:44:12 · 95 阅读 · 0 评论 -
滑雪
滑雪Description 小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小明滑到坡底,不得不再次走上坡或等着直升机来载他,小明想知道在一个区域中最长的滑坡。滑坡的长度由滑过点的个数来计算,区域由一个二维数组给出,数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 81原创 2021-01-27 21:51:43 · 60 阅读 · 0 评论 -
橱窗布置
橱窗布置Description假设以最美观的方式布置花店的橱窗,有F束花,每束花的品种都不一样,同时,至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,并从左到右,从1到V顺序编号,V是花瓶的数目,编号为1的花瓶在最左边,编号为V的花瓶在最右边,花束可以移动,并且每束花用1到F的整数惟一标识,标识花束的整数决定了花束在花瓶中列的顺序即如果I < J,则花束I必须放在花束J左边的花瓶中。例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有的花束在放人花瓶时必须保持其原创 2021-01-27 20:41:06 · 115 阅读 · 0 评论 -
复制书稿
复制书稿Description 现在要把m本有顺序的书分给k个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三和第四本书给同一个人抄写。 现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。Input 第一行两个整数m,k;(0≤k≤m≤500) 第二行m个整数,第i个整数表示第i本书的页数。Output 共k行,每行两个整数,第i行表示第i个人抄写的书的起始原创 2021-01-27 17:14:03 · 148 阅读 · 0 评论 -
低价购买
低价购买Description“低价购买”这条建议是在股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的购买建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(216范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循“低价购买;再低价购买”的原则。写一个程序计算最大购买次数。这里是某支股票的价格清单:日期原创 2021-01-26 22:19:37 · 151 阅读 · 0 评论 -
方格取数
方格取数Description设有N×N的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。某人从图中的左上角的A出发,可以向下行走,也可以向右行走,直到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。Input第一行为一个整数N(N≤10),表示N×N的方格图。接下来的每行有三个整数,第一个为原创 2021-01-26 21:20:11 · 90 阅读 · 0 评论 -
编辑距离
编辑距离Description设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符。对任的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。Input第一行为字符串A;第二行为字符串B;字符串A和B的长度均小于2000。Output一个正整数,为最少字符操作次数。Sample InputsfdqxbwgfdgwSample Output4#原创 2021-01-26 18:33:50 · 69 阅读 · 0 评论 -
合并石子
合并石子Description在一个操场上一排地摆放着N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个程序,计算出将N堆石子合并成一堆的最小得分。Input第一行为一个正整数N (2≤N≤100);第二行,每行N个正整数,均小于10000,分别表示各堆石子的个数。Output输出一个正整数,即最小得分。Sample Input713 7 8 16 21 4 18Sample Output239原创 2021-01-26 15:51:41 · 71 阅读 · 0 评论 -
质数和分解
质数和分解Description任何大于 1 的自然数 n,都可以写成若干个大于等于 2 ,且小于等于 n 的质数之和表达式(包括只有一个数构成的和表达式的情况),并且可能有不止一种质数和的形式。例如9 的质数和表达式就有四种本质不同的形式:9 = 2+5+2 = 2+3+2+2 = 3+3+3 = 2+7 。 这里所谓两个本质相同的表达式是指可以通过交换其中一个表达式中参加和运算的各个数的位置而直接得到另一个表达式。 试编程求解自然数 n 可以写成多少种本质不同的质数和表达式。Input原创 2021-01-25 18:31:27 · 571 阅读 · 1 评论 -
暗黑游戏
暗黑游戏Description暗黑游戏中,装备直接决定玩家人物的能力。可以使用Pg和Rune购买需要的物品。暗黑市场中的装备,每件有不同的价格(Pg和Rune)、能力值、最大可购买件数。Kid作为暗黑战网的一个玩家,当然希望使用尽可能少的Pg和Rune购买更优的装备,以获得最高的能力值。请你帮忙计算出现有支付能力下的最大可以获得的能力值。Input第一行,三个整数N,P,R,分别代表市场中物品种类,Pg的支付能力和Rune的支付能力。第2…N+1行,每行四个整数,前两个整数分别为购买此物品需要花费原创 2021-01-25 14:49:40 · 115 阅读 · 0 评论 -
打包
打包Description你现在拿到了许多的礼物,你要把这些礼物放进袋子里。你只有一个最多装下V 体积物品的袋子,你不能全部放进去。你也拿不动那么重的东西。你估计你能拿的最大重量为 G。现在你了解了每一个物品的完美值、重量和体积,你当然想让袋子中装的物品的完美值总和最大,你又得计划一下了。Input第一行:G 和 V 表示最大重量和体积。第二行:N 表示拿到 N 件礼物。第三到N+2行:每行3个数 Ti Gi Vi 表示各礼物的完美值、重量和体积Output输出共一个数,表示可能获得的最大完原创 2021-01-23 22:35:19 · 101 阅读 · 0 评论 -
金明的预算方案
金明的预算方案Description金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件电脑 打印机,扫描仪书柜 图书书桌 台灯,文具工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有0个、1个或2个原创 2021-01-23 22:01:03 · 102 阅读 · 1 评论 -
暗黑破坏神
暗黑破坏神Description游戏的主人公有n个魔法,每个魔法分为若干个等级,第i个魔法有p[i]个等级(不包括0),每个魔法的每个等级都有一个效果值,一个j级的i种魔法的效果值为w[i][j],魔法升一级需要一本相应的魔法书,购买魔法书需要金币,第i个魔法的魔法书价格为c[i],而小x只有m个金币(好孩子不用修改器)你的任务就是帮助小x决定如何购买魔法书才能使所有魔法的效果值之和最大,开始时所有魔法为0级效果值为0。Input第一行用空格隔开的两个整数n,m。以下n行,描述n个魔法,第i+1原创 2021-01-23 19:54:36 · 136 阅读 · 0 评论 -
科技庄园
科技庄园DescriptionLife是河北衡水中学的学生,他是一个道德极高的学生,他积极贯彻党的十七大精神,积极走可持续发展道路,在他的不屑努力下校领导终于决定让他在衡中的一片闲杂地里种桃,以亲身实践种田的乐趣,厉行节约,告诉人们节约的重要性!春华秋实,在这个金秋的季节,Life带者他的宠物——PFT到了他的试验田,当他看见自己的辛勤成果时,心里是那个高兴啊!这时Life对他的宠物PFT说:“你想不想吃桃啊?”PFT兴奋的说:“好啊!”Life说:“好吧,但是我只给你一定的时间,你必须在规定的原创 2021-01-22 22:29:36 · 324 阅读 · 0 评论 -
货币系统
货币系统Description给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案。Input第一行,n和m,表示面值种数n和组成的面值m。接下来n个整数,代表n种面值。Output输出方案数。Sample Input3 101 2 5Sample Output10#include<bits/stdc++.h>using namespace std;typedef long long ll;const int INF=0x3f3f3f3f;const原创 2021-01-22 20:50:23 · 122 阅读 · 1 评论 -
分组背包
分组背包Description一个旅行者有一个最多能用V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,…,Wn,它们的价值分别为C1,C2,…,Cn。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。Input第一行:三个整数,V(背包容量,V<=200),N(物品数量,N<=30)和T(最大组号,T<=10);第2…N+1行:每行三个整数Wi,Ci,P,表示每个物品的重量,价值,所原创 2021-01-22 19:33:22 · 91 阅读 · 0 评论 -
潜水员
潜水员Description潜水员为了潜水要使用特殊的装备。他有一个带2种气体的气缸:一个为氧气,一个为氮气。让潜水员下潜的深度需要各种的数量的氧和氮。潜水员有一定数量的气缸。每个气缸都有重量和气体容量。潜水员为了完成他的工作需要特定数量的氧和氮。他完成工作所需气缸的总重的最低限度的是多少?例如:潜水员有5个气缸。每行三个数字为:氧,氮的(升)量和气缸的重量:3 36 12010 25 1295 50 2501 45 1304 20 119如果潜水员需要5升的氧和60升的氮则总重最小为24原创 2021-01-22 16:11:48 · 147 阅读 · 0 评论 -
最短路径
最短路径Description有n个城市(编号从1到n),个城市之间都有路连接,切这些路都是单向的。每条路都有相应的长度。各城市之间构成的路网不可能构成环状。没有一条路到达城市1,所有城市都能够到达城市n。城市n不能到达其它任何城市。Input第一行包含一个整数n,表示城市数目。接下来包含n行,每行n个整数。第i行第j列的整数a[i][j]表示城市i和城市j的路径长度。Output第一行输出最短路径长度,形如minlong=最短路径长度值“”。接下来的一行输出从第1个城市到第n个城市的最原创 2021-01-21 21:31:58 · 745 阅读 · 0 评论 -
机器分配
机器分配Description总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。Input第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。接下来是一个N*M的矩阵,表明了第 I个公司分配 J台机器的盈利。Output第一行输出最大盈利值。接下来的N行,每行2个整数,分别为分公司编原创 2021-01-21 13:43:51 · 284 阅读 · 0 评论 -
合唱队形
合唱队形DescriptionN位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …,TK,则他们的身高满足T1 < T2 < … < Ti , Ti > Ti+1 > … > TK (1≤i≤K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。Inpu原创 2021-01-20 22:22:46 · 161 阅读 · 1 评论 -
友好城市
友好城市Description Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。 每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。Input第1行,一个整数N(1<=N<=5000),表示城市原创 2021-01-20 20:33:20 · 42 阅读 · 0 评论 -
挖地雷
挖地雷Description在一个地图上有N个地窖(编号为1到N,N<=200),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以从任一处开始挖地雷,然后沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使他能挖到最多的地雷。InputN //地窖的个数W1,W2,……原创 2021-01-20 16:18:55 · 317 阅读 · 0 评论