摘要: Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 35047 Accepted Submission(s): 5633 Probl 阅读全文
posted @ 2019-01-18 11:46 snowy2002 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 单调栈真的很好用呢! P2947 [USACO09MAR]向右看齐Look Up 题目描述 Farmer John's N (1 <= N <= 100,000) cows, conveniently numbered 1..N, are once again standing in a row. 阅读全文
posted @ 2019-01-18 11:45 snowy2002 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 最近一直在学单调栈,这是一种十分神奇的算法。 看看这道题 poj 2559 Largest Rectangle in a Histogram Description A histogram is a polygon composed of a sequence of rectangles align 阅读全文
posted @ 2019-01-17 21:19 snowy2002 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 今天无聊的我又来切树形dp了,貌似我与树形dp有仇似的。 n个节点的树 第i个节点权值为 n<=10^6 −100<=ai​<=100 问是否能够删除掉两条边,使得该树分成三个不为空,并且每部分权值之和相等. 无解输出−1 否则输出要删除边(u−>v)的v节点序号. 说白了就是把一棵树分成三块连通图 阅读全文
posted @ 2019-01-16 12:03 snowy2002 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 上次说了说树形dp的入门 那么这次该来一点有难度的题目了: UVA10859 Placing Lampposts 给定一个n个点m条边的无向无环图,在尽量少的节点上放灯,使得所有边都与灯相邻(被灯照亮)。 在灯的总数最小的前提下,被两盏灯同时照亮的边数应该尽可能大。 输入格式 第一行输入T,为数据组 阅读全文
posted @ 2019-01-15 18:49 snowy2002 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 这题一看就是缩点,但是缩完点怎么办呢?首先我们把所有的包含酒吧的缩点找出来,打上标记,然后建立一张新图, 每个缩点上的点权就是他所包含的所有点的点权和。但是建图的时候要注意,每一对缩点之间可能有多条边,所以我们可以先把重边去除一下,在建立新图,具体操作如下: 1 for(int i=1;i<=n;i 阅读全文
posted @ 2018-12-30 10:43 snowy2002 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 经过了一段时间的学习,总算是初步了解了树状数组的概念和应用,这篇随笔就要总结一下树状数组这个数据结构。 首先我们要弄明白树状数组是用来干什么的。直白的说,树状数组就是用来维护数列的前缀和的,并且时间复杂度低,效率高。 虽然树状数组不如线段树用途广,但它毕竟好写,而且常数小,所以说学会树状数组也是很有 阅读全文
posted @ 2018-10-31 20:41 snowy2002 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 今天学了树形dp,发现树形dp就是入门难一些,于是好心的我便立志要发一篇树形dp入门的博客了。 树形dp的概念什么的,相信大家都已经明白,这里就不再多说。直接上例题。 一、常规树形DP P1352 没有上司的舞会 题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一 阅读全文
posted @ 2018-10-24 21:59 snowy2002 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 首先分析题目,这是一道树形dp的题目,是树形背包类的问题,以为每门课的先修课只有一门,所以这一定可以 构成一个森林结构,于是我们可以设计一个虚拟的根节点作为森林的根。 状态转移方程如下 dp[v][k]=dp[u][k]+val dp[u][k]=max(dp[u][k],dp[v][k−1]) 阅读全文
posted @ 2018-10-21 19:02 snowy2002 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 洛谷P2015 二叉苹果树 很明显的一道树形dp。 需要保留的枝条有q条,所以就要保留j=q+1个节点,我们可以分三种情况讨论: 1、树根的左子树为空,只保留右子树,这时右子树保留j-1个节点。 2、树根的右子树为空,只保留左子树,这时左子树保留j-1个节点。 3、左右子树都非空,设左子树保留k个节 阅读全文
posted @ 2018-10-21 11:10 snowy2002 阅读(225) 评论(0) 推荐(0) 编辑