《大吉大利,晚上吃鸡!》题解
出题人:陈宇
验题人:刑健开(jkxing)
题目简述
给定一张有边权(边权全为正)的无向图, n 个点
解法一
首先是最暴力的解法,枚举任意点对 A 和
其中, dis(X,Y) 可以用floyd求解
时间复杂度: O(n3)
期望得分: 30
解法二
首先,虽然题目中给定的是无向图,但是实际上我们可以先从 S 出发求一遍最短路,然后问题变成了:“在有向无环图上,求有多少个满足条件的点对
求解这到题目的一个关键点在于:满足条件的点对 A,B 具有特点:从 S 到
所以在有向无环图上用动态规划求解路径条数,再去掉
PS:方案数可能会爆掉怎么办?可以对方案数求余一个大整数,如果觉得不够的话可以求余两个大整数。
时间复杂度:
期望得分: 60 在解法二中,定义 F(X)= 从 S 到 F(A)+F(B)=F(T)A 和 对于条件 1 ,我们可以使用数据结构进行优化(使用 时间复杂度: O(n∗log(n)+n∗m/32) 期望得分: 100解法三
std::map
即可),而对于条件
如果觉得《清华月赛 大吉大利晚上吃鸡题解》对你有帮助,请点赞、收藏,并留下你的观点哦!