随笔分类 -  树论

摘要:题目描述: 你培育出了一些新型的神经元,它们可以有很多的轴突。 具体来说,对于第i个神经元,它有1~di条轴突,因此可以与1~di个神经元相连,可以将轴突看成无向图的边,假定每个神经元都是不同的。 现在你想知道,有多少种方案使得其中恰好k个神经元相连通,这里的连通需要保证任意两个神经元间有且仅有一条 阅读全文
posted @ 2019-08-24 19:52 Mistletoes 阅读(449) 评论(0) 推荐(0)
摘要:题目描述: 给定一个n个点m条边的连通图,保证没有自环和重边。对于每条边求出,在其他边权值不变的情况下,它能取的最大权值,使得这条边在连通图的所有最小生成树上。假如最大权值为无限大,则输出-1。 题解: 先求出图的一棵最小生成树: 对于不在树上的边(x,y), 它的权值只要小于树上x到y路径中一条边 阅读全文
posted @ 2019-08-19 18:33 Mistletoes 阅读(363) 评论(0) 推荐(0)
摘要:题目描述: 给你一个无限长的数组,初始的时候都为0,有3种操作: 操作1是把给定区间[l,r][l,r] 设为1, 操作2是把给定区间[l,r][l,r] 设为0, 操作3把给定区间[l,r][l,r] 0,1反转。 一共n个操作,每次操作后要输出最小位置的0。 题解: 经过分析观察,可以发现,答案 阅读全文
posted @ 2019-08-19 18:21 Mistletoes 阅读(268) 评论(0) 推荐(0)
摘要:题目描述: 题解: a[i] 实际就是字符串 i 在总集合中出现的次数,很自然地想到fail tree 注意:注释中的那段代码是不能用的 阅读全文
posted @ 2019-08-19 16:29 Mistletoes 阅读(214) 评论(0) 推荐(0)
摘要:题目描述: 题解: 正难则反,先求出让所有其它城市到达都城需反向几条边,再用总边数减去即可 f[i]表示以i为根的子树调整好需反向的边数 g[i]表示以i为都城需反向的边数 #include<iostream> #include<cstdio> using namespace std; const 阅读全文
posted @ 2019-08-19 16:21 Mistletoes 阅读(115) 评论(0) 推荐(0)
摘要:题目描述 n*m的平面内有K个不安全点,Q个询问位置在(x,y)的人能走到多少个点?从(x,y)走到(x',y')是合法的,当且仅当(x,y)和(x',y')之间的矩形中不包含不安全点。 题解 问题相当于平面中有若干障碍点,询问以某一个点为四个角之一的不包含障碍点的矩形有多少个。 我们只需要考虑一个 阅读全文
posted @ 2019-08-07 18:38 Mistletoes 阅读(224) 评论(0) 推荐(0)
摘要:传送门:https://www.luogu.org/problemnew/show/CF700 先手动模拟一下: 原串:abracadabra s数组依次是:abracadabra,abra,a 可以发现,每一步我们找最长的在上一个串中出现两次的子串,即可得到最优解 很容易想到dp: 定义两个数组: 阅读全文
posted @ 2019-06-01 11:02 Mistletoes 阅读(246) 评论(0) 推荐(0)