思路 两次bfs找出树的直径并处理出端点离树上各叶子节点的距离,在直径上找一点使得dis(p1,p2) + dis(p2,p3) + dis(p1,p3)最大 易知上式是路径实长的两倍 1 #include <bits/stdc++.h> 2 #define dbg(x) cout << #x << ...
分类:
其他好文 时间:
2020-02-20 10:07:36
阅读次数:
52
计算几何里常用的套路:两两枚举点卡住,然后看是不是满足条件 poj上的题依然有很多坑,答案可能是负数,因为这个wa了好久 /* 枚举上端点i,下端点j,作为光线,那么max(i,j)以前的所有管道线段都不可以与该线相交 同时求出max(i,j)以后的最近的交点在哪里(或没有) */ #include ...
分类:
其他好文 时间:
2020-02-19 01:07:55
阅读次数:
77
维护一区间 $[l,r]$ 人按照时间升序 考虑 $(l_i, h_i, t_i)$,当前的所有区间与这个区间取交 推到 $t_{i+1}$ 时,所有区间的端点向两边扩张即可 注意把空掉的区间删掉 ...
分类:
其他好文 时间:
2020-02-17 15:48:29
阅读次数:
64
动态规划+数据结构优化 每次操作区间的右端点一定为n,因为要尽量的让后面的数更大 记 f[i][k] 为以第i个玉米为结尾一共操作了k次的最长不下降序列的长度 因为每次操作右端点为n,左端点小于等于i 所以此时i的高度为 h[i] + k 则 f[i][k] = max(f[j][l]) + 1 / ...
分类:
其他好文 时间:
2020-02-16 20:30:27
阅读次数:
56
单调栈 可以发现子序列的平均数不小于k就可以使子序列的每个数都不小于k 将每个数减去k,则子序列之和非负即可 记 si = a1 + a2 +....+ ai - k*i 考虑序列的两个端点 l, r 对于 l: l1 < l2 && sl1 <= sl2, 则l1 比 l2 优 对于 r: r1 ...
分类:
其他好文 时间:
2020-02-15 11:39:28
阅读次数:
53
2 数值计算理论基础 2.1 距离与极限 2.1.1 距离 距离是最为常见的概念之一,几何中线段的长度是其两个端点的距离,一个实数和近似值的绝对误差也是距离。如果抛开几何直观,可以把距离这个概念推广到任意一个集合中的两个元素。若把集合中的一个元素看成空间中的一个点,则距离表示的就是这两个点之间远近程 ...
分类:
其他好文 时间:
2020-02-14 22:40:41
阅读次数:
88
给定一个带权无向图,如果是连通图,则至少存在一棵最小生成树,有时最小生成树并不唯一。本题就要求你计算最小生成树的总权重,并且判断其是否唯一。 输入格式: 首先第一行给出两个整数:无向图中顶点数 N(≤)和边数 M。随后 M 行,每行给出一条边的两个端点和权重,格式为“顶点1 顶点2 权重”,其中顶点 ...
分类:
其他好文 时间:
2020-02-13 21:13:03
阅读次数:
161
USB多点触控上报协议详解USB HID-compliant mouse报点协议解析 本篇文章主要是对usb 多点触控给Windows上报点位时上报的数据解析。至于usb怎样枚举出一个多点触控在这不做解释,网上有很多教程。1、当你的usb hid设备枚举正常后,你可以使用bus hound看到你的u ...
分类:
其他好文 时间:
2020-02-13 17:36:52
阅读次数:
130
「JSOI2015」最小表示 "传送门" 很显然的一个结论:一条边 $u \to v$ 能够被删去,当且仅当至少存在一条其它的路径从 $u$ 通向 $v$ 。 所以我们就建出正反两张图,对每个点开两个 维护它与其他点的连通性,这个可以通过拓扑排序预处理。 然后就枚举每一条边,拿两个端点的两个 与一下 ...
分类:
Web程序 时间:
2020-02-13 09:36:00
阅读次数:
71
顾名思义,像尺子一样取一段,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短 ...
分类:
其他好文 时间:
2020-02-12 00:52:07
阅读次数:
106