![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
fedsnly
这个作者很懒,什么都没留下…
展开
-
UVALive 3486
题意: 给一棵树,每次每次询问一个点是否是另一个点的祖先?输入父节点和它的儿子,数据量大,所以用栈结构防爆;对于查询是否是祖先,我们可以对于每一个节点打上两个dfs标记,如果一个点是另一个点的祖先,那么它的两个标记一定在祖先的范围之内。【tarjan的时间戳的概念】注意每个样例输出之间要输空行#include<iostream> #include<cstdio> #incl...原创 2018-07-10 15:07:39 · 152 阅读 · 0 评论 -
【UVALive 2572】计算几何-离散化
题意:按顺序给若干个圆,问最后多少个圆盘可见题解:按照大白上的思路,针对每个圆,求它被其他圆分割成了多少段圆弧,包括不被分割,自己就是一个圆弧的情况。求出所有圆弧之后,然后判断每段小圆弧内外两侧的可见圆盘。具体来说,把小圆弧重点P往内外各移动一个很小的距离,得到P1,P2,然后标记包含这两个点的圆盘中最顶部那个为可见的。【这段没看懂,为什么一定要移动?】AC代码:#include<iostr...原创 2018-07-15 11:03:44 · 216 阅读 · 0 评论 -
【HDU 5943】素数间隔+二分匹配
题意:有n个人,每个人的标号以此是s+1到s+n,要求将所有人重新排序之后满足每个人的位置y能够保证被他的标号整除,就是数组重排之后满足每一位的a[i]%i==0 题解:看到数据样本其实发现非常大,一般数据结构都开不下。但是初步分析我们发现如果该区间内存在两个以上的素数那么肯定无法匹配,所以事先判断一遍,避免开大数组的情况(不避开会RE),而一个只含一个素数的区间最大1000+可以存下。 另外...原创 2018-07-23 09:44:11 · 178 阅读 · 0 评论 -
【UVA 1158 】DP
题意:两种堆的方法,一个是n的3次方,一个是n平方的累加,问N个立方最少可以由几个堆构成 题解:自己做的时候脑子秀了,做了一种会超时的方法,上网死都找不到题解。经人提醒A题了...纪念一下。 就是开一个一维DP数组,表示n个立方最少可由多少个堆构成 AC代码: #include<iostream> #include<cstdio> #include<queu...原创 2018-07-31 10:43:59 · 151 阅读 · 0 评论 -
【UVA - 140】全排列+剪枝
题意:给定n(n<=8)个节点的图和一个节点的排列,定义节点i的带宽为i和相邻节点在排列中的最远距离,整个图的带宽便是每个节点带宽的最大值,给定图G,求出让带宽最小的节点排列。 题解:因为数据范围不大,所以直接用next_permutation函数枚举每种情况,对每个排列ji其实进行计算,当得到的最大值比目前的最小值要大或者相等时就剪枝,(其实不剪也能过)。因为是输出最小字典序,所以要从最...原创 2018-08-09 15:45:16 · 457 阅读 · 0 评论 -
【HYSBZ 4034 】树链剖分+线段树
有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 Input 第一行包含两个整数 N, M 。表示点数和操作数。接下来一行 N 个整数,表示树中节点的初始权值。接下来 N-1...原创 2018-08-09 15:51:27 · 169 阅读 · 0 评论