- 博客(1117)
- 资源 (1)
- 收藏
- 关注
原创 致所有热爱这个专业的小伙伴们的一封信
今天是 1024 程序员节,是我步入这个专业的第四个年头,同样也是我在 CSDN 坚持写博客的第三个年头。从最近的一篇博客至今,已经四个多月未写作了,所以借此机会我想聊聊自己的计算机生涯,下面所有的话都是有感而发,不喜勿喷哦???? 第一句话我想送给所有学弟学妹或者即将步入大学生活的同学们: 时光如白驹过隙,大一不努力,大四徒伤悲。 当我回过神来时蓦然发现,大学四年已经走到了尾声,遥想当年刚步入大学时,我还是个未成年的孩子,一眨眼就到了奔三的年纪[此处
2021-10-24 10:24:07 856 1
原创 LeetCode 2646 最小化旅行的价格总和
现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条边。每个节点都关联一个价格。给你一个整数数组 price ,其中 price[i] 是第 i 个节点的价格。给定路径的 价格总和 是该路径上所有节点的价格之和。
2023-04-29 16:53:41 309 1
原创 LeetCode 2642 设计可以求最短路径的图类
给你一个有 n 个节点的 有向带权 图,节点编号为 0 到 n - 1。图中的初始边用数组 edges 表示,其中 edges[i] = [fromi, toi, edgeCosti] 表示从 fromi 到 toi 有一条代价为 edgeCosti 的边。如果路径不存在,返回 -1。addEdge(int[] edge) 向边集中添加一条边,其中 edge = [from, to, edgeCost]。Graph(int n, int[][] edges) 初始化图有 n 个节点,并输入初始边。
2023-04-28 16:52:15 303
原创 LeetCode 2641 二叉树的堂兄弟节点 II
给你一棵二叉树的根 root ,请你将每个节点的值替换成该节点的所有 堂兄弟节点值的和。如果两个节点在树中有相同的深度且它们的父节点不同,那么它们互为 堂兄弟。请你返回修改值之后,树的根 root。
2023-04-27 22:38:59 465
原创 Flask开发问题总结
毕设用 Flask 框架开发了一个 Web 网站 ,在开发过程中遇到了很多问题,今天这里做一个总结,避免以后遇到同样的问题。
2022-05-27 20:36:35 1609 7
原创 LeetCode 2188 完成比赛的最少时间
给你一个下标从 0 开始的二维整数数组 tires ,其中 tires[i] = [fi, ri] 表示第 i 种轮胎如果连续使用,第 x 圈需要耗时 fi * ri(x-1) 秒。比方说,如果 fi = 3 且 ri = 2 ,且一直使用这种类型的同一条轮胎,那么该轮胎完成第 1 圈赛道耗时 3 秒,完成第 2 圈耗时 3 * 2 = 6 秒,完成第 3 圈耗时 3 * 22 = 12 秒,依次类推。同时给你一个整数 changeTime 和一个整数 numLaps 。比赛总共包含 numLa.
2022-05-02 17:52:06 431
原创 LeetCode 5932 合法重新排列数对
题目链接给你一个下标从 0 开始的二维整数数组 pairs ,其中 pairs[i] = [starti, endi] 。如果 pairs 的一个重新排列,满足对每一个下标 i ( 1 <= i < pairs.length )都有 endi-1 == starti ,那么我们就认为这个重新排列是 pairs 的一个 合法重新排列 。请你返回 任意一个 pairs 的合法重新排列。注意:数据保证至少存在一个 pairs 的合法重新排列。示例 1:输入:pairs = [[5,1],[4
2021-12-05 18:36:11 340
原创 LeetCode 2092 找出知晓秘密的所有专家
题目链接给你一个整数 n ,表示有 n 个专家从 0 到 n - 1 编号。另外给你一个下标从 0 开始的二维整数数组 meetings ,其中 meetings[i] = [xi, yi, timei] 表示专家 xi 和专家 yi 在时间 timei 要开一场会。一个专家可以同时参加 多场会议 。最后,给你一个整数 firstPerson 。专家 0 有一个 秘密 ,最初,他在时间 0 将这个秘密分享给了专家 firstPerson 。接着,这个秘密会在每次有知晓这个秘密的专家参加会议时进行传播。
2021-11-29 15:05:28 473
原创 LeetCode 5791 统计子岛屿
题目链接给你两个 m x n 的二进制矩阵 grid1 和 grid2 ,它们只包含 0 (表示水域)和 1 (表示陆地)。一个 岛屿 是由 四个方向 (水平或者竖直)上相邻的 1 组成的区域。任何矩阵以外的区域都视为水域。如果 grid2 的一个岛屿,被 grid1 的一个岛屿 完全 包含,也就是说 grid2 中该岛屿的每一个格子都被 grid1 中同一个岛屿完全包含,那么我们称 grid2 中的这个岛屿为 子岛屿 。请你返回 grid2 中 子岛屿 的 数目 。示例 1:输入:grid1
2021-06-20 20:01:11 17787
原创 LeetCode 5790 查询差绝对值的最小值
题目链接一个数组 a 的 差绝对值的最小值 定义为:0 <= i < j < a.length 且 a[i] != a[j] 的 |a[i] - a[j]| 的 最小值。如果 a 中所有元素都 相同 ,那么差绝对值的最小值为 -1 。比方说,数组 [5,2,3,7,2] 差绝对值的最小值是 |2 - 3| = 1 。注意答案不为 0 ,因为 a[i] 和 a[j] 必须不相等。给你一个整数数组 nums 和查询数组 queries ,其中 queries[i] = [li, ri]
2021-06-20 19:50:17 18025
原创 LeetCode 160 相交链表
题目链接给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Intersected at '8'解
2021-06-04 15:48:29 17420
原创 LeetCode 525 连续数组
题目链接给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。示例 1:输入: nums = [0,1]输出: 2说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:输入: nums = [0,1,0]输出: 2说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。思维题~我们把 000 转化为 −1-1−1,然后求一遍前缀和,题目就转化为求一段和为 000 的区间的最大长度,用 ma
2021-06-03 19:22:25 6377
原创 LeetCode 1744 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
题目链接给你一个下标从 0 开始的正整数数组 candiesCount ,其中 candiesCount[i] 表示你拥有的第 i 类糖果的数目。同时给你一个二维数组 queries ,其中 queries[i] = [favoriteTypei, favoriteDayi, dailyCapi] 。你按照如下规则进行一场游戏:你从第 0 天开始吃糖果。你在吃完 所有 第 i - 1 类糖果之前,不能 吃任何一颗第 i 类糖果。在吃完所有糖果之前,你必须每天 至少 吃 一颗 糖果。请你构建一
2021-06-03 16:46:20 6367
原创 AtCoder Beginner Contest 203(Sponsored by Panasonic)D.Pond
题目链接Problem StatementThe land of a park AtCoder is an N×NN×NN×N grid with east-west rows and north-south columns. The height of the square at the i-th row from the north and j-th column from the west is given as Ai,jA_{i,j}Ai,j.Takahashi, the manager,
2021-06-01 19:43:00 6557
原创 LeetCode 1882 使用服务器处理任务
题目链接给你两个 下标从 0 开始 的整数数组 servers 和 tasks ,长度分别为 n 和 m 。servers[i] 是第 i 台服务器的 权重 ,而 tasks[j] 是处理第 j 项任务 所需要的时间(单位:秒)。你正在运行一个仿真系统,在处理完所有任务后,该系统将会关闭。每台服务器只能同时处理一项任务。第 0 项任务在第 0 秒可以开始处理,相应地,第 j 项任务在第 j 秒可以开始处理。处理第 j 项任务时,你需要为它分配一台
2021-05-31 20:32:14 2227
原创 LeetCode 477 汉明距离总和
题目链接两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.简单位运算~我们可以把每个
2021-05-28 14:58:47 1961
原创 AISing Programming Contest 2021(AtCoder Beginner Contest 202)D.aab aba baa
题目链接Problem StatementAmong the strings of length A+B containing A occurrences of a and B occurrences of b, find the string that comes K-th in the lexicographical order.Sample Input 12 2 4Sample Output 1baabSample Input 230 30 118264581564861424
2021-05-23 19:55:27 2122
原创 AISing Programming Contest 2021(AtCoder Beginner Contest 202)E.Count Descendants
题目链接Problem StatementWe have a rooted tree with NNN vertices, numbered 1,2,…,N1,2,…,N1,2,…,N.Vertex 1 is the root, and the parent of Vertex i(2≤i≤N)i(2≤i≤N)i(2≤i≤N) is Vertex PiP_iPi.You are given QQQ queries. In the iii-th query (1≤i≤Q)(1≤i≤Q)(1≤i≤Q)
2021-05-23 19:45:27 2065
原创 Codeforces Beta Round #51 D. Beautiful numbers
题目链接Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer number is beautiful if and only if it is divisible by each of its nonzero digits. We will not argue with this and just count the quantity of beautiful numb
2021-05-14 10:01:05 1936
原创 HDUOJ 3652 B-number
题目链接Problem DescriptionA wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string “13” and can be divided by 13. For example, 130 and 2613 are wqb-numbers, but 143 and 2639 are not. Your task is to calculat
2021-05-13 21:28:52 1917
原创 HDUOJ 3555 Bomb
题目链接Problem DescriptionThe counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the current number sequence includes the sub-sequence “49”, th
2021-05-13 20:54:27 1966
原创 第一届河北工业大学程序设计竞赛校赛(同步赛)G.数据结构好难啊
题目链接题目描述竭泽作为队伍里的数据结构选手,经常跟数据结构打交道。然而竭泽看一天废三天的样子让滑稽很是着急。通常只有人受到了打击(打铁?),才能意识到形式的严峻。滑稽反手就是一个数据结构拍在了竭泽脸上。一个长度为 nnn 的序列(下标从1开始),一开始所有的元素均为 000首先做 m1m1m1 次操作,每次操作对区间 [l,r][l, r][l,r] 的所有元素都加上 vvv定义前缀积 mul[i]=∏j=1ia[j]mul[i] = \prod_{j=1}^i a[j]mul[i]=∏j
2021-05-12 19:36:00 1949
原创 第一届河北工业大学程序设计竞赛校赛(同步赛)I.面基and散步
题目链接题目描述滑稽和竭泽相约在某个公园面基,公园中间有一个巨大的圆形操场。滑稽在A点,竭泽在B点。竭泽决定用最短的距离跑到滑稽身边。然而圆形操场正在施工,竭泽不能横跨操场,只能在不经过操场里面的前提下快速找到滑稽。两人见到之后,按照特定路线散步,路线如下:规定竭泽找滑稽的最短路径为L,操场圆心为O, OA, OB连线, 绕着L->AO->操场边缘->OB走了一圈,散步的过程也不能经过操场里面竭泽很好奇,他们走过的路线围成的面积是多少呢?右图中红色的线为散步的路线图输入描
2021-05-12 16:41:21 1921
原创 2021 年东华大学金马程序设计联赛 K. AEMShana loves games!
题目链接思维+DP~对所有输入样例,我们可以构造出一个等腰三角形,对某一层的顶点,它可以到左上方(在坐标轴上左移一格),正上方(在坐标轴上不动),右上方(在坐标轴上右移一格),那么题目就转化为从顶点走到底部找一条最大路径,非常经典的 DP 问题,用 dp[i][j]dp[i][j]dp[i][j] 表示第 iii 层第 jjj 个点的最大值,a[i][j]a[i][j]a[i][j] 表示拿到该点所有球的得分,则有如下状态转移方程:dp[i][j]=max(dp[i−1][max(j−1,0)],d
2021-05-12 15:28:10 2039
原创 ZONe Energy Programming Contest C.MAD TEAM
题目链接思维+二分如果暴力选三个,复杂度为 C30003C_{3000}^3C30003,显然不可取,可以二分答案 ansansans,这样可以把每个属性值更新成 000 或 111 (判断 ansansans 和属性值大小)而言,这样五个属性值的情况最多为 25=322^5=3225=32,再从中暴力选即可,AC代码如下:#include <bits/stdc++.h>using namespace std;typedef long long ll;int n, flag
2021-05-09 16:25:59 18091 4
原创 Codeforces Round #717 (Div. 2) B. AGAGA XOOORRR
题目链接Baby Ehab is known for his love for a certain operation. He has an array a of length n, and he decided to keep doing the following operation on it:he picks 2 adjacent elements; he then removes them and places a single integer in their place: their bi
2021-04-22 19:11:55 1981
原创 Codeforces Round #717 (Div. 2) C. Baby Ehab Partitions Again
题目链接Baby Ehab was toying around with arrays. He has an array a of length n. He defines an array to be good if there’s no way to partition it into 2 subsequences such that the sum of the elements in the first is equal to the sum of the elements in the seco
2021-04-22 16:42:36 1962 2
原创 CSP 201703-3 Markdown
题目链接字符串模拟~我觉得这种模拟出得非常好,测试点给得很清楚,你就可以按测试点一个一个来,我们不难发现,区块的三种类型其实一样的,标题和无序列表其实就多了几个前缀,所以我们写一个段落处理的函数即可:题目明确说明超链接和强调会嵌套,所以我们要设两个变量,一个判断超链接里的强调,一个判断超链接外的,因为强调成对出现,只需要判断变量奇偶即可~处理超链接的时候比较麻烦,我们可以观察,超链接一定是以 ‘[’ 开始,以 ‘)’ 结尾,于是我们可以设一个 flag 进行分界,分别提取 [] 和 () 中的内容
2021-04-10 10:30:59 1931
原创 CSP 201812-3 CIDR合并
题目链接模拟+位运算~设置IP前缀结构体:ip,地址表示的十进制数a,b,c,d,地址对应的四段十进制数len,地址的前缀长度首先对输入的字符串操作,存入标准型的地址前缀,然后根据题目后面的三种操作写三个函数即可:简单排序函数若 a 包含 b 的匹配集,证明 a.len<b.len,且在 a 的高 a.len 位上和 b 的高 a.len 位一定相等比较复杂的操作,注意题目说两者前缀长度相同,此时我们需要用一个新的 IP 前缀 a’ 来替代现有的,题目讲得很清楚,将 a 的前
2021-04-09 21:51:59 1879
原创 CSP 201912-4 区块链
题目链接BFS 模拟~用一个二维数组存每个结点的主链,然后对每个结点建立结构体:currentTime——现在时刻id——邻居结点对应的链编号now——当前结点编号father——邻居结点编号把每个结点放入一个队列中进行 BFS 操作即可,每次操作判断是否更新当前结点的主链并修改邻居结点即可,具体注释见代码,AC代码如下:#include <bits/stdc++.h>using namespace std;typedef long long ll;const in
2021-04-07 20:56:41 1892
原创 LeetCode 5725 序列中不同最大公约数的数目
题目链接给你一个由正整数组成的数组 nums 。数字序列的 最大公约数 定义为序列中所有整数的共有约数中的最大整数。例如,序列 [4,6,16] 的最大公约数是 2 。数组的一个 子序列 本质是一个序列,可以通过删除数组中的某些元素(或者不删除)得到。例如,[2,5,10] 是 [1,2,1,2,4,1,5,10] 的一个子序列。计算并返回 nums 的所有 非空 子序列中 不同 最大公约数的 数目 。示例 1:输入:nums = [6,10,3]输出:5解释:上图显示了所有的非空子序
2021-04-04 17:03:02 1991
原创 LeetCode 781 森林中的兔子
题目链接森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。返回森林中兔子的最少数量。示例:输入: answers = [1, 1, 2]输出: 5解释:两只回答了 "1" 的兔子可能有相同的颜色,设为红色。之后回答了 "2" 的兔子不会是红色,否则他们的回答会相互矛盾。设回答了 "2" 的兔子为蓝色。此外,森林中还应有另外 2 只蓝色兔子的回答没有包含在数组中。因此森林中兔子的最少数量是 5: 3
2021-04-04 10:32:26 1914
原创 LeetCode 1143 最长公共子序列
题目链接给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。示例 1:输入:text1 = "abcde", text2 = "ac
2021-04-03 22:09:13 1813
原创 LeetCode 面试题 17.21. 直方图的水量
题目链接给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6单调栈~首先我们不妨思考一下,什么时候能存水,肯定要出现两高夹一低才行,此时我们把存的水看作是一个矩形,假设遍历到某一高度 iii 时,出现
2021-04-03 17:49:54 2429
原创 CSP 201312-4 有趣的数
题目链接典型的数位DP~打表易发现所有符合条件的数都是以 222 开头的,那么一共有以下几种状态:只包含数字 2只包含数字 2,0只包含数字 2,3只包含数字 2,0,3只包含数字 2,0,1包含四个数字回答几个困惑,如果开头为 2,其他数字任选,那为什么不是 23=82^3=823=8 个状态呢?举例,为什么没有只包含 2,1的状态,因为 1 的位置必须出现在 0 后面,如果单纯只有 2,1 显然无法知道答案,所以出现 1 就必须出现 0,所以只有 6 个状态。我们用 dp[i][
2021-04-01 16:32:57 1927
原创 CSP 201312-3 最大的矩形
题目链接这题和 LeetCode 84 柱状图中最大的矩形 一模一样,思路也比较简单,就是利用单调队列或者单调栈找到位置 iii 坐边第一个小于它高度的下标 lll 和右边第一个大于它高度的下标 rrr,那么此时的最大面积就是 h[i]∗(r−l−1)h[i]*(r-l-1)h[i]∗(r−l−1),维护一个最大值即可,AC代码如下:#include <bits/stdc++.h>using namespace std;int n, a[1005], l[1005], r[1005]
2021-03-31 21:20:03 1890
原创 LeetCode 74 搜索二维矩阵
题目链接编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3输出:true示例 2:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13输出:false看到有序
2021-03-30 20:21:41 1799
原创 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)E.捡贝壳
题目链接题目描述小明来到一片海滩上,他很喜欢捡贝壳,但他只喜欢质量为x的倍数的贝壳。贝壳被排列成一条直线,下标从 111 到 nnn 编号,小明打算从编号为区间 [l,r]\left [l,r \right ][l,r] 的贝壳中,捡起所有他喜欢的贝壳。你能帮他计算出他能捡多少贝壳吗。给出一个大小为 n(n≤105)n(n\le10^5)n(n≤105) 的数组,下标从 111 到 nnn 编号,a1,a2,...an(ai≤105)a_1,a_2,...a_n (a_i \le 10^5)a1
2021-03-29 22:12:27 2084
原创 AtCoder Beginner Contest 197(Sponsored by Panasonic)D.Opposite
题目链接Problem StatementOn a two-dimensional coordinate plane where the x axis points to the right and the y axis points up, we have a regularN-gon with N vertices p0,p1,p2,…,pN−1p_0,p_1,p_2,…,p_{N−1}p0,p1,p2,…,pN−1.Here, N is guaranteed to be even, a
2021-03-29 21:35:54 2006
原创 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)B.找山坡
题目链接题目描述母牛哥在电脑面前坐久了,想站起来看看窗外的小山坡,于是就想出了这个问题:给定一个大小为 n 的数组 a,序号从 1 开始,计算:max{ R - L | 1 <= L <= R <= n, a[L] == a[R], 对于所有i (L <= i <= R), 满足a[i] >= a[L] }.也就是找到两个坐标,这两个坐标的值相等,并且他们之间的值都大于等于这两个坐标上的值.这两个坐标相减最大能是多少.输入描述:第一行一个整数 n,第二行
2021-03-29 14:16:38 2022
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人