
蓝桥杯省赛训练营
蓝桥杯备战
aJupyter
自然语言处理方向在读硕士生,优快云人工智能领域优质创作者,语雀知识库构建者,欢迎大家交流~
https://github.com/aJupyter
展开
-
买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。输入格式两个正整数 n,m,表示每种包装中糖的颗数。输出格式一个正整数,表示最大不能买到的糖数。数据范围2≤n,m≤1000,原创 2022-04-08 18:39:00 · 348 阅读 · 0 评论 -
蓝桥杯备战终点站:激光炸弹
文章目录QuestionIdeasCodeQuestion地图上有 N 个目标,用整数 Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 Wi。注意:不同目标可能在同一位置。现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所有目标。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和 x,y 轴平行。求一颗炸弹最多能炸掉地图上总价值为多少的目标。输入格式第一行输入正整数 N 和 R,分别代表地图上的目标数目和正方形的边原创 2022-04-08 18:21:42 · 220 阅读 · 0 评论 -
第八届蓝桥杯省赛C++A/B组,第八届蓝桥杯省赛JAVAA/B组—分巧克力(二分)
文章目录QuestionIdeasCodeQuestion儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有 N 块巧克力,其中第 i 块是 Hi×Wi 的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的原创 2022-04-07 09:43:30 · 389 阅读 · 0 评论 -
最大公约数(欧几里得)
文章目录QuestionIdeasCodeQuestion给定 n 对正整数 ai,bi,请你求出每对数的最大公约数。输入格式第一行包含整数 n。接下来 n 行,每行包含一个整数对 ai,bi。输出格式输出共 n 行,每行输出一个整数对的最大公约数。数据范围1≤n≤105,1≤ai,bi≤2×109输入样例:23 64 6输出样例:32难度:简单时/空限制:1.5s / 64MB总通过数:16120总尝试数:18272来源:模板题算法标签Ideas欧几里得算原创 2022-04-05 20:54:19 · 230 阅读 · 0 评论 -
约数之和(数学)
文章目录QuestionIdeasCodeQuestion给定 n 个正整数 ai,请你输出这些数的乘积的约数之和,答案对 109+7 取模。输入格式第一行包含整数 n。接下来 n 行,每行包含一个整数 ai。输出格式输出一个整数,表示所给正整数的乘积的约数之和,答案需对 109+7 取模。数据范围1≤n≤100,1≤ai≤2×109输入样例:3268输出样例:252Ideas先分解质因数 后根据公式求Code# 约数之和 n = int(input())dic原创 2022-04-05 20:51:57 · 228 阅读 · 0 评论 -
约数个数(数学)
文章目录QuestionIdeasCodeQuestion给定 n 个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。输入格式第一行包含整数 n。接下来 n 行,每行包含一个整数 ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7 取模。数据范围1≤n≤100,1≤ai≤2×109输入样例:3268输出样例:12Ideas分解质因数Code# 约数之和 n = int(input())dic = dict()原创 2022-04-05 18:29:22 · 455 阅读 · 0 评论 -
分解质因数(数学)
文章目录QuestionIdeasCodeQuestion给定 n 个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。输入格式第一行包含整数 n。接下来 n 行,每行包含一个正整数 ai。输出格式对于每个正整数 ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。每个正整数的质因数全部输出完毕后,输出一个空行。数据范围1≤n≤100,2≤ai≤2×109输入样例:268输出样例:2 13 12原创 2022-04-05 11:31:24 · 457 阅读 · 0 评论 -
试除法判定质数(数论)
文章目录QuestionIdeasCodeQuestion给定 n 个正整数 ai,判定每个数是否是质数。输入格式第一行包含整数 n。接下来 n 行,每行包含一个正整数 ai。输出格式共 n 行,其中第 i 行输出第 i 个正整数 ai 是否为质数,是则输出 Yes,否则输出 No。数据范围1≤n≤100,1≤ai≤231−1输入样例:226输出样例:YesNoIdeas浅浅试除法,很快乐了只能说是Code# 试除法判断质数 O(sqrt(n))n = int(i原创 2022-04-05 11:03:57 · 425 阅读 · 0 评论 -
滑雪(记忆化搜索)
文章目录QuestionIdeasCodeQuestion给定一个 R 行 C 列的矩阵,表示一个矩形网格滑雪场。矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。下面给出一个矩阵作为例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12原创 2022-04-03 21:52:21 · 136 阅读 · 0 评论 -
1047. 糖果(01背包)
文章目录QuestionIdeasCodeQuestion由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。在这一天,Dzx可以从糖果公司的 N 件产品中任意选择若干件带回家享用。糖果公司的 N 件产品每件都包含数量不同的糖果。Dzx希望他选择的产品包含的糖果总数是 K 的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。当然,在满足这一条件的基础上,糖果总数越多越好。Dzx最多能带走多少糖果呢?注意:Dzx只能将糖果公司的原创 2022-04-03 09:09:37 · 292 阅读 · 0 评论 -
1050. 鸣人的影分身(计数DP,完全背包做法)
文章目录QuestionIdeasCodeQuestion在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为 M,他影分身的个数最多为 N,那么制造影分身时有多少种不同的分配方法?注意:影分身可以分配0点能量。分配方原创 2022-03-31 21:52:08 · 214 阅读 · 0 评论 -
900. 整数划分(计数DP)
文章目录QuestionIdeasCodeQuestion一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中 n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数 n 的一种划分。现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对 109+7 取模。数据范围1≤n≤1000输入样例:5输出样例:7Ideasf[i]原创 2022-03-31 21:46:34 · 396 阅读 · 0 评论 -
899. 编辑距离(线性DP&最短编辑距离模板题)
文章目录QuestionIdeasCodeQuestion给定 n 个长度不超过 10 的字符串以及 m 次询问,每次询问给出一个字符串和一个操作次数上限。对于每次询问,请你求出给定的 n 个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。输入格式第一行包含两个整数 n 和 m。接下来 n 行,每行包含一个字符串,表示给定的字符串。再接下来 m 行,每行包含一个字符串和一个整数,表示一次询问。字符串中只包含小原创 2022-03-30 19:37:33 · 210 阅读 · 0 评论 -
902. 最短编辑距离(线性DP)
文章目录QuestionIdeasCodeQuestion给定两个字符串 A 和 B,现在要将 A 经过若干操作变为 B,可进行的操作有:删除–将字符串 A 中的某个字符删除。插入–在字符串 A 的某个位置插入某个字符。替换–将字符串 A 中的某个字符替换为另一个字符。现在请你求出,将 A 变为 B 至少需要进行多少次操作。输入格式第一行包含整数 n,表示字符串 A 的长度。第二行包含一个长度为 n 的字符串 A。第三行包含整数 m,表示字符串 B 的长度。第四行包含一个长度为 m 的原创 2022-03-30 14:19:26 · 258 阅读 · 0 评论 -
n-皇后问题(dfs,全排列变形)
文章目录QuestionIdeasCodeQuestionn−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数 n。输出格式每个解决方案占 n 行,每行输出一个长度为 n 的字符串,用来表示完整的棋盘状态。其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。注意:行末不原创 2022-03-30 13:33:24 · 204 阅读 · 0 评论 -
842. 排列数字(dfs)
文章目录QuestionIdeasCodeQuestion给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1Ideasdfs最重要的是枚举的顺序,保证不重不漏的枚举到所有情况这里枚举的顺序是依次填充每一位Coden = in原创 2022-03-30 09:14:25 · 397 阅读 · 0 评论 -
1050. 鸣人的影分身(线性复杂DP)
文章目录QuestionIdeasCodeQuestion在火影忍者的世界里,令敌人捉摸不透是非常关键的。我们的主角漩涡鸣人所拥有的一个招数——多重影分身之术——就是一个很好的例子。影分身是由鸣人身体的查克拉能量制造的,使用的查克拉越多,制造出的影分身越强。针对不同的作战情况,鸣人可以选择制造出各种强度的影分身,有的用来佯攻,有的用来发起致命一击。那么问题来了,假设鸣人的查克拉能量为 M,他影分身的个数最多为 N,那么制造影分身时有多少种不同的分配方法?注意:影分身可以分配0点能量。分配方原创 2022-03-30 09:09:30 · 455 阅读 · 0 评论 -
红与黑(flood fill)
文章目录QuestionIdeasCodeQuestion有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。输入格式输入包括多个数据集合。每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。在接下来的 H 行中,每行包括 W 个字符。每个字符表示一块瓷砖的颜色,规则如下1)‘.’:黑色的瓷砖;2)‘#’:红色的瓷砖;3)原创 2022-03-29 11:31:44 · 111 阅读 · 0 评论 -
石子合并(区间DP)
文章目录QuestionIdeasCodeQuestion设有 N 堆石子排成一排,其编号为 1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有 4 堆石子分别为 1 3 5 2, 我们可以先合并 1、2 堆,代价为 4,得到 4 5 2, 又合并 1,2 堆,代价为 9,得到 9 2 ,再合并得原创 2022-03-28 21:31:03 · 144 阅读 · 0 评论 -
最长公共子序列(线性DP)
文章目录QuestionIdeasCodeQuestion给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。输入格式第一行包含两个整数 N 和 M。第二行包含一个长度为 N 的字符串,表示字符串 A。第三行包含一个长度为 M 的字符串,表示字符串 B。字符串均由小写字母构成。输出格式输出一个整数,表示最大长度。数据范围1≤N,M≤1000输入样例:4 5acbdabedc输出样例:3Ideas线性DPC原创 2022-03-27 21:55:54 · 504 阅读 · 0 评论 -
最长上升子序列(线性DP)
文章目录QuestionIdeasCodeQuestion给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N 个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤1000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4Ideas线性DPCoden = int(input())lis = [int(i) for i in input().split()]原创 2022-03-26 23:10:11 · 491 阅读 · 0 评论 -
数字三角形(线性DP)
文章目录QuestionIdeasCodeQuestion给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 88 1 02 7 4 44 5 2 6 5输入格式第一行包含整数 n,表示数字三角形的层数。接下来 n 行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。输出格式输出一个整数,表示最大原创 2022-03-26 23:09:14 · 522 阅读 · 0 评论 -
分组背包问题(DP)
文章目录QuestionIdeasCodeQuestion有 N 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据:每组数据第一行有一个整数 Si,表示第 i 个物品组的物品数量;每组数据接下来有 Si 行原创 2022-03-26 21:23:07 · 237 阅读 · 0 评论 -
多重背包问题 I(DP)
文章目录QuestionIdeasCodeQuestion有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<原创 2022-03-26 10:43:06 · 108 阅读 · 0 评论 -
完全背包问题(DP 逐渐优化*3)
文章目录QuestionIdeasCodeQuestion有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000原创 2022-03-25 21:49:38 · 132 阅读 · 0 评论 -
A + B(模拟)
文章目录QuestionIdeasCodeQuestion输入两个整数,求这两个整数的和是多少。输入格式输入两个整数A,B,用空格隔开输出格式输出一个整数,表示这两个数的和数据范围0≤A,B≤108样例输入:3 4样例输出:7Ideas开心Codea,b = list(map(int,input().strip().split()))print(a+b)...原创 2022-03-24 10:55:01 · 218 阅读 · 0 评论 -
砝码称重(DP,背包问题)
文章目录QuestionIdeasCodeQuestion你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式输出一个整数代表答案。数据范围对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 105。输入样例:31 4 6原创 2022-03-24 10:52:28 · 633 阅读 · 0 评论 -
第十二届蓝桥杯省赛第二场C++B组真题(节选)
文章目录一、特殊年份(模拟)二、小平方(模拟)三、完全平方数(数论)一、特殊年份(模拟)今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。输入 5 个年份,请计算这里面有多少个特殊年份。输入格式输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。输出格式输出一个整数,表示输入的 5 个年份中有多少个特殊年份。输入样例:20192021192021209899输原创 2022-03-23 20:46:13 · 165 阅读 · 0 评论 -
第十二届蓝桥杯省赛第一场C++A/B/C组真题(节选)
文章目录一、时间显示二、 砝码称重三、杨辉三角形一、时间显示小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。输入格式输入一行包含一个整数,表示时间。输出格式输出时分秒表示的当前时间,格式原创 2022-03-23 19:52:47 · 145 阅读 · 0 评论 -
第十一届蓝桥杯省赛第一场C++A/B组真题(节选)
文章目录一、整除序列(模拟)二、解码(字符串)三、走方格(简单DP)四、超级胶水(模拟)五、整数拼接(枚举+哈希表)一、整除序列(模拟)有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。输入格式输入一行包含一个整数 n。输出格式输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。数据范围1≤n≤1018输入样例:20输出样例:20 10 5 2 1送分水题,之间模拟n = int(input())while n原创 2022-03-23 17:38:21 · 309 阅读 · 0 评论 -
简单斐波那契(递推)
文章目录QuestionIdeasCodeQuestion以下数列 0 1 1 2 3 5 8 13 21 … 被称为斐波纳契数列。这个数列从第 3 项开始,每一项都等于前两项之和。输入一个整数 N,请你输出这个序列的前 N 项。输入格式一个整数 N。输出格式在一行中输出斐波那契数列的前 N 项,数字之间用空格隔开。数据范围0<N<46输入样例:5输出样例:0 1 1 2 3Ideas递推Coden = int(input())a = 0b = 1for原创 2022-03-21 18:05:02 · 375 阅读 · 0 评论 -
差分矩阵(二维差分)
文章目录QuestionIdeasCodeQuestion输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。输入格式第一行包含整数 n,m,q。接下来 n 行,每行包含 m 个整数,表示整数矩阵。接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操原创 2022-03-20 19:20:13 · 978 阅读 · 2 评论 -
差分(差分)
文章目录QuestionIdeasCodeQuestion输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数 n 和 m。第二行包含 n 个整数,表示整数序列。接下来 m 行,每行包含三个整数 l,r,c,表示一个操作。输出格式共一行,包含 n 个整数,表示最终序列。数据范围1≤n,m≤100000,1≤l≤r≤n,−1000≤c≤10原创 2022-03-20 17:24:38 · 152 阅读 · 0 评论 -
雷达设备(贪心:区间问题)
文章目录QuestionIdeasCodeQuestion假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。每个小岛都位于海洋一侧的某个点上。雷达装置均位于海岸线上,且雷达的监测范围为 d,当小岛与某雷达的距离不超过 d 时,该小岛可以被雷达覆盖。我们使用笛卡尔坐标系,定义海岸线为 x 轴,海的一侧在 x 轴上方,陆地一侧在 x 轴下方。现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最小雷达数目。输入格式第一行输入两个整数 n 和 d,原创 2022-03-20 12:11:47 · 424 阅读 · 0 评论 -
微软面试题:糖果传递(贪心+线性代数)
文章目录QuestionIdeasCodeQuestion有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 1。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数 n,表示小朋友的个数。接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤1000000,0≤a[i]≤2×109,数据保证一定有解。输入样例:41254原创 2022-03-20 11:12:01 · 360 阅读 · 0 评论 -
股票买卖 II(贪心)
文章目录QuestionIdeasCodeQuestion给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入格式第一行包含整数 N,表示数组长度。第二行包含 N 个不大于 10000 的正整数,表示完整的数组。输出格式输出一个整数,表示最大利润。数据范围1≤N≤105输入样例1:67原创 2022-03-20 10:09:18 · 220 阅读 · 4 评论 -
货仓选址(贪心)
文章目录QuestionIdeasCodeQuestion在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数 N。第二行 N 个整数 A1∼AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12Ideas直觉上是将原创 2022-03-20 10:06:39 · 203 阅读 · 0 评论 -
背包问题(动态规划)
文章目录QuestionIdeasCodeQuestion有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000原创 2022-03-19 21:52:50 · 123 阅读 · 0 评论 -
数列区间最大值(线段树求最大值)
文章目录QuestionIdeasCodeQuestion输入一串数字,给你 M 个询问,每次询问就给你两个数字 X,Y,要求你说出 X 到 Y 这段区间内的最大数。输入格式第一行两个整数 N,M 表示数字的个数和要询问的次数;接下来一行为 N 个数;接下来 M 行,每行都有两个整数 X,Y。输出格式输出共 M 行,每行输出一个数。数据范围1≤N≤105,1≤M≤106,1≤X≤Y≤N,数列中的数字均不超过231−1输入样例:10 23 2 4 5 6 8 1 2 9 71原创 2022-03-19 20:20:14 · 661 阅读 · 0 评论 -
动态求连续区间和(线段树)
文章目录QuestionIdeasCodeQuestion给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b] 的连续和。输入格式第一行包含两个整数 n 和 m,分别表示数的个数和操作次数。第二行包含 n 个整数,表示完整数列。接下来 m 行,每行包含三个整数 k,a,b (k=0,表示求子数列[a,b]的和;k=1,表示第 a 个数加 b)。数列从 1 开始计数。输出格式输出若干行数字,表示 k=0 时,对应的子数列 [a,b] 的连续和。数据范围原创 2022-03-19 19:43:37 · 185 阅读 · 0 评论