摘要: 在一棵树上,我们要求点 $(u,v)$ 之间路径的第$k$大数。 对于点 $i$ ,建立 $i$ 到根节点的一棵前缀主席树。 简单容斥后不难得出结果为$sumv[u]+sumv[v]−sumv[lca]−sumv[fa[lca]]$ 其他的和主席树是一样的。 Code: 阅读全文
posted @ 2018-10-18 20:22 EM-LGH 阅读(150) 评论(0) 推荐(1) 编辑
摘要: 挺裸的,没啥可讲的。不带修改的主席树裸题Code:#include#includeusing namespace std;const int maxn = 500000 + 5;int n, m ,root[maxn];struct Chair_Tree{... 阅读全文
posted @ 2018-10-18 18:15 EM-LGH 阅读(199) 评论(0) 推荐(0) 编辑
摘要: Code: 阅读全文
posted @ 2018-10-18 14:52 EM-LGH 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Code:#include using namespace std;const int maxn=4000005;const int R=4000002;const int N=4000002;long long sumv[maxn... 阅读全文
posted @ 2018-10-18 14:51 EM-LGH 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Code:#includeusing namespace std;typedef long long ll;const int maxn=10000000+1;long long mod;ll fac[maxn];ll inv[maxn];ll an... 阅读全文
posted @ 2018-10-18 14:47 EM-LGH 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 显然,横纵坐标要互质才能被看到。 处理出与横坐标 $i$互质的纵坐标的个数,求一遍前缀和即可。 阅读全文
posted @ 2018-10-18 14:38 EM-LGH 阅读(150) 评论(0) 推荐(0) 编辑