2024年10月30日
摘要:
难点在于要把模型抽象出来。 第一眼看到题面,想到的是以公告板的高度作为线段树的区间,但看到h<=10^9以后,感觉又开不了这么大的数组。但实际上,最多只有n块公告,所以最极端的情况下不过只有n行,所以区间的真正大小是[1,min(n,h)]。 解决了区间的问题,再来考虑每个节点要维护的信息。我们希望
阅读全文
posted @ 2024-10-30 20:48
Coder何
阅读(10)
推荐(0)
2024年10月29日
摘要:
样例输入 5 6 1 2 3 4 5 Q 1 5 U 3 6 Q 3 4 Q 4 5 U 2 9 Q 1 5 样例输出 5 6 5 9 这题我们需要维护的信息,从区间的和变成了区间内的最大值。现在区间的内的某个值可能增大可能减小,若从上到下(从根到叶)进行节点更新,我们无法直接判断目前区间内的最大的
阅读全文
posted @ 2024-10-29 21:13
Coder何
阅读(19)
推荐(0)
2024年10月15日
摘要:
样例输入 10 1 2 3 4 5 6 7 8 9 10 Query 1 3 Add 3 6 Query 2 7 Sub 10 2 Add 6 3 Query 3 10 End 样例输出 6 33 59 采用标准模板即可。注意线段树的节点个数一般为其范围的4倍。 1 #include<bits/st
阅读全文
posted @ 2024-10-15 20:13
Coder何
阅读(25)
推荐(0)
2024年9月27日
摘要:
复习一下埃氏筛,快速拿出n以内质数。该题要是一个一个去计算“偶数”会超时非常多。 题意中”奇数“的本质是质数及质数的n次幂,所以先求出n以内所有质数及其n次幂的个数,就能计算出“偶数”的个数。 1 #include<bits/stdc++.h> 2 using namespace std; 3 ve
阅读全文
posted @ 2024-09-27 22:18
Coder何
阅读(46)
推荐(0)
2024年9月6日
摘要:
示例1 3 1 1 2 输出 2 说明 瞬移到1处排 [1, 1]的2个雷 瞬移到2处排 [2, 2]的1个雷 示例2 4 1 2 4 5 输出 3 首先尝试了暴力解法,结果当然超时了。 1 #include<bits/stdc++.h> 2 using namespace std; 3 bool
阅读全文
posted @ 2024-09-06 23:23
Coder何
阅读(91)
推荐(0)
2024年8月25日
摘要:
示例1 输入 2 -1 2 0 0 0 1 1 0 1 1 输出 1 1 2 N 3 4 Y 说明 连接第一个点和第二个点,和直线没有交点。连接第三个点和第四个点,和直线有交点。 贪心策略: 把点集分为三部分,直线上方m1、直线下方m2以及在直线上m3,我们可以发现: m1中的点和m2中的任意点相连
阅读全文
posted @ 2024-08-25 21:38
Coder何
阅读(67)
推荐(0)
2024年8月24日
摘要:
题目描述 给定一个 n×m\mathrm{n \times m}n×m 的迷宫,迷宫由 "#" 与"." 两种字符组成。其中 "#" 代表障碍物,"." 表示空地。迷宫中还有一个起点 "S" 和一个终点 "E" ,它们都可以视为空地。 由于近期迷宫发生了塌方,导致起点和终点之间可能并不连通。幸运的是
阅读全文
posted @ 2024-08-24 18:33
Coder何
阅读(99)
推荐(0)
2023年12月12日
摘要:
给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1 ,且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads ,其中 roads[i] = [ai, bi] ,表示城市 ai 和 bi 之间有一条 双向路 。 每个城市里有一个代表,
阅读全文
posted @ 2023-12-12 21:47
Coder何
阅读(15)
推荐(0)
2023年12月6日
摘要:
给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。 提醒一下, 二叉搜索树 满足下列约束条件: 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。 示例 1: 输入:[4,1
阅读全文
posted @ 2023-12-06 11:06
Coder何
阅读(26)
推荐(0)
2023年11月27日
摘要:
给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 10^9 + 7 。 示例 1: 输入:arr = [3,1,2,4] 输出:17 解释: 子数组为 [3],[1],[2],[4],[3,1],[1,2],
阅读全文
posted @ 2023-11-27 20:27
Coder何
阅读(20)
推荐(0)