这篇博客分享了两种算法技巧:一是无向图无环定向的解决方案,通过动态规划计算方案数或利用色多项式求解;二是点分树的合并方法,详细阐述了如何在树的边被分割后重新构造点分树,并提供了计数问题的解决思路。还给出了一条涉及格子染色的数学公式及其动态规划求解方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从杂题等东西中得到的小技巧,没时间写题写题解就放这里了。

upd:10.6

  1. 关于无向图无环定向:设 f S f_S fS表示 S S S中的点已经形成了DAG的方案数。转移的时候枚举点集 T T T,满足 T ⋂ S = ∅ T\bigcap S=\empty TS=并且 T T T中的点之间没有连边,然后转移到 S ⋃ T S\bigcup T ST,乘上容斥系数 ( − 1 ) ∣ T ∣ + 1 (-1)^{|T|+1} (1)T+1。另一种表示方法是求出色多项式 F ( x ) F(x) F(x),则 ( − 1 ) n F ( − 1 ) (-1)^nF(-1) (1)nF(1)就是答案。

  2. 点分树的合并:一棵树由一条边被分成两个连通块,两个连通块各搞出一棵点分树,现在要将这两棵点分树合并。设边的端点为 u u u v v v。新的点分树如此构造:取其中的一个根作为新点分树的根,剩下的若干个子树中找到那个有 u u u(或 v v v)的那个保留下来继续做。如果仅仅要计数,那么相当于 u u u到根和 v v v到根互相插空,其它的不变。

upd:10.9

昨天的结论题模拟赛。。。。

  1. 一条式子: ∑ i ( m 2 i ) ( m − 2 i n − i ) 2 2 i \sum_i \binom{m}{2i} \binom {m-2i}{n-i}2^{2i} i(2im)(nim2i)22i,即 ∑ i ( m 2 i , n − i , m − n − i ) 2 2 i \sum_i \binom{m}{2i,n-i,m-n-i}2^{2i} i(2i,ni,mnim)22i,组合意义:给 m m m个格子黑白染色,要求黑色比白色多 m − 2 n m-2n m2n个,不染色的格子有 2 2 2的贡献。DP: f x , y f_{x,y} fx,y表示考虑了前 x x x个格子,黑比白多 y − x y-x yx个。得到转移方程: f x , y = f x − 1 , y + 2 f x − 1 , y − 1 + f x − 1 , y − 2 f_{x,y}=f_{x-1,y}+2f_{x-1,y-1}+f_{x-1,y-2} fx,y=fx1,y+2fx1,y1+fx1,y2,相当于在格点上走,每次往右边或右上走一格,走到 ( 2 x , y ) (2x,y) (2x,y)的方案数。于是答案为 f m , m + m − 2 n = ( 2 m 2 n ) f_{m,m+m-2n}=\binom{2m}{2n} fm,m+m2n=(2n2m)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值