蓝桥杯国赛训练营
文章平均质量分 58
蓝桥杯国赛训练营
aJupyter
自然语言处理方向在读硕士生,CSDN人工智能领域优质创作者,语雀知识库构建者,欢迎大家交流~
https://github.com/aJupyter
展开
-
4. 多重背包问题 I(多重背包)
有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0...原创 2022-06-16 22:06:29 · 112 阅读 · 0 评论 -
3. 完全背包问题(完全背包)
有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0...原创 2022-06-16 21:41:05 · 95 阅读 · 0 评论 -
2. 01背包问题(01背包)
有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0...原创 2022-06-16 21:25:08 · 103 阅读 · 0 评论 -
895. 最长上升子序列(lis)
给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N 个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4线性dp...原创 2022-06-16 21:12:05 · 116 阅读 · 0 评论 -
898. 数字三角形(数字三角形模型)
给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。2 7 4 44 5 2 6 5输入格式第一行包含整数 n,表示数字三角形的层数。接下来 n 行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。输出格式输出一个整数,表示最大的路径数字和。数据范围1≤n≤500,−10000≤三角形中的整数≤10000输入样例:573 88原创 2022-06-16 21:05:45 · 138 阅读 · 0 评论 -
12. 背包问题求具体方案(贪心+01背包)
蓝桥杯国赛冲冲冲有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出 字典序最小的方案。这里的字典序是指:所选物品的编号所构成的序列。物品的编号范围是 1…N。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一行,包含若干个用空格隔开的整数,表示原创 2022-06-15 17:01:27 · 184 阅读 · 0 评论 -
1023. 买书(完全背包方案数恰好问题)
小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)输入格式一个整数 n,代表总共钱数。输出格式一个整数,代表选择方案种数。数据范围0≤n≤1000输入样例1:20输出样例1:2输入样例2:15输出样例2:0输入样例3:0输出样例3:1...原创 2022-06-13 19:56:42 · 176 阅读 · 0 评论 -
1019. 庆功会(多重背包)
为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。输入格式第一行二个数n,m,其中n代表希望购买的奖品的种数,m表示拨款金额。接下来n行,每行3个数,v、w、s,分别表示第I种奖品的价格、价值(价格与价值是不同的概念)和能购买的最大数量(买0件到s件均可)。输出格式一行:一个数,表示此次购买能获得的最大的价值(注意!不是价格)。数据范围n≤500,m≤6000,v≤100,w≤1000,s≤10原创 2022-06-13 19:33:55 · 136 阅读 · 0 评论 -
1022. 宠物小精灵之收服(01背包,目标最大时某个值求最值问题)
宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小智就必须结束狩猎(因为他需要给皮卡丘疗伤),而使得皮卡丘体力小于等于0的野生小精灵也不会被小智收服。当小智的精灵球用完时,狩猎也宣告结束。我们假原创 2022-06-06 14:50:03 · 155 阅读 · 2 评论 -
278. 数字组合(01背包,恰好)
给定 N 个正整数 A1,A2,…,AN,从中选出若干个数,使它们的和为 M,求有多少种选择方案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数,表示 A1,A2,…,AN。输出格式包含一个整数,表示可选方案数。数据范围1≤N≤100,1≤M≤10000,1≤Ai≤1000,答案保证在 int 范围内。输入样例:4 41 1 2 2输出样例:3...原创 2022-06-06 11:43:28 · 140 阅读 · 0 评论 -
1020. 潜水员(01背包)
潜水员为了潜水要使用特殊的装备。他有一个带2种气体的气缸:一个为氧气,一个为氮气。让潜水员下潜的深度需要各种数量的氧和氮。潜水员有一定数量的气缸。每个气缸都有重量和气体容量。潜水员为了完成他的工作需要特定数量的氧和氮。他完成工作所需气缸的总重的最低限度的是多少?例如:潜水员有5个气缸。每行三个数字为:氧,氮的(升)量和气缸的重量:3 36 12010 25 1295 50 2501 45 1304 20 119如果潜水员需要5升的氧和60升的氮则总重最小为249(1,2或者4,5号气缸)。你的任务就是计算原创 2022-06-05 15:47:10 · 162 阅读 · 0 评论 -
8. 二维费用的背包问题(01背包)
有 N 件物品和一个容量是 V 的背包,背包能承受的最大重量是 M。每件物品只能用一次。体积是 vi,重量是 mi,价值是 wi。求解将哪些物品装入背包,可使物品总体积不超过背包容量,总重量不超过背包可承受的最大重量,且价值总和最大。输出最大价值。输入格式第一行三个整数,N,V,M,用空格隔开,分别表示物品件数、背包容积和背包可承受的最大重量。接下来有 N 行,每行三个整数 vi,mi,wi,用空格隔开,分别表示第 i 件物品的体积、重量和价值。输出格式输出一个整数,表示最大价值。数据范围0...原创 2022-06-04 13:27:29 · 188 阅读 · 0 评论 -
1024. 装箱问题(01背包)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion有一个箱子容量为 V,同时有 n 个物品,每个物品有一个体积(正整数)。要求 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入格式第一行是一个整数 V,表示箱子容量。第二行是一个整数 n,表示物品数。接下来 n 行,每行一个正整数(不超过10000),分别表示这 n 个物品的各自体积。输出格式一个整数,表示箱子剩余空间。数据范围0<V≤20000,0<n≤30输入样例.原创 2022-05-23 20:34:07 · 229 阅读 · 0 评论 -
423. 采药(01背包)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?.原创 2022-05-23 20:28:12 · 167 阅读 · 0 评论 -
5. 多重背包问题 II(背包模型+二进制优化)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。.原创 2022-05-14 20:14:12 · 173 阅读 · 0 评论 -
4. 多重背包问题 I(背包模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。.原创 2022-05-14 19:31:04 · 166 阅读 · 0 评论 -
3. 完全背包问题(背包模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据.原创 2022-05-13 11:32:45 · 291 阅读 · 0 评论 -
2. 01背包问题(背包模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范.原创 2022-05-13 08:59:27 · 149 阅读 · 0 评论 -
790. 数的三次方根(实数二分)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion给定一个浮点数 n,求它的三次方根。输入格式共一行,包含一个浮点数 n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留 6 位小数。数据范围−10000≤n≤10000输入样例:1000.00输出样例:10.000000Ideas实数二分模板题,一定要注意和整数二分模板的区别Coden = float(input())l,r = -100,100while r-l &.原创 2022-05-12 19:46:10 · 145 阅读 · 0 评论 -
789. 数的范围(二分)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。如果数组中不存在该元素,则返回 -1 -1。输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。接下来 q 行,每行包含一个整数 k,表示一个询问元素。输出格式共 q 行,每行包含两.原创 2022-05-11 17:44:24 · 140 阅读 · 0 评论 -
897. 最长公共子序列(LCS)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。输入格式第一行包含两个整数 N 和 M。第二行包含一个长度为 N 的字符串,表示字符串 A。第三行包含一个长度为 M 的字符串,表示字符串 B。字符串均由小写字母构成。输出格式输出一个整数,表示最大长度。数据范围1≤N,M≤1000输入样例:4 5acbdabedc输出样例.原创 2022-05-11 21:30:00 · 188 阅读 · 0 评论 -
1010. 拦截导弹(LIS+贪心)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导.原创 2022-05-11 10:42:47 · 215 阅读 · 0 评论 -
1016. 最大上升子序列和(LIS变式)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion一个数的序列 bi,当 b1<b2<…<bS 的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1≤i1<i2<…<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中和最大为18,为子序列(1,3,5,9)的和。.原创 2022-05-07 23:39:49 · 86 阅读 · 0 评论 -
1012. 友好城市(LIS+排序)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestionPalmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。输入格式第1行,一个整数N.原创 2022-05-07 23:27:18 · 215 阅读 · 0 评论 -
482. 合唱队形(LIS模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestionN 位同学站成一排,音乐老师要请其中的 (N−K) 位同学出列,使得剩下的 K 位同学排成合唱队形。合唱队形是指这样的一种队形:设 K 位同学从左到右依次编号为 1,2…,K,他们的身高分别为 T1,T2,…,TK, 则他们的身高满足 T1<…Ti+1>…>TK(1≤i≤K)。你的任务是,已知所有 N 位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入格式输入的.原创 2022-05-07 23:12:39 · 269 阅读 · 0 评论 -
1014. 登山(LIS模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?输入格式第一行包含整数N,表示景点数量。第二行包含N个整数,表示每个.原创 2022-05-07 23:03:46 · 248 阅读 · 0 评论 -
1017. 怪盗基德的滑翔翼(最长上升子序列LIS模型)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成一条线,每幢建筑的高度各不相同。初始.原创 2022-05-07 00:10:35 · 273 阅读 · 7 评论 -
895. 最长上升子序列(线性DP)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N 个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4Ideas数据量小于等于1000,考虑dpCode# O(N^2) 状态表示量*状态转移量N = 101.原创 2022-05-06 10:53:23 · 321 阅读 · 0 评论 -
1027. 方格取数(线性DP)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:2.gif某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每.原创 2022-05-04 00:00:00 · 232 阅读 · 2 评论 -
1018. 最低通行费(线性DP)
蓝桥杯国赛指南,详情见专栏文章目录QuestionIdeasCodeQuestion一个商人穿过一个 N×N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间 1 个小方格,都要花费 1 个单位时间。商人必须在 (2N−1) 个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开网格)。输入格.原创 2022-05-03 12:18:01 · 677 阅读 · 0 评论 -
1015. 摘花生(线性DP)
文章目录QuestionIdeasCodeQuestionHello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。输入格式第一行是一个整数T,代表一共有多少组数据。接下来是T组数据。每组数据的第一行是两个整数,分别原创 2022-05-02 23:23:46 · 150 阅读 · 0 评论 -
898. 数字三角形(线性DP)
文章目录QuestionIdeasCodeQuestion给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 88 1 02 7 4 44 5 2 6 5输入格式第一行包含整数 n,表示数字三角形的层数。接下来 n 行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。输出格式输出一个整数,表示最大原创 2022-05-02 22:47:52 · 157 阅读 · 0 评论 -
785. 快速排序(模板)
文章目录QuestionIdeasCodeQuestion给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5Ideas模板题优雅做法O(NlogN)暴力做原创 2022-04-29 23:15:04 · 380 阅读 · 0 评论