算法
文章平均质量分 66
追求卓越&
这个作者很懒,什么都没留下…
展开
-
2022-03-11每日刷题打卡
一、洛谷P1119 灾后重建(1)问题描述题目背景B 地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。题目描述给出 B 地区的村庄数NN,村庄编号从00到N-1N−1,和所有MM条公路的长度,公路是双向的。并给出第ii个村庄重建完成的时间t_iti,你可以认为是同时开始重建并在第...原创 2022-03-11 20:53:31 · 877 阅读 · 0 评论 -
2022-03-10每日刷题打卡
一、LeetCode:bytedance-016. 16. 最短移动距离(1)题目描述给定一棵 n 个节点树。节点 1 为树的根节点,对于所有其他节点 i,它们的父节点编号为 floor(i/2) (i 除以 2 的整数部分)。在每个节点 i 上有 a[i] 个房间。此外树上所有边均是边长为 1 的无向边。树上一共有 m 只松鼠,第 j 只松鼠的初始位置为 b[j],它们需要通过树边各自找到一个独立的房间。请为所有松鼠规划一个移动方案,使得所有松鼠的总移动距离最短。格式:...原创 2022-03-10 21:12:27 · 381 阅读 · 0 评论 -
2022-03-07每日刷题打卡
一、信息学OJ:1275:【例9.19】乘积最大(1)题目描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积最大。同时,为了帮助选手能够正确理解题意,主持人还举了如...原创 2022-03-07 19:50:38 · 424 阅读 · 0 评论 -
2022-03-04每日刷题打卡
一、试题 历届真题 k倍区间【第八届】【省赛】【B组】(1)问题描述资源限制时间限制:1.0s 内存限制:256.0MB 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。 你能求出数列中总共有多少个K倍区间吗?输入格式 ----- 第一行包含两个整数N和K。(1 <= N, K <= 100000) 以下N行每行包原创 2022-03-04 19:33:20 · 254 阅读 · 0 评论 -
2022-03-03每日刷题打卡
一、蓝桥杯试题 历届真题 分糖果【第五届】【省赛】【B组(1)问题描述时间限制:1.0s 内存限制:256.0MB 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数。 反复进行这个游戏,直到所有小朋友的糖果数都相同为止。 你的任务是预测在已知的初始糖果情形下,老师一共需要补发多少个糖果。格式要求 程序首先读入一个整数N(2.原创 2022-03-03 19:22:54 · 336 阅读 · 0 评论 -
2022-03-02每日刷题打卡
一、蓝桥杯试题 历届真题 后缀表达式【第十届】【省赛】【B组】(1)题目描述(2)代码描述import java.io.*;import java.math.*;public class Main{ static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter out = new Buffe...原创 2022-03-02 20:29:02 · 341 阅读 · 0 评论 -
2022-03-01每日刷题打卡
一、蓝桥杯试题 历届真题 完全二叉树的权值【第十届】【省赛】【B组】(1)问题描述(2)代码实现import java.util.*;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(System.in); int n=cin.nextInt(); int sum=0; ...原创 2022-03-01 19:51:46 · 555 阅读 · 0 评论 -
2022-02-24每日刷题打卡
一、信息学OJ:1271:【例9.15】潜水员(1)问题描述潜水员为了潜水要使用特殊的装备。他有一个带2种气体的气缸:一个为氧气,一个为氮气。让潜水员下潜的深度需要各种的数量的氧和氮。潜水员有一定数量的气缸。每个气缸都有重量和气体容量。潜水员为了完成他的工作需要特定数量的氧和氮。他完成工作所需气缸的总重的最低限度的是多少?例如:潜水员有5个气缸。每行三个数字为:氧,氮的(升)量和气缸的重量:3 36 12010 25 1295 50 2501 45 130...原创 2022-02-24 19:09:46 · 237 阅读 · 0 评论 -
2022-02-23每日刷题打卡
一、信息学OJ:1270:【例9.14】混合背包(1)问题描述一个旅行者有一个最多能装V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,...,Cn。有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。【输入】第一行:二个整数,M(背包...原创 2022-02-23 18:35:12 · 200 阅读 · 0 评论 -
2022-02-22每日刷题打卡
一、信息学OJ:1268:【例9.12】完全背包问题(1)题目描述设有nn种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为MM,今从nn种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于MM,而价值的和为最大。【输入】第一行:两个整数,MM(背包容量,M≤200M≤200)和NN(物品数量,N≤30N≤30);第2..N+12..N+1行:每行二个整数Wi,CiWi,Ci,表示每个物品的重量和价值。...原创 2022-02-22 17:54:55 · 181 阅读 · 0 评论 -
2022-02-21每日刷题打卡
一、信息学OJ:1281:最长上升子序列(1)问题描述一个数的序列bibi,当b1<b2<...<bSb1<b2<...<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN)(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK)(ai1,ai2,...,aiK),这里1≤i1<i2<...<iK≤N1≤i1<i2<...<iK≤N。比如,对...原创 2022-02-21 19:26:07 · 116 阅读 · 0 评论 -
2022-02-20每日刷题打卡
一、信息学OJ:1259:【例9.3】求最长不下降序列(1)问题描述设有由n(1≤n≤200)n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)b(1)、b(2)、……、b(n)若存在i1<i2<i3<…<iei1<i2<i3<…<ie且有b(i1)<=b(i2)<=…<=b(ie)b(i1)<=b(i2)<=…<=b(ie)则称为长度为e的不下降序列。程序...原创 2022-02-20 19:08:17 · 148 阅读 · 0 评论 -
2022-02-18每日刷题打卡
一、AcWing 291. 蒙德里安的梦想(1)问题描述求把N×MN×M的棋盘分割成若干个1×21×2的的长方形,有多少种方案。例如当N=2,M=4N=2,M=4时,共有55种方案。当N=2,M=3N=2,M=3时,共有33种方案。如下图所示:输入格式输入包含多组测试用例。每组测试用例占一行,包含两个整数NN和MM。当输入用例N=0,M=0N=0,M=0时,表示输入终止,且该用例无需处理。输出格式每个测试用例输...原创 2022-02-18 16:54:55 · 204 阅读 · 0 评论 -
2022-02-17每日刷题打卡
一、ACWing:901. 滑雪(1)题目描述给定一个RR行CC列的矩阵,表示一个矩形网格滑雪场。矩阵中第ii行第jj列的点表示滑雪场的第ii行第jj列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。下面给出一个矩阵作为例子: 1 2 3 4 516 17 18 19 615 24 25 20 7...原创 2022-02-17 18:00:29 · 294 阅读 · 0 评论 -
2022-02-16每日刷题打卡
一、ACWing:900. 整数划分(1)问题描述一个正整数 nn 可以表示成若干个正整数之和,形如:n=n1+n2+…+nkn=n1+n2+…+nk,其中 n1≥n2≥…≥nk,k≥1n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数 nn 的一种划分。现在给定一个正整数 nn,请你求出 nn 共有多少种不同的划分方法。输入格式共一行,包含一个整数 nn。输出格式共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对 109+7109+7 取原创 2022-02-16 19:48:59 · 231 阅读 · 0 评论 -
2022-02-15每日刷题打卡
一、ACWing:899. 编辑距离(1)题目描述给定nn个长度不超过1010的字符串以及mm次询问,每次询问给出一个字符串和一个操作次数上限。对于每次询问,请你求出给定的nn个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。每个对字符串进行的单个字符的插入、删除或替换算作一次操作。输入格式第一行包含两个整数nn和mm。接下来nn行,每行包含一个字符串,表示给定的字符串。再接下来mm行,每行包含一个字符...原创 2022-02-15 21:43:35 · 143 阅读 · 0 评论 -
2022-02-14每日刷题打卡
一、蓝桥杯省赛——数字三角形(1)题目描述上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。输入描述输入的第一行包含一个整数N\ (1 \leq N \leq 100)N(1≤N≤100),表示三角形的行数。下面的NN行给出数字三角形。数字三角形上的数都是...原创 2022-02-14 20:20:34 · 213 阅读 · 0 评论 -
2022-02-11每日刷题打卡
一、ACWing:数字三角形(1)问题描述给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 5输入格式第一行包含整数nn,表示数字三角形的层数。接下来nn行,每行包含若干整数,其中第ii行表示数字三角形第...原创 2022-02-11 20:14:32 · 92 阅读 · 0 评论 -
2022-02-10每日刷题打卡
一、AcWing 4. 多重背包问题(1)题目描述有NN种物品和一个容量是VV的背包。第ii种物品最多有sisi件,每件体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数和背包容积。接下来有NN行,每行三个整数vi,wi,sivi,wi,si,用空格隔开,分别表示第ii种物品的体积、价值和数量。...原创 2022-02-10 19:35:55 · 87 阅读 · 0 评论 -
2022-02-09每日刷题打卡
一、ACWing:01背包问题(1)题目描述有NN件物品和一个容量是VV的背包。每件物品只能使用一次。第ii件物品的体积是vivi,价值是wiwi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量和背包容积。接下来有NN行,每行两个整数vi,wivi,wi,用空格隔开,分别表示第ii件物品的体积和价值。输出格式输出一个整...原创 2022-02-09 21:01:05 · 113 阅读 · 0 评论 -
2022-01-22每日刷题打卡
一、信息学:1212:LETTERS(1)题目描述给出一个roe×colroe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。【输入】第一行,输入字母矩阵行数RR和列数SS,1≤R,S≤201≤R,S≤20。接着输出RR行SS列字母矩阵。【输出】最多能走过的不同字母的个数。【输入样例】3 6HFDFFBAJHGDHDGAGEH【输出样例】6...原创 2022-01-22 17:07:07 · 129 阅读 · 0 评论 -
2022-01-20每日刷题打卡
一、第九届蓝桥杯Java试题–递增三元组题目:给定三个整数数组A = [A1, A2, … AN],B = [B1, B2, … BN],C = [C1, C2, … CN],请你统计有多少个三元组(i, j, k) 满足:1 <= i, j, k <= NAi < Bj < Ck【输入格式】第一行包含一个整数N。第二行包含N个整数A1, A2, … AN。第三行包含N个整数B1, B2, … BN。第四行包含N个整数C1, C2...原创 2022-01-20 23:06:31 · 123 阅读 · 0 评论 -
2022-01-19每日刷题打卡
一、第六题:分类计数(15分)(1)题目描述输入一个字符串,请输出这个字符串包含多少个大写字母,多少个小写字母,多少个数字。【输入格式】输入一行包含一个字符串。【输出格式】输出三行,每行一个整数,分别表示大写字母、小写字母和数字的个数。【样例输入】1+a=Aab【样例输出】131【评测用例规模与约定】对于所有评测用例,字符串由可见字符组成,长度不超过 100。(2)代码实现import java.io.BufferedInput...原创 2022-01-19 21:57:13 · 156 阅读 · 0 评论 -
2022-01-18每日刷题打卡
一、信息学OJ 1317:【例5.2】组合的输出【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5【输入】一行两个自然数n、r(1<n...原创 2022-01-18 23:28:34 · 204 阅读 · 0 评论 -
2022-01-17每日刷题打卡
一、Y总视频进度二、854. Floyd求最短路(1)问题描述给定一个nn个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定kk个询问,每个询问包含两个整数xx和yy,表示查询从点xx到点yy的最短距离,如果路径不存在,则输出impossible。数据保证图中不存在负权回路。输入格式第一行包含三个整数n,m,kn,m,k。接下来mm行,每行包含三个整数x,y,zx,y,z,表示存在一...原创 2022-01-17 23:52:42 · 193 阅读 · 0 评论 -
2022-01-14每日刷题打卡
一、Y总视频进度二、 AcWing 853. 有边数限制的最短路(1)题目描述给定一个nn个点mm条边的有向图,图中可能存在重边和自环,边权可能为负数。请你求出从11号点到nn号点的最多经过kk条边的最短距离,如果无法从11号点走到nn号点,输出impossible。注意:图中可能存在负权回路。输入格式第一行包含三个整数n,m,kn,m,k。接下来mm行,每行包含三个整数x,y,zx,y,z,...原创 2022-01-14 23:21:39 · 248 阅读 · 0 评论 -
2022-01-13每日刷题打卡
一、Y总视频进度二、849. Dijkstra求最短路 I(1)题目描述给定一个nn个点mm条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出11号点到nn号点的最短距离,如果无法从11号点走到nn号点,则输出−1−1。输入格式第一行包含整数nn和mm。接下来mm行每行包含三个整数x,y,zx,y,z,表示存在一条从点xx到点yy的有向边,边长为zz。输出格式输出一个整数,表示11号...原创 2022-01-13 22:57:50 · 188 阅读 · 0 评论 -
2022-01-12每日刷题打卡
一、Y总视频进度二、AcWing 827. 双链表(1)问题描述实现一个双链表,双链表初始为空,支持55种操作:在最左侧插入一个数; 在最右侧插入一个数; 将第kk个插入的数删除; 在第kk个插入的数左侧插入一个数; 在第kk个插入的数右侧插入一个数现在要对该链表进行MM次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中第kk个插入的数并不是指当前链表的第kk个数。例如操作过程中一共插入了nn个数...原创 2022-01-12 22:35:07 · 118 阅读 · 0 评论 -
2022-01-11每日刷题打卡
一、Y总视频进度二、847. 图中点的层次(1)问题描述给定一个nn个点mm条边的有向图,图中可能存在重边和自环。所有边的长度都是11,点的编号为1∼n1∼n。请你求出11号点到nn号点的最短距离,如果从11号点无法走到nn号点,输出−1−1。输入格式第一行包含两个整数nn和mm。接下来mm行,每行包含两个整数aa和bb,表示存在一条从aa走到bb的长度为11的边。输出格式...原创 2022-01-11 23:08:24 · 501 阅读 · 0 评论 -
2022-01-10每日刷题打卡
一、Y总视频进度二、845. 八数码(1)题目描述在一个3×33×3的网格中,1∼81∼8这88个数字和一个x恰好不重不漏地分布在这3×33×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把x与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让x先后与右...原创 2022-01-10 19:28:59 · 108 阅读 · 0 评论 -
2022-01-09每日刷题打卡
一、Y总视频进度二、AcWing 842. 排列数字(1)问题描述给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 nn。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤71≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1(2)问题分析这道题类与Lee...原创 2022-01-09 21:45:55 · 151 阅读 · 0 评论 -
2022-01-08每日刷题打卡
一、Y总视频进度二、AcWing 789. 数的范围(1)题目描述给定一个按照升序排列的长度为nn的整数数组,以及qq个查询。对于每个查询,返回一个元素kk的起始位置和终止位置(位置从00开始计数)。如果数组中不存在该元素,则返回-1 -1。输入格式第一行包含整数nn和qq,表示数组长度和询问个数。第二行包含nn个整数(均在1∼100001∼10000范围内),表示完整数组。接下来qq行,每行包含...原创 2022-01-08 23:03:04 · 117 阅读 · 0 评论 -
2022-01-07每日刷题打卡
一、Y总视频进度二、ACWing787. 归并排序(1)题目描述给定你一个长度为 nn 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 nn。第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。输出格式输出共一行,包含 nn 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53 1...原创 2022-01-07 23:18:08 · 244 阅读 · 0 评论 -
2022-01-06每日刷题打卡
一、Y总视频进度二、AcWing 785. 快速排序(1)题目描述给定你一个长度为 nn 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 nn。第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。输出格式输出共一行,包含 nn 个整数,表示排好序的数列。数据范围1≤n≤1000001≤n≤100000输入样例:53 1 2 4 5原创 2022-01-06 23:13:51 · 675 阅读 · 0 评论 -
2022-01-05每日刷题打卡
一、LeetCode:264. 丑数 II(1)问题描述给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。示例 1:输入:n = 10输出:12解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。示例 2:输入:n = 1输出:1解释:1 通常被视为丑数。提示:1 <= n <= 1690(2)问题分析这道题给出了丑数的概念,.原创 2022-01-05 21:37:04 · 124 阅读 · 0 评论 -
2022-01-04每日刷题打卡
一、LeetCode:209. 长度最小的子数组(1)题目描述给定一个含有n个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组...原创 2022-01-04 21:58:35 · 878 阅读 · 0 评论 -
2022-01-03每日刷题打卡
一、LeetCode:剑指 Offer II 008. 和大于等于 target 的最短子数组(1)问题描述给定一个含有n个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子...原创 2022-01-03 20:42:02 · 734 阅读 · 0 评论 -
2022-01-01每日刷题打卡
一、LeetCode:1186. 删除一次得到子数组最大和(1)题目描述给你一个整数数组,返回它的某个非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能删一次哦),(删除后)子数组中至少应当有一个元素,然后该子数组(剩下)的元素总和是所有子数组之中最大的。注意,删除一个元素后,子数组 不能为空。请看示例:示例 1:输入:arr = [1,-2,0,3]...原创 2022-01-01 21:26:15 · 490 阅读 · 0 评论 -
2021-12-31每日刷题打卡
一、LeetCode:507. 完美数(1)问题描述对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例 1:输入:num = 28输出:true解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。示例 2:输入:num = 6输出:true示例 3:输入:num = 496输出:true原创 2021-12-31 20:49:12 · 125 阅读 · 0 评论 -
2021-12-30每日刷题打卡
一、LeetCode:149. 直线上最多的点数(1)问题描述给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。示例 1:输入:points = [[1,1],[2,2],[3,3]]输出:3示例 2:输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:4提示:1 <= points.length <= 3.原创 2021-12-30 22:29:02 · 421 阅读 · 0 评论