摘要:
$Description$ 有$n$个元素,对于每个元素$x_i$最多知道一个形如$x_j define int long long using namespace std; typedef long long ll; const int mod=1e9+7; int read(){ int x=0 阅读全文
摘要:
题目链接 "戳我" $Solution$ $50\ pts$ 我们来看一下题目,可以很容易的写出来答案的式子: $$\frac{(n+m)!}{a_1!a_2!...a_{tot}!}$$ $a_1,a_2,...,a_{tot}$为$n+m$个数中不同的数出现的个数 那么$50$便很好想了. 我们 阅读全文
摘要:
$Description$ $n$堆石子,每堆石子有$s_i$个,两个人轮流操作,每次可以将一对不少于$F$的石子尽量平均分成$m$堆,$m$每次自选,不能操作者输.共有$T$组数据 $Solution$ $70\ pts$ 直接$SG$搞一搞就好了,枚举堆的个数,异或一下就没了 $Code$ cp 阅读全文
摘要:
$Description$ 有$n$张卡牌,每一张卡牌有$p_i$的概率发动,并造成$d_i$点伤害.一共有$r$轮,每一轮按照编号从小到大依次考虑,如果这张牌已经发动过则跳过该牌,否则以$p_i$的概率发动,如果发动成功则造成伤害然后结束该轮,否则跳过这张牌.问期望造成的伤害,$T$组询问 $n 阅读全文
摘要:
题目链接 "戳我" $Description$ 有若干限制,需要求一个$1$到$n$的排列,每个限制$(x,y)$表示$x$必须在$j$之前,并要求所求的排列满足所有限制并让$1$的位置尽量靠前,在此基础上让$2$的位置尽量靠前,以此类推. $n define int long long using 阅读全文
摘要:
题目链接 "戳我" $Description$ 给一张$n$割点$m$条边的$DAG$,保证点$1$不存在入边,现在需要在$DAG$中加入一条不在原图中的边$(x,y)$,求这个有向图以$1$为根的树形图个数对$1e9+7$去模的结果 $nv$的路径): $$f[u]=\sum f[v]$$ 最后的 阅读全文
摘要:
题目链接 "戳我" $Solution$ 这一题很像最小乘积生成树.只是把$kruskal$变为了$km$/费用流 现在来讲一讲最小乘积生成树.首先将$\sum a_i$和$\sum b_i$看为坐标轴上的点$(x,y)$ $step 1:$ 首先找出离$x$最近的点和离$y$最近的点 $step 阅读全文
摘要:
题目链接 "戳我" $Solution$ 首先申明几个变量: f[x]:到点x的概率, vis[x]:x点的度 dp[x][y]:(x,y)这条边的概率 number[x][y]:x这条边的编号 下面的式子保证存在一条(x,y)的边 我们可以知道总分的期望为: $$\sum dp[x][y] num 阅读全文
摘要:
题目链接 "戳我" $Solution$ 这道题观察数据范围发现很小,再看看题目可以发现是搜索. 这题纯搜索会$T$所以要加入适当剪枝 如果一个人后面的比赛都赢却依旧到不了目标分数,则直接$return$ 限制每个人的分数,使他的分数不超过目标分数 我们用$fx$当做分出胜负的场次,$fy$当做平的 阅读全文
摘要:
题目链接 "戳我" $Solution$ 我们首先想一想如果这一题只是二维的该怎么办? 就是一个最小点覆盖问题.这里就不详细解释了,用网络流或匈牙利都无所谓. 但现在是三维的,那么现在该如何处理呢? 我们发现$a b c define inf 1e9 using namespace std; typ 阅读全文
摘要:
题目链接 "戳我" $Describe$ 谁出的题目啊?这么长的题面,看完就滚粗了.强烈谴责 给一棵树,每个点有一个权值,要求修改一些权值,使: 1. 一个点的权值必须是其所有儿子的权值之和 2. 一个点的儿子权值必须相同 求最少的被修改的数目 $Solution$ 随便画一画图就可以找到一些显著的 阅读全文
摘要:
题目链接 "戳我" $Solution$ 这道题貌似并不难的样子$QAQ$ 我们发现这个因为有首项的关系所以有点不太好弄.所以我们要将这个首项对答案的影响给去掉. 我们可以构建一个差分数组,我们令他等于$a[1],a[2]...a[k 1]$ 则一个差分数组对答案的贡献为: $$\sum_{i=1} 阅读全文
摘要:
题目链接 "戳我" $Solution$ 这一道题直接用$kruskal$重构树就好了,这里就不详细解释$kruskal$重构树了,如果不会直接去网上搜就好了.接下来讲讲详细过程. 首先构建$kruskal$重构树. 对于询问直接求$lca$就可以了,如果没有$lca$输出$ 1$,否则输入$lca 阅读全文
摘要:
题目链接 "戳我" $Solution$ 首先来介绍一下kruskal重构树: "详见" 知道kruskal重构树后这一道题就可以几乎没了. 利用kruskal重构树的性质,一个节点的左右儿子都比他小(其实就是一个堆),所以从点$v$开始只经过困难值小于等于$x$的路径实际上就是找到一个权值小于等于 阅读全文
摘要:
题目链接 "戳我" $Describe$ $n−1$个公司,每个公司能修一些边,求每条边都让不同的公司来修的生成树的方案数 $Solution$ 这道题很明显容斥.答案就是:所有都选的生成树个数$ $一个没选的生成树个数$+$两个没选的生成树个数$ ...$ 至于生成树个数怎么算,用$Matrix 阅读全文