首页 > TAG信息列表 > 一个点

在基环树上 判断一个点到另外一个点的路径是不是大于2

树:n点 n-1边 基环树:n点 n以上边 #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 5, M = N*2; int n, q; int h[N], e[M], ne[M], idx; int fa[N], d[N]; void add (int a, int b) { e[idx] = b, ne[idx] = h[a], h[a] = idx ++; } void topsort ()

1027 求最大值 线段树维护区间内斜率的最大值

 链接:https://ac.nowcoder.com/acm/contest/26896/1027来源:牛客网 题目描述 给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)【1<=i<j<=n】的最大值。 操作次数有Q次,每次操作需要将位子p处的数字变成y. 输入描述: 本题包含多组输入

Atcoder Beginner Contest 257 problem D 题解

题目链接:点我 题目大意 有N张蹦床,每张蹦床i在\((x_i,y_i)\)的位置有一个属性值\(p_i\);一个人本身有一个属性值\(S\)。定义两蹦床之间的距离为: \[dis_{i,j}=|x_i-x_j|+|y_i-y_j| \]一个人在\(i\)蹦床能够跳到\(j\)蹦床,当且仅当满足: \[p_i*S\geq dis_{i,j} \]求一个最小的\(S\)

跨时钟域信号同步规则

跨时钟域信号必须来自源时钟域的寄存器输出,因为在跨时钟域时可能会采到毛刺 使用逻辑单元库中的专用触发器实现两级同步器 专用触发器与普通触发器不同,它们具有高驱动能力和高增益,这会使他们比常规的触发器更快的进入稳定状态。 在一个点而不是多个点上进行跨时钟域处理 多

25.C大调音阶

为了标记更高或更低的音,则在基本符号的上面或下面加上小圆点。在简谱中,不带点的基本符号叫做中音;在基本符号上面加上一个点叫高音;加两个点叫倍高音;加三个点叫超高音;在基本符号下面加一个点叫低音;加两个点叫倍低音;加三个点叫超低音。 标准音:小字一组的a 440赫兹中央C: 小字一组的c

有关拓扑序

written on 2022-06-20 昨天月赛的一道题目,写点感触。 题意:对于一棵给定的有根树,每一个点只有其父亲被选取后它才可以被选取,其 被选取权值 为当前值与其权值的较小值,求最大的总权值。 直观的思路是每选取一个点,就将它的所有儿子的权值塞入堆,这样的时间复杂度为 \(O(n\log n)\)。考

CF859E 题解

分析 我们不妨把这些座位看作是一张图中的节点,把每个人的诉求作为一条边(由【原座位】指向【想去的座位】) 比如,对于样例#1,我们就可以得到这样一张图: 显然,我们有可能会得到多个连通图(比如上面这张) 因为每个座位上的人都只有一个想去的座位,所以每个点的出度就是 \(0\)(可能只有其他的

树的重心和直径

一.树的重心 定义:一个顶点,子树最大siz最小的 性质: (1)**多个点到一个点的距离和最小,这个点是重心 比如医院入住,先求出每个点到1的花费,f[1],推f[son1]时,考虑 每个son1上的点少走了siz[son1]步,其他的多走了totsize-siz[son1]步 f[son1]=f[1]+f[1]-f[son1]-f[son1] (2)**重心<=2,而且一定

判断一个点是否在矩形内部【Golang实现】

【题目】 在二维坐标系中,所有的值都是double类型,那么一个矩形可以由4个点来代表,(x 1,y 1)为最左的点、(x 2,y 2)为最上的点、(x 3,y 3)为最下的点、(x 4,y 4)为最右的点。给定4个点代表的矩形,再给定一个点(x ,y ),判断(x ,y )是否在矩形中。 解决方案 package main import ( "fmt" "ma

反悔贪心小记

反悔贪心:在确保能反悔以贴合全局最优解的前提下,选择局部最优解 (理论上来说,这种算法要建出费用流模型才能保证正确性,但是。。) 不好说,上例题: P7219 [JOISC2020] 星座 3 首先发现每个 \(y\) 坐标小的点会对其上方的一个矩形形成限制,就是不能同时存在点。我们对每个点记录它被限制的代

1039 [NOIP2000]方格取数 数字三角形

分析 这题我和上题用了一样的方法,让它们不走到一个点,可能是因为有些数可能是负的,走到一个点反而权值更大? 反正l改成1开始就对了。然后这题要判断两个人是不是走到一个点,如果走到一个点,就要判掉。 //-------------------------代码---------------------------- #define int LLcons

圆方树

前言 不知道会不会考(好像在 NOI 大纲没有看到?),但是很有意思的一个结构 广义圆方树可以解决一切问题,所以不需要圆方树 其实很久前写过一次总结,然而当时的所有稿子都被清了,现在因为某种原因再写一次,大概直接从题目入手吧 构造 && 性质 对于每一个点双新建一个方点表示这个

探求线段或棱上是否存在一个点

前言 当在线段上选定了一个动点后,利用线段的比例或利用向量共线,就可以将形的问题转化为数的问题了。比如探究线段 \(PB\) 上是否存在一个点 \(S\),那么我们就假设存在满足条件的点 \(S\),可设 \(\overrightarrow{PS}=\lambda\overrightarrow{PB}(0\leqslant\lambda\leqslant 1)\),则

CF662B Graph Coloring题解--zhengjun

题目传送门 题目大意 给你一张无向图,图中每条边是蓝色或者红色的,让你每次选一个点,就会把与这个点相连的边的颜色反转(红变蓝,蓝变红),求最少步数的方案使得最后所有边的颜色都一样。 思路 好像没有 \(2-sat\) 的题解,那我就来一发。 首先分类讨论:要么都变成红色,要么都变成蓝色。 如果

tarjan强连通--zhengjun

强连通就是在一个有向图中任何一个点都可以到达除这个点之外的所有点。 然后,在处理的时候,就可以把这一个子图直接变成一个点。 比如说这张图 就可以缩成这张图 原图中的 就是一个强连通 也就是说只要有环,就一定有一个强连通(其实自己一个也算一个强连通) 然后,就是找环的环节~~~

#24 CF1438F

Olha and Igor 题目描述 点此看题 解法 自己想了一个 \(O(n^2)\) 的做法,好像也要基于 \(\tt lca\) 的出现频率这东西(多少沾点边了) 考虑询问 \((u,v,w)\) 的另一种意义:在树上找到点 \(x\),使得 \(d(u,x)+d(v,x)+d(w,x)\) 最小。 发现如果我们随机三个不同的点问一次 \((u,v,w)\),考虑

Rikka with Game 题解

一个人会被杀,当且仅当“它在补图的所有最大匹配中”。 证明: 一个点如果在补图的所有最大匹配中,删掉这个点一定存在一个点一些邻居不在所有最大匹配中,这些邻居一定会投票。 如果一个点不在所有最大匹配中: 删掉这个点最大匹配数不变。可以证明删掉这个点后,所有邻居都会在所有最大匹

连接奶牛

连接奶牛 每天农夫约翰都会去巡视农场,检查他的 $N$ 头奶牛的健康状况。 每头奶牛的位置由二维平面中的一个点描述,而约翰从原点 $\left( {0,0} \right)$ 出发。 所有奶牛的位置互不相同,且都不在原点。 为了使自己的路线更有趣,农夫约翰决定只沿平行于坐标轴的方向行走,即只能向北,向南

一些简单的分治

分治 P6932 [ICPC2017 WF]Money for Nothing gym 101471d P4183 [USACO18JAN]Cow at Large P 题目大意 给定 \(n\) 个点一棵树,奶牛 \(Bessie\) 在树上的一个点上,初始时每个叶子结点可以放一个 \(FJ\) 也可以不放,每一时刻, \(Bessie\) 和 \(FJ\) 可以同时向相邻的一个点走去,任意时刻

椭圆曲线加密算法——求某一个点的所有倍数点(c/c++实现)

求解某点的数乘点 最近被密码学折磨的不轻,手算椭圆曲线上的点经常算错,简直生草。 因次就有了以下下代码~~ #include <iostream> #include <cassert> #include <map> #include <cmath> using namespace std; int inverse(int x, int mod){ // 计算x模mod的逆 要求模数为素数

Dist

有一棵 n 个点的 k 叉树,点的编号为 \(1…n\),它的结构描述如下: 1 号点为根节点,如果一个点到 1 号点经过的最少边数为 i 则称它在第 i 层里。 第 i 层的第 j 个点的父亲是 第 i−1 层的第$ ⌊(j−1)/k⌋+1$ 个点。 第 i 层的第 j 个点的编号为 \(∑^{i−1}_{p=0}k^p+j\) 。 从 3 可

Not TSP

小 F 是贫困大学的毕业生,毕业以后找不到工作去酸了么公司送外卖。 他所在的城镇有 \(n\) 个地区,第 i 个地区和第 \(j\) 个地区之间的距离是 \(d(i,j)\) (即从 \(i\) 到 \(j\) 和从 \(j\)到 \(i\) 都需要 \(d(i,j)\) 的时间),他每天的工作是要把这些地区都访问一次且恰好一次(去了以后

CF1294F Three Paths on a Tree 题解

这是一道思维题。 本文约定:\(u \to v\) 表示从 \(u\) 到 \(v\) 的路径。 首先简化一下题意:给出一棵树,求出三个点使得三个点之间两两路径并的长度最大。 显然我们不能枚举这三个点,复杂度 \(O(n^3)\) 过大,不能接受。 做这道题需要一个重要结论:树的直径的两个端点一定是要被选中的。

20220330 刷题日记

CF1582E dp 简单预处理即可。我们设 \(f_{i,j}\) 表示从 \(i\) 到 \(n\) 是否可行,可行的话最前面的区间最大值是多少,第二维只有 \(\sqrt{n}\),所以复杂度是对的。 P7146 首先关注边很少,而且数据随机,这提示我们这道题可以乱搞,经过随机可以知道环的个数不会很多,我们把所有的环找出来,

CF613D 题解

\(\texttt{Solution}\) 我们考虑 \(\mathcal O(nq)\)怎么做 我们可以发现如果一个点是关键节点,那么这个点下面的关键节点是一定要删去的,如果这个点不是关键节点,那么如果他下面有两个以上的关键节点,把他传到上面去再把这个点删掉只会更劣不会更优,而如果只有一个关键节点,传到上面去