统计在一个root下的两个子树,每个子树都和前面的运算一下再加进去对于这种需要排序的运算很麻烦,所以考虑先不去同子树内点对的算出合法点对个数,然后减去每一棵子树内的合法点对(它们实际上是不合法的,相当于一个容斥) 算点对用排序+双指针即可 cpp include include include us ...
分类:
其他好文 时间:
2018-12-12 00:23:29
阅读次数:
122
#include int main() { long long n; int c; while(scanf("%lld",&n)!=EOF){ c=0; while(n!=1){ if(n%2==0){ n=n/2;c++; } else{ ... ...
分类:
其他好文 时间:
2018-12-11 01:37:35
阅读次数:
103
常用模块 configparser 该模块是处理配置文件的模块。配置文件内如下格式: [info] key = value 一、 方法 这里我们主要讲对象的方法。configparser模块的ConfigParser方法的子方法; 我们先得到对象 config: import configparse ...
分类:
编程语言 时间:
2018-12-10 11:36:11
阅读次数:
210
The Last Stand https://ac.nowcoder.com/acm/contest/303/L 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 时间限制:C/C++ 1秒,其他语言2 ...
分类:
其他好文 时间:
2018-12-09 17:26:45
阅读次数:
191
P3899 [湖南集训]谈笑风生 题目大意 n个节点的树,q次查询,每次查询给出a,k求三元组的数量(a,b,c),(a,b,c)的定义为:a、b均为c的祖先且距离<=k 离线,启发式合并线段树,长链剖分当然都能过这题 这里讲讲主席树的做法 dfs序建树 a为b的祖先时 查询a子树内深度<=dep[ ...
分类:
其他好文 时间:
2018-12-09 14:01:19
阅读次数:
178
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3230 作出后缀数组,从 LCP 看每个位置对于本质不同子串的贡献,而且他们已经按前面部分排好序了,所以直接在 sa[ ] 上二分就能找到询问的子串。 找最长公共前缀就用 ht[ ] 和子串的长 ...
分类:
编程语言 时间:
2018-12-07 18:26:03
阅读次数:
170
分块算法 算法思想 引用某次考试Problem上的(伪)Pre reading(题解): 分块算法: 分块很像线段树,但是比线段树看起来更“暴力”一些,写起来更简单一些(期望得分80),用来维护复杂的区间信息时更容易一些。基本思想:可以把具有n个元素的集合分解成√n段,每一段的长度为√n (当然,最 ...
分类:
其他好文 时间:
2018-12-03 16:29:19
阅读次数:
230
A. Numbers Unsolved. B. Broken Watch Solved. 题意: 一个圆盘上,有等分的n块区域,有三根指针,当三根指针分别位于两块区域的交界处时 指针的三点相连会形成一个三角形,求有多少个三角包含三指针的起点(即交汇处) 思路: 1 #include<bits/std ...
分类:
其他好文 时间:
2018-12-03 01:11:04
阅读次数:
459
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2259 不是 n^2 条边!连那条边权为0的边之后,只要每个位置向它的前一个位置和后一个位置连 1 的边,就能等价于一开始就走到那个位置了。 不会有情况使得操作后 a[ i ] 变成负数来走到 ...
分类:
其他好文 时间:
2018-12-02 17:59:42
阅读次数:
171