Codeforces

#提交时间提交者问题语言判题状态时间内存
270289706Jul/13/2024 16:04UTC+80x22E - Novice's MistakeC++14 (GCC 6-32)Accepted124 ms0 KB
270271674Jul/13/2024 13:39UTC+80x22D - Test of LovePython 3Accepted171 ms10200 KB
270269583Jul/13/2024 13:19UTC+80x22D - Lunar New Year and a WanderC++14 (GCC 6-32)Accepted140 ms13000 KB
270265069Jul/13/2024 12:22UTC+80x22D - Secret PasswordsC++14 (GCC 6-32)Accepted93 ms12300 KB
270161836Jul/12/2024 18:49UTC+80x22C - K-special TablesC++14 (GCC 6-32)Accepted93 ms1000 KB
270154658Jul/12/2024 17:44UTC+80x22C1 - Brain Network (easy)C++14 (GCC 6-32)Accepted62 ms0 KB
270150873Jul/12/2024 17:12UTC+80x22B - Mahmoud and Ehab and the bipartitenessC++14 (GCC 6-32)Accepted171 ms15400 KB
270141643Jul/12/2024 16:01UTC+80x22B - Plus from PictureC++14 (GCC 6-32)Accepted62 ms300 KB
270133131Jul/12/2024 15:05UTC+80x22B - Simple GameC++14 (GCC 6-32)Accepted78 ms0 KB
269952218Jul/11/2024 23:07UTC+80x22C - Gorilla and PermutationC++14 (GCC 6-32)Accepted77 ms400 KB
269927226Jul/11/2024 22:51UTC+80x22B - Angry MonkC++14 (GCC 6-32)Accepted93 ms800 KB
269898935Jul/11/2024 22:36UTC+80x22A - Only PlusesC++14 (GCC 6-32)Accepted46 ms0 KB
269851490Jul/11/2024 16:47UTC+80x22D - Array and OperationsC++14 (GCC 6-32)Accepted77 ms0 KB
269832328Jul/11/2024 14:39UTC+80x22F - Forever WinterC++14 (GCC 6-32)Accepted109 ms0 KB
269828248Jul/11/2024 14:06UTC+80x22B - Magic ForestC++14 (GCC 6-32)Accepted77 ms0 KB
269515191Jul/09/2024 13:59UTC+80x22C - Nice GarlandC++14 (GCC 6-32)Accepted93 ms0 KB

1618C Array and Operations

动态规划(dp)贪心(greedy)数学(math)*1300

题目大意:必须做完k次操作,每次选两个位置不同的元素x和y,移除这两个元素,把 x/y 加到你的分数里面,问最少可得到的分数是多少

显然要让分数最少,就要让 x/y 尽可能为0
先对数组排序,因为 2k <= n,所以在没有进行操作的情况下,基础分是前 n-2*\k 项的和
接下来 从排序后的数组的后面开始进行操作 需要固定k次操作,排序之后,只有两种情况:
1. 分子等于分母,分数+1
2. 分子小于分母,分数不变

k次操作后即是最优解

862B Mahmoud and Ehab and the bipartiteness

DFS及其变种(dfs and similar)图论(graphs)树形结构(trees)*1300

题目大意:给你一棵树,问给这棵树最多可以加多少边,这棵树仍然是一个二分图

二分图:图中的节点可以分为两个点集u1, u2,对于所有在u1的顶点对其他u1的点都没有边,对于所有在u2的顶点对其他u2的点都没有边

我们使用DFS进行染色法,染成true的在u1,false在u2,开一个col数组记录顶点颜色,a,b分别记录不同颜色节点的数量

循环所有顶点的边,每个顶点它可以添加的最大边数是:它不同颜色集合中的节点数 - 它连接的顶点数


Leetcode

最近提交时间题目题目难度提交次数
3 天前#2970 统计移除递增子数组的数目 I简单1 次
4 天前#343 整数拆分中等2 次
4 天前#63 不同路径 II中等6 次
4 天前#62 不同路径中等1 次
4 天前#1143 最长公共子序列中等3 次
4 天前#300 最长递增子序列中等3 次
5 天前#3102 最小化曼哈顿距离困难4 次
5 天前#1701 平均等待时间中等15 次
6 天前#238 除自身以外数组的乘积中等9 次
6 天前#724 寻找数组的中心下标简单2 次
6 天前#面试题 02.04 分割链表中等7 次
6 天前#LCR 036 逆波兰表达式求值中等8 次
7 天前#2915 和为目标值的最长子序列的长度中等6 次
7 天前#198 打家劫舍中等4 次
7 天前#70 爬楼梯简单3 次

最小化曼哈顿距离

给你一个下标从 0 开始的数组 points ,它表示二维平面上一些点的整数坐标,其中 points[i] = [xi, yi] 。
两点之间的距离定义为它们的 曼哈顿距离
请你恰好移除一个点,返回移除后任意两点之间的 最大 距离可能的 最小 值

最小的曼哈顿距离是 max({xi - xj + yi - yj, xi - xj - yi + yj, - xi + xj + yi - yj, - xi + xj - yi + yj})

我们把所有点的坐标换成 [xi - yi, xi + yi],经过公式推导,对于所有i,我们得到最小曼哈顿距离:

max(max(xi) - min(xi), max(yi) - min(yi))

那么我们就把问题简化成了模拟。由于点的坐标可能有重复,所以创建两个multiset,分别维护x和y的最值,遍历所有的点,每次删点取最值代入公式即可得到答案。


Pintia

列车调度 - https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7?problemSetProblemId=994805063166312448&page=1


牛客

最优屏障 - https://ac.nowcoder.com/acm/problem/14666?time=1720594276239
单调栈

长跑 - https://ac.nowcoder.com/acm/problem/14706
数学