首页 > TAG信息列表 > 端点

ABC 267 F Exactly K Steps(树的直径,LCA倍增)

F Exactly K Steps 题目: ​ 给出一棵n个点的树,边权为1,进行2e5次询问,每次输出任意一个离结点\(u\)距离为\(k\)的结点。 思路: ​ 对于树上问题,我们的武器不多,而且时间复杂度为O(logn),可以尝试往里套知识点。对于一棵树来说,易知一个结点距离最远的结点是树的直径的两个端点中的一个。

2984. 线段

题意 在二维平面内有 n 条线段,请你编写一个程序,判断是否存在一条直线满足将这 n 条线段投影到该直线上后,所有的投影线段至少具有一个公共点。 思路 转化题意 我们发现如果可以找到一个直线与所有的线段都相交; 那么所有的线段的投影一定都交于这个直线与其垂线的垂足处。 那么问题

区间交集

题目链接:区间交集 分析: 贪心 先将每个区间按左端点从小到大排序,同时用小根堆来维护区间右端点 对于若干区间的交集的长度为这些区间的右端点的最小值 - 这些区间的左端点的最大值 代码实现 #include <bits/extc++.h> #define rep(i, n) for (int i = 0; i < (n); ++i) using nam

个人赛题解

A. Rectangular Queries 题意 给定一个最多包含 \(10\) 个不同数字的 \(n\times n\) 矩阵,依次回答 \(q\) 个询问,每个询问给定了一个子矩阵,问该子矩阵有多少不同数字。 题解 注意只有十个数字,预处理二维前缀和数组\(cnt[k][i][j]\)表示子矩阵 \((1,1) \to (i,j)\)中数字\(k\)的个数

[Oracle] LeetCode 1326 Minimum Number of Taps to Open to Water a Garden

There is a one-dimensional garden on the x-axis. The garden starts at the point 0 and ends at the point n. (i.e The length of the garden is n). There are n + 1 taps located at points [0, 1, ..., n] in the garden. Given an integer n and an integer array ra

挑战!每天一道 DP 题!

2022.8.21 P2016 战略游戏 简单树形 \(DP\) P3147 [USACO16OPEN]262144 P 很奇怪的 \(DP\),令 \(f[i][j]\) 表示左端点为 \(j\),合并出 \(i\) 所到达的右端点的下一个点的位置,所以初始化时 \(f[x][i] = i + 1\) 状态转移方程:\(f[i][j] = f[i-1][f[i-1][j]]\) 感觉好玄学啊

[Oracle] LeetCode 253 Meeting Rooms II

Given an array of meeting time intervals intervals where intervals[i] = [starti, endi], return the minimum number of conference rooms required. Solution 先按照左端点排序的话,如果一个区间的右端点比下一个区间的左端点大,那么显然得额外新增一个房间。 注意到 \(map\)

CF1625E1 Cats on the Upgrade (easy version)

刚刚学完 whk 时无聊看了下提交记录,发现这道富有启发意义的题目。 首先,注意到这实际上就是个序列的 《括号树》,拿来做就行,\(f_i\) 为以 \(i\) 结尾的合法括号串数量,\(f_i=f_{L_i-1}+1\),然后再做一遍前缀和,相减求出以区间 \([x,y]\) 为结尾的数量,但是我们发现会算重,具体的,算重了 \(

[CF1450F] The Struggling Contestant 题解

\(\mathtt{Link}\) CF1450F The Struggling Contestant - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) \(\mathtt{Description}\) \(T\) 组数据。 一共有 \(n\) 道题,题号从 \(1\) 到 \(n\),其中题号为 \(i\) 的题有一个标签 \(a_i\)。 需要确定一个做完 \(n\) 道题的顺序,使得所做

区间合并 左端点1右端点-1的等待cnt=0的情况

牛客第一题https://ac.nowcoder.com/acm/contest/33186/A signed main(){ // ios::sync_with_stdio(false); // cin.tie(0),cout.tie(0); int n; cin>>n; for(int i=0;i<n;i++){ int a,b;cin>>a>>b; v.push_back({a-b,1}); v.push_back({a+b,-1});

NC227595 跳跳跳

题目链接 题目 题目描述 dd在玩跳格子游戏,具体游戏规则如下, \(n\) 个格子呈环形分布,顺时针方向分别标号为 \(1\sim n\) ,其中 \(1\) 和 \(n\) 相邻,每个格子上都有一个正整数 \(a[i]\) ,玩家可以选择一个点作为起点开始跳 \(n\) 下,第 \(i\) 次跳跃,玩家只可以选择当前位置左边或右边最

NC15447 wyh的问题

题目链接 题目 题目描述 我国现在能源消耗非常严重,现在政府有这样一个工作,每天早上都需要把一些路灯关掉,但是他们想让在关闭的过程中所消耗的能源是最少的,负责路灯关闭的工作人员以1m/s的速度进行行走,假设关闭路灯的时候不需要花费任何的时间,请你编写一个程序,计算在给定路灯位置和

洛谷 P6789 - 寒妖王(子集卷积+矩阵树定理)

洛谷题面传送门 像极了我验的那道牛客多校(第六场 C Forest)…… 考虑对于每条边,计算其在最大生成基环森林中的概率,乘以边权求和就是答案。现在问题在于如何计算每条边在最大生成基环森林中的概率,显然比它权值小(如果权值相同则比较编号)的那些边存不存在不影响这条边是否在最大生成基

骗我呢

题意: 求有多少个 \(n × m\) 的矩阵满足 \(0\) \(≤\) \(a_i,_j\) \(≤\) \(m\) \(a_{i,j}\) \(<\) \(a_{i,j + 1}\) \(a_{i,j}\) \(<\) \(a_{i-1, j + 1}\) 首先观察到 \(a_{i,j}\) 的取值范围以及矩阵的列,得出矩阵的每一行必然有一个在 \(0\) ~ \(m\) 之间的数是不存在的。 通

Spring Boot 2.5 重磅发布,黑暗模式太炸了!

前言 距离上次的 Spring Boot 2.4.5 版本发布刚好一个月左右,Spring Boot 又发新版本了!   Spring Boot 又一次性发布了 3 个版本: Spring Boot 2.5.0 Spring Boot 2.4.6 Spring Boot 2.2.13.RELEASE 在这次发布的 3 个版本中,Spring Boot 2.5 毫无疑问是最重大的一个版本,也是近

[ds 记录]abc263ex Intersection2

题意:给定 \(n\) 条线,求两两交点与原点距离的第 \(k\) 远值。 直接做很难,转为二分答案。现在,需要解决:给定 \(n\) 条直线,这些线在圆心原点半径为 \(k\) 的圆中有几个交点。 将直线转化为圆的弦,再将弦的端点用圆心角表示以加以离散化,问题变成了:给定若干个区间 \([l_i, r_i]\),有几对区

P2390 地标访问

https://www.luogu.com.cn/problem/P2390搜索,贪心,二分黄色题   思路: 其实我觉得吧,这题不用像大家说的,枚举左点,二分右点 题目问的是最多可以访问多少地标。稍稍分析可知,多访问一个路标,时间必定不会减少,显然这具有单调性质。于是很自然的可以想到去二分路标的个数呀QwQQwQ 先将

【考试总结】2022-08-04

大家 令一个没有被点亮的点为根,设 \(f_{x,0/1/2,0/1}\) 表示 \(x\) 为根的子树里面有路径的 \(0/1/2\) 个端点,此时得到的不完成的序列使得 \(x\) 的开灭状态为 \(0/1\) 的最小序列长度 值得指出的是,$f_{x,2,*} 的常规理解是 \(x\) 子树中的序列在最终序列中分成两截,\(x\) 在第一截

雑用 4

莫队的重学。 普通莫队的排序有很多讲究,以后只写回滚莫队好了,至少复杂度是稳定的。这是莫队的排序关键字:\((\textit{bel}_{ \text{left endpoint }}, \text{ right endpoint})\)。 回滚莫队和莫队还是有点区别的,具体而言就是对序列分块,块内询问暴力,跨块询问就根据左端点所在的块分

连续段计数问题小记

给定一个长度为 \(n\) 的一个排列,如果区间 \([l,r]\) 之间的数是连续的,那么我们称这个区间时一个连续段。 比如 \([1,3,2,5,4]\) 中的连续段有:\([1,1],[1,3],[1,5],[2,2],[2,3],[2,5],[3,3],[4,4],[4,5],[5,5]\)。 这些连续段有一个共同的特点:区间长度等于值域大小,即 \(\max-\min+

@7 UOJ351

新年的叶子 题目描述 点此看题 解法 首先有一个经典结论:树的直径有且仅有一个绝对中心(可以是某个点,可以是某条边的中点),证明可以考虑反证法,如果存在多个中心那么一定可以生成更长的直径。 可以先确定这个绝对中心,考虑如果绝对中心是边的中点,那么会把可能的直径端点划分成两个集合;如

P3582 [POI2015] KIN & ZLOJ 练习58 B

written on 2022-08-03 套路题,是找最优区间的问题。 对于这类问题,一般的方法是使用数据结构维护相关信息,然后枚举左/右端点,找到最优的另一端点。 难道不是极其套路的吗。。为什么连这都没做上来。。 那么具体到此题,由于同一种电影如果观看多于一次,其贡献就会为 \(0\),所以在枚举端

题解 CF1684F Diverse Segments

vp 的时候写了一个比较愚蠢的做法过了。 首先选择一个区间修改等价于删掉这个区间。那么考虑它给定的 \(m\) 个区间会有什么影响。假设给定的某个区间是 \([l,r]\),那么假设颜色 \(col\) 在这个区间出现 \(k\) 次,下标是 \(c_1,c_2,...,c_k\)。那么: \(0\le k\le 1\):没用。 \(k\ge 2

8.1

ABC262E 题意: 给定\(n\)个点\(m\)条边,选\(k\)个点染红,其他点染蓝,问有多少种方法,让偶数条边两端颜色不同?对\(998244353\)取模 \(1\leq n,m\leq 2*10^5,0\leq k\leq n\) 题解: 假设有\(a\)染红色点的度数和,\(b\)条边两端都是红色的,\(c\)为两端颜色不同的边数 \[a=2*b+c \]如果\(c\)是

LeetCode 713 Subarray Product Less Than K 滑动窗口

Given an array of integers nums and an integer k, return the number of contiguous subarrays where the product of all the elements in the subarray is strictly less than k. Solution 滑动窗口的思想。不断增大右端点 \(r\), 当乘积 \(pd\ge k\) 的时候,缩小左端点 \(l\),