- 博客(2)
- 收藏
- 关注
原创 Sigma Problem
求完和,对数组从小到大排序,这里排序并不会对结果有影响,因为本来就是两两相加,之后定义一个left指向数组最左边,一个right指向数组最右边,两个指向的值相加如果大于等于10^8则计数cnt+=right-left,因为最大的数加上最小的数都大于10^8那么在left右边的数与right指向的数相加肯定也大于10^8,就不用再算了,之后把right--,如果相加小于10^8,则left++,循环此过程即可。
2024-05-14 22:36:52
296
原创 P3379 【模板】最近公共祖先(LCA)-(tarjan算法)
接下来 N−1 行每行包含两个正整数 x,y,表示 x 结点和 y 结点之间有一条直接连接的边(数据保证可以构成树)。接下来 M 行每行包含两个正整数 a,b,表示询问 a 结点和 b 结点的最近公共祖先。第一行包含三个正整数 N,M,S,分别表示树的结点个数、询问的个数和树根结点的序号。举个例子,求5和6的最近公共祖先是3,一开始所有的pre[]值都为他们本身,对于 100% 的数据,1≤N,M≤500000,1≤x,y,a,b≤N,对于 30% 的数据,N≤10,M≤10。
2024-05-10 17:04:59
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人