比赛链接
昨天不在状态直接摸鱼到200+了。
题解包括abc题,d题因为难度太大本人没码出来。
由于题目是中文题所以题解不会有题目简述
虽然bc题题意相同数据量不同,笔者还是会提供不同的思路。
A 百度无人车
显然就是不断把最大的变成次大的过程,
首先用s/p算出最多能减少的kg数。
然后排序从大到小把第i个的重量变成第i+1个的重量。
如果所有车都变成同一重量(也就是变成最小那辆车的重量)在判断能不能把所有的车都变成重量为1就行了
不能的话就总体减去剩余的 可减次数/n。
#include
#include
#include
#include
#include
B 百度科学家(简单)
因为n只有20,那么把图建出来之后直接暴力就行了。
这里注意一点就是需要建立映射函数保证1操作下的建图正确性
暴力要注意的是对每一点进行dfs
#include
#include
#include
#include
#include
C 百度科学家(中等)
数据量变大了显然不能再暴力。
根据上一题的经验可知,如果我们对图进行缩点的话,我们要的结果一定在出度为0的点中。
所以先对图强连通缩点然后枚举出度为0的点找出最小值就行了。
建图方式跟前一题是一样的。
#include
#include
#include
#include
#include
d题因为数据量本身不能建图,所以笔者不会做