20230408做题笔记

T1

建图,点表示状态 {$x,y,0/1$}

表示A和B分别在$x$和$y$现在到某个人

跑反向bfs

必胜态到了一个点,这个点为胜败态,把这个点入队

如果一个点全部的入边都是必败态,这个点就是必败态,入队

如果一个点一直没入队,那么就是平局

T2

建反向图,点为{$x,0/1$},0是先手,1是后手,跑dij

1更新到的每一个0,都直接入堆

当一个1,所有的入边都走完后,才把他入队

T3

$k$ 从 $n$到 $1$ 枚举

第一次连的边是直径

每个点第一次连的边,一定是和直径端点

记录直径端点到每个点距离即可

T4

先算出$f(T)$

如果这个权值的个数大于等于三个

那么 $F(T,e_i)$ 全部都为 $f(T)$

如果只有两个

那就只用统计这两个节点的路径上的边,其他$F(T,e_i)$ 都为 $f(T)$

先从左到右跑一次,把左边包含的全部点暴力统计个数,记录满足条件最大值

再从右到左跑一次,记录答案

T5

最大生成树

T6

T7

$ans=C_m^k*\sum_{i=1}^k(-1)^{k-i}*i*(i-1)^{n-1}*C_k^i$

T8

令$c=n+i-2*k,j=k-i$

$ans=\sum_{i=0}^kC_n^1*C_{n-i}^{2*(k-i)}*C_{2*(k-i)}^{k-i}*(k-i)!/2^{k-i}*C_{c+j-1}^j-1$

posted @ 2023-04-08 12:03  hubingshan  阅读(16)  评论(0)    收藏  举报  来源