A. Simple
本来以为很难,考场瞎推了推好像会了......
想起小凯的诱惑,迷??
首先$n$,$m$,$q$同除$gcd(n,m)$,显然$q$以内的数假如不是$gcd$的倍数,那么一定不能被表示
然后在求新的$q$以内不能被表示的数
因为现在$n$,$m$互质,所以$n imes m$至q的数一定能被表示,我们就把范围缩小到$min(n*m,q)$以内
因为在$n imes m$以内,所以取不同$n$,$m$系数时结果不同
所以就因为$m$很小,直接枚举$m$的系数,最多枚举$n$个数,所以$n imes T$复杂度。
B. Walk
$wleq 100$打法:
显然将问题转化为当$gcd$为某数时的最大直径,倒着求一边后缀最大值即可,
(听说打$n imes w$的T飞了,然而我打的$n imes w imes w$的没T)
正解:
思路很新颖
将每个边分解出约数,存在$vector$里,然后求出每个约数的最大直径,
注意清空不能全清,
复杂度最坏是$n imes sqrt{w}$,但应该数据没有卡