d4
w
DZ19476 coduck
CSP还我周末两天假期
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
愤怒的家雀子
小鸟如果在第i棵树,那么他可以跳到第i+1,i+2,...,i+k棵树,然后必须休息。如果雏鸟跳到一棵不矮于当前树的树,那么他的劳累值会+1,否则不会累积疲劳值(可以滑翔)。我们如果在飞翔的过程中有目的地选择小鸟降落的树,这样整个飞行过程就不会那么累。家雀儿可以从第一棵树向右飞停在第三、五、七、八、九号树上,它的疲劳值是从第三棵树到第五棵树,从第七树到第八树的飞行过程中积累的,也可以停在第三、五、七、九号树上。第三行1个整数Q(1 <= Q <= 25)表示K的个数;接下来Q行,每行1个整数表示K。原创 2024-12-22 11:50:03 · 268 阅读 · 0 评论 -
喷水装置(二)
第一行输入一个正整数N表示共有n次测试数据。每一组测试数据的第一行有三个整数n,w,h,n表示共有n个喷水装置,w表示草坪的横向长度,h表示草坪的纵向长度。随后的n行,都有两个整数xi和ri,xi表示第i个喷水装置的的横坐标(最左边为0),ri表示该喷水装置能覆盖的圆的半径。有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=100000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿。原创 2024-12-22 11:03:59 · 279 阅读 · 0 评论 -
能量项链
因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m×r×n (Mars单位),新产生的珠子的头标记为m,尾标记为n。例如:设N=4,4颗珠子的头标记与尾标记依次为(2,3)、 (3,5)、 (5,10)、 (10,2)。第i个数为第i颗珠子的头标记(1≤i≤N),当i< N时,第i颗珠子的尾标记应该等于第i+1颗珠子的头标记。原创 2024-12-15 11:08:13 · 283 阅读 · 0 评论 -
数列极差问题
在黑板上写了N个正整数组成的一个数列,进行如下操作: 每次擦去其中的两个数a和b,然后在数列中加入一个数a×b+1,如此下去直至黑板上 剩下一个数,在所有按这种操作方式最后得到的数中,最大的为max,最小的为min, 则该数列的极差定义为M=max-min。输入包含多个测试集。每个测试集的第一个数N表示 正整数序列长度(0<=N<=50000),随后是N个正整数。请你编程,对于给定的数列,计算极差。原创 2024-12-22 09:39:16 · 271 阅读 · 0 评论 -
矩阵连乘
矩阵乘法是线性代数中最基础的一个知识点,设矩阵A为一个n行m列的矩阵,矩阵B为x行y列,那么A能乘B的条件为m=x,它们相乘将得到一个n行y列的矩阵,进行一次矩阵乘法的运算次数为n×m×y,现在给出k个矩阵,你每次可以合并相邻的两个矩阵,将它们做乘法得出的矩阵作为合并的结果,请问如何合并能使得总的运算次数最少。接下来k行,每行两个正整数表示该矩阵的行和列(每个数<=50)第一行一个数k(k<=100)一个整数表示最少的合并代价。原创 2024-12-15 11:50:01 · 256 阅读 · 0 评论 -
二维费用的背包问题
有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。接下来有 N 行,每行三个整数 vi,mi,wi,用空格隔开,分别表示第 i 件物品的体积、重量和价值。第一行两个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。输出一个整数,表示最大价值。原创 2024-12-08 11:52:24 · 197 阅读 · 0 评论 -
石子合并<2>
在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分。数据的第1行是正整数N,1≤N≤100,表示有N堆石子;输出共2行,第1行为最小得分,第2行为最大得分。第2行有N个数,分别表示每堆石子的个数。原创 2024-12-15 10:33:24 · 155 阅读 · 0 评论 -
石子合并<1>
有N堆石子排成一排(n<=100),现要将石子有次序地合并成一堆,规定每次只能选相邻的两堆合并成一堆,并将新的一堆的石子数,记为该次合并的得分,编一程序,输入为堆数n及每堆石子数(<=200);(1)选择一种合并石子的方案,使得做n-1次合并,得分的总和最少。(2)选择一种合并石子的方案,使得做n-1次合并,得分的总和最多。第二行为每堆石子数,每两个数之间用一空格分隔。第一行为合并得分的最小值。第二行为合并得分的最大值。原创 2024-12-15 09:52:04 · 250 阅读 · 0 评论 -
多重背包2
有 N 种物品和一个容量是 V的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。第一行两个整数,N,V用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数vi,wi,si,用空格隔开,分别表示第 i种物品的体积、价值和数量。输出一个整数,表示最大价值。原创 2024-12-08 10:25:45 · 160 阅读 · 0 评论 -
买书
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。一个整数 n,代表总共钱数。(0 <= n <= 1000)问小明有多少种买书方案?(每种书可购买多本)一个整数,代表选择方案种数。原创 2024-12-08 09:44:21 · 271 阅读 · 0 评论 -
分组背包
一个旅行者有一个最多能装V公斤的背包,现在有n件物品,它们的重量分别是 W1,W2,...,Wn ,它们的价值分别为 C1 , C2 ,..., Cn。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。第一行:三个整数,V(背包容量,V≤200),N(物品数量,N≤30)和T(最大组号,T≤10);第2..N+1行:每行三个整数 Wi,Ci,P ,表示每个物品的重量,价值,所属组号。仅一行,一个数,表示最大总价值。原创 2024-12-08 11:28:39 · 157 阅读 · 0 评论 -
混合背包
第一行:二个整数,M(背包容量,M≤200),N(物品数量,N≤30);第2..N+1行:每行三个整数 Wi,Ci,Pi ,前两个整数分别表示每个物品的重量,价值,第三个整数若为0,则说明此物品可以购买无数件,若为其他数字,则为此物品可购买的最多件数( P i )。选第一件物品1件和第三件物品2件。仅一行,一个数,表示最大总价值。原创 2024-12-08 10:32:33 · 210 阅读 · 0 评论 -
数字组合
在N个数中找出其和为M的若干个数。先读入正整数N(1< N< 100)和M(1< M< 10000),再读入N个正数(可以有相同的数字,每个数字均在1000以内),在这N个数中找出若干个数,使它们的和是M,把满足条件的数字组合都找出来以统计组合的个数,输出组合的个数(不考虑组合是否相同)。要求你的程序运行时间不超过1秒。第一行是两个数字,表示N和M。就一个数字,表示和为M的组合的个数。原创 2024-12-01 11:04:59 · 272 阅读 · 0 评论 -
完全背包问题
设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。第一行:两个整数,M(背包容量,M≤200)和N(物品数量,N≤30);第2..N+1行:每行二个整数Wi,Ci,表示每个物品的重量和价值。仅一行,输出最大价值,格式参考照样例输出。原创 2024-12-01 11:32:59 · 261 阅读 · 0 评论 -
01背包问题
一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是 W1,W2,...,Wn ,它们的价值分别为 C1 , C2 ,..., Cn ,求旅行者能获得最大总价值。第一行:两个整数,M (背包容量,M≤200 )和 N (物品数量, N≤20 );第 2..N+1 行:每行二个整数 Wi,Ci ,表示每个物品的重量和价值。仅一行,一个数,表示最大总价值。原创 2024-12-01 09:57:12 · 193 阅读 · 0 评论 -
采药
医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。输入的第一行有两个整数T(1≤T≤1000)和M(1≤M≤100),T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的的整数,分别表示采摘某株草药的时间和这株草药的价值。输出只包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。原创 2024-12-01 10:30:15 · 207 阅读 · 0 评论 -
最长公共上升子序列
小沐沐说,对于两个串A,B,如果它们都包含一段位置不一定连续的数字,且数字是严格递增的,那么称这一段数字是两个串的公共上升子串,而所有的公共上升子串中最长的就是最长公共上升子串了。熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们要研究最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子串。不过,只要告诉奶牛它的长度就可以了。A,B中的数字不超过maxlongint。第一行N,表示A,B的长度。原创 2024-11-24 11:51:05 · 318 阅读 · 0 评论 -
多重背包
现有N种(N<=10)魔法石和一个容量为V(0<V<200)的背包。第i种魔法石最多有n[i]件可用,每个占用的空间是c[i],价值是w[i]。全部物品总数不超过50.求解将哪些魔法石装入背包可使这些物品的容量总和不超过背包容量,且价值总和最大。第一行为两个数字,即V和N。以下N行为每种物品的空间,价值和数量。原创 2024-12-01 11:45:32 · 187 阅读 · 0 评论 -
计算字符串距离
比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一个“g”的方式来达到目的。无论增加还是减少“g”,我们都仅仅需要一次操作。我们把这个操作所需要的次数定义为两个字符串的距离。接下来共n行,每行两个字符串,用空格隔开,表示要计算距离的两个字符串。删除一个字符(如把“traveling”变为“travelng”)。针对每一组测试数据输出一个整数,值为两个字符串的距离。给定任意两个字符串,写出一个算法来计算出他们的距离。修改一个字符(如把“a”替换为“b”);原创 2024-11-24 10:44:13 · 377 阅读 · 0 评论 -
编辑距离
设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。对任意的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数。字符串A和B的长度均小于2000。只有一个正整数,为最少字符操作次数。3、将一个字符改为另一个字符。原创 2024-11-24 10:34:03 · 160 阅读 · 0 评论 -
最长公共子序列
一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。第一行两个字符串用空格分开。两个串的长度均小于2000。原创 2024-11-24 09:52:55 · 250 阅读 · 0 评论 -
拦截导弹
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。第二行:要拦截所有导弹最少要配备的系统数。原创 2024-11-17 11:19:29 · 387 阅读 · 0 评论 -
数字三角形3
第1行n,表示n行 < =25 第2到n+1行为每个的权值 程序必须经过n / 2,n / 2这个点。数字三角形必须经过某一个点,使之走的路程和最大。原创 2024-11-10 11:43:24 · 280 阅读 · 0 评论 -
最低通行费
一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。而在经过中间的每个小方格时,都需要缴纳一定的费用。输入第一行是一个整数,表示正方形的宽度N (1 <= N < 100);后面 N 行,每行 N 个不大于 100 的整数,为网格上每个小方格的费用。输出至少需要的费用。后面 N 行,每行 N 个不大于 100 的整数,为网格上每个小方格的费用。第一行是一个整数,表示正方形的宽度N (1 <= N < 100);样例中,最小值为109=1+2+5+7+9+12+19+21+33。原创 2024-11-10 10:05:40 · 400 阅读 · 0 评论 -
数的计数
我们要求找出具有下列性质数的个数(包括输入的自然数n)。例如输入6,满足条件的数为 6,16,26,126,36,136。在它的左边加上一个自然数,但该自然数不能超过原数的一半;加上数后,继续按此规则进行处理,直到不能再加自然数为止。自然数n(n≤1000)。原创 2024-11-11 21:05:11 · 203 阅读 · 0 评论 -
最大子段和
小可喜欢思考人生的意义,她发现每个人的一生不可能一帆风顺,或多或少总要经过坎坷挫折的考验。于是她将人的一生的每个关键时间点以数值表示,快乐越高,分值越高,痛苦值越高,分值越低甚至会成为负数。最大连续子序列是所有连续子序列中元素和最大的一个,例如,给定序列{-2, 11,-4, 13,-5,-2},其最大连续子序列为{11,-4, 13},最大和为20。即给定K个整数的序列{N1, N2, N2,……, NK},其任意连续子序列可表示为{Ni, Ni+1,……, Nj},其中1≤i≤j≤K。原创 2024-11-17 09:41:31 · 234 阅读 · 0 评论 -
数字三角形4
第1行n,表示n行(n< =25)。第2到n+1行为每个的权值 第n+2行为两个数x,y表示必须经过的点。数字三角形必须经过某一个点,使之走的路程和最大。原创 2024-11-10 11:56:22 · 308 阅读 · 0 评论 -
数字三角形2
第1行n,表示n行 < =25 第2到n+1行为每个的权值。数字三角形 要求走到最后mod 100最大。mod 100最大值。原创 2024-11-10 10:58:17 · 207 阅读 · 0 评论 -
最长上升子序列
输入的第一行是序列的长度N (1 <= N <= 1000)。第二行给出序列中的N个整数,这些整数的取值范围都在0到10000。最长上升子序列的长度。原创 2024-11-17 10:01:31 · 194 阅读 · 0 评论 -
最长上升子序列2
给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。第二行包含 N 个整数,表示完整序列。−10^9≤数列中的数≤10^9。输出一个整数,表示最大长度。第一行包含整数 N。原创 2024-11-17 11:48:11 · 156 阅读 · 0 评论 -
数字三角形
请编一个程序根据展示出的三角形,计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。后面N行表示三角形每条路的路径权,每个路径权不超过10^5大小。每一步可沿左斜线向下或右斜线向下走;路径所经过的数字的总和最大的答案。三角形行数小于等于100;第一行为N,表示有N行。三角形中的数字为整数;原创 2024-11-10 09:45:53 · 223 阅读 · 0 评论 -
数字三角形
请编一个程序根据展示出的三角形,计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。后面N行表示三角形每条路的路径权,每个路径权不超过10^5大小。每一步可沿左斜线向下或右斜线向下走;路径所经过的数字的总和最大的答案。三角形行数小于等于100;第一行为N,表示有N行。三角形中的数字为整数;原创 2024-11-10 09:44:11 · 146 阅读 · 0 评论 -
合并果子
在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。例如有3种果子,数目依次为1,2,9。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。对于30%的数据,保证有n< =1000: 对于50%的数据,保证有n< =5000;原创 2024-11-03 11:50:57 · 388 阅读 · 0 评论 -
流水作业调度问题
美国国家航空和宇宙航行局说,拯救奋进号的唯一方法是发射另一架航天飞机到太空帮助修复奋进号。但是考虑到其他航天飞机的条件,如亚特兰蒂斯和发现号,科学家们认为他们无法完成这项艰巨的任务。美国宇航局必须建造另一架新的航天飞机。对于输入中的每个测试块,第一行包含一个整数N (1 <= N <= 10000),表示部件的数量。每行包含两个整数a和b (0 <= a, b <= 100),表示对应部分在S1, S2中消耗的时间。你的工作是计算最少的时间来建造所有的部件。奋进号航天飞机(奋进号是英式的,奋进号是美式的。原创 2024-10-28 20:39:41 · 313 阅读 · 0 评论 -
货仓选址
现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。在一条数轴上有N家商店,它们的坐标分别为A1~AN。输出一个整数,表示距离之和的最小值。第二行N个整数A1~AN。原创 2024-10-28 20:03:18 · 204 阅读 · 0 评论 -
supermarket
超市里有N件商品,每个商品都有利润pi和过期时间di,每天只能卖一件商品, 卖掉一件物品要用 1 的时间 ,过期商品(即当天di<=0)不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。每组数据一行,首先一个整数 n然后 n 对数 p_i,d_i,以文件终止符结束。对每组数据,输出最佳收益。原创 2024-11-03 11:17:54 · 346 阅读 · 0 评论 -
耍杂技的牛
农夫约翰有 N 头牛,编号 1~N,计划表演杂技叠罗汉,表演时奶牛们站在彼此的身上,形。一头牛支撑不住的可能性取决于它头上所有牛的总重量(不包括自己)减去自己的身体强壮。我们需要确定奶牛的顺序,使得所有奶牛的风险值中的最大值尽可能的小。程度,这个值称为风险值,风险值越大,这只牛撑不住的可能性越高。奶牛们试图找到自己所处的位置顺序。每头奶牛都有自己的重量 Wi 和自己的强壮程度 Si。接下来 N 行,每行两个整数 Wi 和 Si。输出一个整数,表示最大风险值的最小可能值。第一行一个整数 ,表示奶牛的数量。原创 2024-10-28 20:51:44 · 231 阅读 · 0 评论 -
哈夫曼树
哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过100,2原创 2024-11-03 10:18:51 · 280 阅读 · 0 评论 -
序列合并
有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个。输出仅一行,包含N个整数,从小到大输出这N个最小的和,相邻数字之间用空格隔开。第一行一个整数N(0\leq N \leq 10^50≤N≤105)第二行N个整数Ai,满足Ai <= 1e9。第三行N个整数Bi,满足Bi <= 1e9。原创 2024-11-03 11:39:16 · 280 阅读 · 0 评论 -
Crossing River
输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间。(t原创 2024-10-28 19:57:26 · 263 阅读 · 0 评论
分享