![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
caioj
文章平均质量分 84
zsyzClb
这个作者很懒,什么都没留下…
展开
-
P2827 蚯蚓
看完题目以后,我马上想到了用优先队列,但是这里面m<=7*10^6,用优先队列会超时。所以开始挖掘题目的隐藏条件。经过观察发现,切蚯蚓都是在同一个地方切,切完以后分为了比例相同的两个小段。因为题目说每次切断最长的蚯蚓,那么我们就可以猜想先切掉的蚯蚓分成的两个小段分别比后切的蚯蚓分成的两个小段更长(当然也有可能一样长)。证明:设先切掉的蚯蚓分成了l1,r1,后切掉的分成了l2,r21.如果蚯蚓不会变长(也就是一起变长),那么证明肯定成立。(l1 >= l2,r1 >= r2)2.原创 2020-07-28 14:45:41 · 157 阅读 · 0 评论 -
点分治详解
今天做了一道点分治的题目,所以就去网上学了一下。相信大家都听说过“分治”吧,分治就是“分而治之”一般是把n分成2份,然后再对每一份进行相同的操作,最后合并起来。而点分治,一般情况下是在一棵树上面进行分治,和普通的分治大同小异。先看一道例题【题意】给定一个有N个点(编号1,2,…,N)的树,每条边都有一个权值(不超过1000)。树上两个节点x与y之间的路径长度就是路径上各条边的权值之和。...原创 2020-01-17 09:30:59 · 354 阅读 · 0 评论 -
BZOJ2818
一道入门的数论题。我们考虑以枚举每个质数,然后找这个质数能提供的方案数。经过观察,容易发现一个质数x能够贡献的方案数是n/x中互质的数的对数。于是我们预处理出每个数的互质的个数,加起来*2-1即可求出n/x中互质的数的对数。#pragma GCC optimize("Ofast")#include<iostream>#include<cstring>...原创 2019-12-14 10:31:39 · 264 阅读 · 0 评论 -
Caioj1149 牛场的婚礼
题目描述【题目】一个牛场有n只公牛,同时有n只母牛。每只公牛都有自己喜欢的若干母牛。(一定存在完备匹配)求每只公牛可以选择哪些母牛可以让剩下的每只公牛依旧能够选择到自己喜欢的一只母牛。【输入格式】第一行一个整数n(1 <= n <= 2000).下来n行,每行第一个数ki表示第i只公牛喜欢的母牛数目,下来ki只母牛的编号。所有ki的总和不超过 200000。【输出...原创 2019-01-26 17:20:48 · 375 阅读 · 0 评论 -
caioj 1431:Qtree2
题目描述【题目】有N个点,编号为1到N,有N-1条边,每条边都有长度。有若干个操作,操作分为两种第一种:DIST u,v 表示询问u到v的距离。第二种:KTH u,v,k 表示询问从u到v路径上第k个点的编号。【输入格式】输入一个整数T,表示有T组数据(1<=T<=25)对于每组数据,第一行输入一个整数N,表示有N个点(1<=N<=10000)下来...原创 2019-01-29 14:27:28 · 205 阅读 · 0 评论 -
详解动态树(LCT)
LCT的功能动态树link-cut-tree缩写为LCT支持link(在线建边),cut(在线删边)的操作下面看看这一道题【题意】一个图,有n个点,一开始图中没有边。三种操作:Connect u v:在点u和点v之间建一条边。保证所有Connect操作不会重复建边。Destroy u v:摧毁点u到点v之间的边。保证所有Destroy操作将摧毁的是一条存在的边。Query u ...原创 2019-07-19 10:20:52 · 2191 阅读 · 1 评论