- 博客(576)
- 收藏
- 关注

原创 力扣3102.最小化曼哈顿距离
题目要求返回移除一个点后的最大最小值的题一般直接想到二分本题有一个简单办法就是利用当正方形转45°,即边上点**( x , y ) -> (x + y , y - x)将一个加法式子转化成了取最大值的式子**因此找k个点的最小曼哈顿距离就是找k个点中。
2025-02-24 22:42:27
226

原创 算法提高之方格取数
考虑同时走两条路 用f[i1][j1][i2][j2]表示两条路取值。因为两条路步数一定相同 即i1+j1 == i2+j2 设为k。核心思想:数字三角形模型。
2024-05-02 14:20:07
243
原创 Codeforces Round 1026 (Div. 2) C. Racing
Codeforces Round 1026 (Div. 2) C. Racing
2025-06-02 23:21:55
373
原创 Codeforces Round 1028 (Div. 2) C. Gellyfish and Flaming Peony
Codeforces Round 1028 (Div. 2) C. Gellyfish and Flaming Peony
2025-06-01 23:00:37
646
原创 Codeforces Round 1028 (Div. 2) B. Gellyfish and Baby‘s Breath
Codeforces Round 1028 (Div. 2) B. Gellyfish and Baby's Breath
2025-06-01 22:50:25
558
原创 第十四届蓝桥杯省B.砍树
考虑一对无序数对的点 x和 y,如果我们,那么这条边,我们。这个操作我们可以。对于 m个无序数对我们都如此操作,最后如果则说明它符合条件,我们选出符合条件编号最大的那条边就是答案,如果没有权值为 m的边则说明无解。
2025-04-24 17:39:21
583
原创 蓝桥杯2024省A.成绩统计
题目要求返回至少要检查多少个人的成绩,才有可能选出k名同学,他们的方差小于一个给定的值 T二分枚举答案位置,将答案位置以前的数组单独取出并排序,问题在于如何O(1)计算方差?将方差公式拆开,发现得到,得到,因此。
2025-04-21 13:12:25
417
原创 洛谷P11998.哇,这就是 5p
题目要求求出总得分为m的倍数的概率因为m可能会很大,考虑对分数%m,最终为0的就是m的倍数考虑dp求所有情况,状态更新为答案为f[n][0]
2025-04-05 13:56:58
204
原创 洛谷P11999.投入严厉地本地
题目要求根据两个字符串s和t,反推出一个映射集合f,其中s的算出最终映射集合有多少个空字符,用全排列函数去搜索所有情况,判断是否正确。
2025-04-05 13:48:14
187
原创 十三届蓝桥杯C++国赛D题
题目要求对一个最多17位的整数N,进行两种操作:+–1,输出能获得的最大数字因为,因此还是考虑暴力dfs(最多只有17位数)贪心的判断如果+1操作,-1操作。
2025-04-02 10:21:51
224
原创 蓝桥杯C++b组国赛G题:数星星
一个结点的度数在有向图中再分入度和出度本题含义为在一个子图中,必须是也就是说在一个子图中,某个结点连接着所有其他结点,即它是**“中心结点”“叶子结点”**因此可以统计所有节点的度数deg[i],用组合数计算答案,例如在deg[i]中选j-1个点组成答案j的星星数量。
2025-03-31 11:09:42
362
原创 C++项目——内存池_版本1
其中first_free指向容器中第一个空闲的块,如果没有空闲的块就调用函数重新分配空间alloc是类的一个对象,construct方法可以在一个指定区域构建对象,构造完之后让first_free指向下一个空闲的块其中前两行分别用于,后两行则用于在Alloctor类的construct方法底层实现就是一句(定位new)语法也就是上一个代码块第3行告诉编译器“在给定地址first_free上构造对象”只负责在指定内存上构造对象,内存分配已经由其他逻辑(比如 Allocator 内部)完成了其中类的。
2025-03-21 21:00:39
881
原创 力扣3489. 零数组变换 IV
题目要求返回操作成零数组的最少次数,每次操作选择一个区间,可以在区间里任意选择元素减去val将每个数的val存成vals,则。
2025-03-18 20:29:22
417
2
原创 ZJYYC2576. Little W and Contest
题目要求返回每次介绍后的可组队数量,每次会介绍两人认识,同队中不能有相互认识的人,认识有传递性并且每个队伍的权值需要>=5比较自然的想到xy连接之前与之后的差别**(其中一个)**就是x中的2和y中的2和其余并查集中的2无法再组队了(222),同理还有221,212,122用p1数组维护每个集合的1,p2维护每个集合的2,cnt1,2维护全部1,2的数量即可。
2025-03-18 11:23:22
319
原创 力扣1463. 摘樱桃 II
题目要求返回从左上角和右上角分别出发两个机器人摘樱桃的最大数量、每个机器人可以往左下,正下,右下三个方向走定义表示一个机器人从(i,j)出发,一个机器人从(i,k)出发的最多摘樱桃数量j=−1, k=−1答案为f[0][1][m]
2025-03-08 17:41:14
421
原创 力扣3472. 至多 K 次操作后的最长回文子序列
题目要求在下返回s的最长回文子序列的长度就是在最长回文子序列模板下多了一个k次操作开三维s[i...j]
2025-03-07 18:06:34
371
原创 力扣132. 分割回文串 II
题目要求返回将s切割成若干回文串的最少切割次数对于子串s[j...i],若为回文串,则问题变为求s[0...j]的最少切割次数因此可以考虑动态规划对于问题s[j...i]是否为回文串,若则问题变成是否为回文串因此也可以考虑动态规划。
2025-03-06 19:04:23
203
原创 力扣1626. 无矛盾的最佳球队
题目要求返回无矛盾球队的最高得分因为原始下标没有用,因此可以根据score排序,score相同再根据age排序对于j<i,一定有其中对于一定有也需要取因此就是在age中取一个递增子序列,得分最大定义f[i]为age[i]结尾的最大得分。
2025-03-06 10:08:49
112
原创 力扣3316. 从原字符串里进行删除操作的最多次数
题目要求返回最多能进行多少次删除操作,考虑选source[n-1],则问题变成在source[0…n-2]中进行操作,使pattern[0…m-2]是其子序列不选source[n-1],则问题变成在source[0…n-2]中进行操作,使pattern[0…m-1]是其子序列因此可以考虑动态规划定义f[n][m]为source前n个,pattern前m个字母最大可删除次数,其中为i是否在target中存在。
2025-03-06 09:36:33
185
原创 力扣1594. 矩阵的最大非负积
题目要求返回从左上到右下的最大非负积,本题和简单图dp的区别就是出现了负数若则和简单图dp一致,若则分两种情况,由于不知道该留大的还是小的,于是开两个dp数组把大小两个都存下来即。
2025-03-04 09:51:41
265
原创 力扣力扣1042. 不邻接植花
题目要求在花园中种四种花,但每一对相邻的花园不能种同一种,返回一种可行方案枚举每个点,取一种与邻居都不同的颜色即可。
2025-03-03 10:07:26
162
原创 力扣785. 判断二分图
题目要求将所有节点分成两部分,每条边的两个端点都必须在不同集合中因为图不一定联通,所以枚举所有点都做bfs(如果没联通的话)
2025-03-02 22:55:12
228
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人