07 2020 档案
发表于 2020-07-31 10:09阅读:284评论:0推荐:1
摘要:因为是有标号计数,考虑用指数型生成函数来解决。 设有标号荒漠的生成函数为 ,有标号仙人掌的生成函数为 ,因为荒漠是仙人掌所组成的集合,得: 解决有标号仙人掌的计数问题后,就能解决有标号荒漠的计数问题。 先在仙人掌上确定
阅读全文 »
发表于 2020-07-30 00:24阅读:144评论:0推荐:0
摘要:对于一种权值的生成树的存在性,可以将其转化为该权值的生成树个数的计数问题。 先考虑运算若不是位运算,是加法的情况,要怎么处理。对于边权为 的一条边,将其边权赋为 ,然后应用矩阵树定理,若所得行列式的第 次项系数不为 ,即生成树个数不为 ,就说明存在边
阅读全文 »
发表于 2020-07-29 19:47阅读:232评论:0推荐:0
摘要:先考虑最小值,因为树是二分图,所以可以进行黑白染色,将其分成左右部图,让左部图向右部图连边即可构造最小值,为 。 对于最大值,最优情况一定是以一个点为中心,其各个子树内边的状态为要么该点能到达子树内的每个点,即外向,要么子树内的每个点能到达该点,即内向,且该点为树的重心。 可以简单的进
阅读全文 »
发表于 2020-07-29 08:40阅读:204评论:0推荐:0
摘要:对于至少 个,不超过 个的限制,可以先求出限制不超过 个的方案数,然后减去限制不超过 个的方案数,即为答案。 对第 个糖果罐列出其的生成函数,得: \[ f_i(x)=\sum_{j=0}^{m_i} x^j = \frac{1-x^{
阅读全文 »
发表于 2020-07-28 16:13阅读:227评论:0推荐:0
发表于 2020-07-28 08:32阅读:252评论:0推荐:1
摘要:先考虑外向树的情况,那么对于每个节点,该节点都是其子树内第一个抽到的。假设 都已确定, 为所有 的和, 为 子树内 的和,得最终答案为: \[ \prod_{x=1}^n \frac{W_x}{sum} \sum_{i=0}
阅读全文 »
发表于 2020-07-27 07:59阅读:216评论:0推荐:0
摘要:一个州不合法为其内部有欧拉回路,即图连通且每个点度数都为偶数。 很小,考虑用状压 解决本题,设 为集合 的答案, 为集合 的 和的 次方。 得转移方程为: \[ f_S= \frac{1}{g_S
阅读全文 »
发表于 2020-07-25 11:38阅读:215评论:0推荐:0
摘要:若从 到 的任意一条路径经过了一个点双连通分量,则从 到 一定可以经过该点双连通分量中的每一个点。 用广义圆方树来维护一般无向图,每个方点的权值为其相邻的圆点的权值的最小值,然后可以用树剖来修改和查询。 但是这样修改的复杂度是不正确的,若一个圆点相邻有
阅读全文 »
发表于 2020-07-25 08:37阅读:326评论:0推荐:0
摘要:对于本题这样带修的树上路径问题,考虑用动态点分治来解决。 将题目中给的式子变形得: 对
阅读全文 »
发表于 2020-07-23 10:04阅读:432评论:0推荐:1
发表于 2020-07-22 08:23阅读:244评论:0推荐:0
摘要:每次询问是关于 所在的连通块,所以考虑用点分树来解决本题。 点分树上每个节点所对应的子树,都是原树中的一个连通块。询问中给定 和区间 ,其就已经确定了原树的一个连通块,所以可以在点分树上找到最大的一个子树包含该连通块,统计其内部合法点的个数即可。 首先处理出
阅读全文 »
发表于 2020-07-21 09:59阅读:249评论:0推荐:0
摘要:一个比较直接的想法就是对每个点进行拆点,拆成入点和出点,限制放在入点和出点相连的边上,然后跑最大费用最大流即可。 但是这样复杂度无法接受,所以考虑模拟费用流来解决本题。 发现 都大于等于该节点的度数,所以从根节点出发,一定可以到达所有节点。 先考虑以根节点为起点和终点的答案,首先可以遍历
阅读全文 »
发表于 2020-07-20 19:17阅读:257评论:0推荐:0
摘要:考虑用动态点分治来解决像本题这样带修的树上路径问题。 首先对原树进行点分治,建出点分树,在点分树每个节点上用动态开点线段树来维护以该节点为起点,到其点分树子树中每个节点的利润。 查询时只需在点分树上当前所在节点往上跳父亲,在其到点分树根节点的链上的每个节点的线段树上查询。跳到一个节点时,在线段树上查
阅读全文 »
发表于 2020-07-18 15:09阅读:286评论:0推荐:0
摘要:首先考虑题目的性质,不难发现光盘的花费是一个凸函数。当生产 张光盘时,其花费为 ,随着光盘生产数的增加,最优情况肯定是先选择工厂便宜的时刻,所以花费会增长越来越快,因此其为一个下凸的凸函数。 采用 二分来优化掉生产出 张光盘的限制,然后可以通过二分图带权匹配
阅读全文 »
发表于 2020-07-17 22:06阅读:387评论:0推荐:1
摘要:首先考虑题目的性质,发现点向区间连的边为双向边,所以也就可以从一个点向右跳到区间包含该点的点,如图所示: 但事实上向后跳其实是不优的,可以有更好的方法来节省花费: 因此我们发现一个点跳到其前一个区间的花费为 ,且在跳跃过程中不会向右跳,同时我们还证明了一个点向左的花费单调递增。 但是从起点进行
阅读全文 »
发表于 2020-07-15 07:45阅读:328评论:0推荐:0
摘要:考虑用数位 来统计数字串个数,用 来实现子串的匹配。 设状态 ,表示数位的位数,在 上的节点,匹配的长度,是否有最高位限制,是否已经满足要求。 在 转移时,若当前节点能接着匹配枚举
阅读全文 »
发表于 2020-07-14 17:19阅读:242评论:0推荐:0
摘要:考虑到先手和后手都使用最优策略,所以可以像对抗搜索一样,设 为先手收益减去后手收益的值。那么先手想让 尽可能大,后手想让 尽可能小。 继续分析题目性质,发现取石子的过程可以转化为两端分别有一个栈,可以从栈顶取石子,中间有若干个双端队列,可以从其两端取石
阅读全文 »
发表于 2020-07-13 20:34阅读:206评论:0推荐:0
摘要:首先我们知道 个点的树有 条边,因此对于森林来说,其点数减边数即为树的个数。那么对于普通的图,求出其任意一个生成树森林,森林中树的个数即为原图中连通块的个数,也就是点数减边数。 因此问题就转化为了如何快速求出一个图的生成树森林的边数。 考虑用 来维护原图的
阅读全文 »
发表于 2020-07-13 14:36阅读:957评论:0推荐:1
摘要:概念 回文树可以用来处理一个字符串中所有的回文子串。一个串的本质不同回文子串个数最多为 个。 一个字符串的回文树由两棵树组成,一个维护所有长度为奇数的回文子串,一个维护所有长度为偶数的回文子串。树上除根节点外的每个节点都表示串中的一个回文子串。 节点对应的回文子串长度。
阅读全文 »
发表于 2020-07-12 12:08阅读:165评论:0推荐:0
摘要:考虑到年份数很小,只有 ,所以可以 来枚举子集,确定流量指数对应相同的位置,然后通过哈希和排序来计算相同的方案数。 但是这样计算出的是大于等于子集元素个数的方案数,所以还需要通过容斥来得到恰好为 的方案数。设子集元素个数为 ,相同个数恰好为 的方案
阅读全文 »
发表于 2020-07-10 10:55阅读:450评论:0推荐:0
发表于 2020-07-08 22:17阅读:219评论:0推荐:0
摘要:通过建最小割树 来快速求解无向图中两点间的最小割。 最小割树中的一条边的权值,为其两端点的最小割,那么任意两点之间的最小割即为路径上的最小值。 通过递归建树即可。 void build(int l,int r) { if(l==r) r
阅读全文 »
发表于 2020-07-07 22:32阅读:295评论:0推荐:0
摘要:首先将操作倒序,把删边转化为加边。先考虑若边是无向边,条件为连通,要怎么处理。 可以用并查集来维护连通性,对每个连通块维护一颗权值线段树,连通块的合并用线段树合并来实现,线段树同时也支持了修改点权。 然后再考虑对于有向边和强连通分量要怎么做。无向边的作用是使两个连通块成为一个连通块,有向边的作用是使
阅读全文 »
发表于 2020-07-06 23:54阅读:283评论:0推荐:0
摘要:先考虑对于一个序列,能使其可以删空的的修改次数。 首先可以发现,序列的排列顺序是没有影响的,所以可以将所有数放到桶里来处理。 尝试对一个没有经过修改的可以删空的序列来进行删数,一开始删去所有的,然后序列长度变为,删去所有的,然后序列长度变为,删去所有的…
阅读全文 »