0929模拟赛

今天打的是真菜\(QWQ\)
\(T1:\)\(a_1\)\(a_n\)\(s\),问是否存在\(k\),使得\(\sum_{i=1}^N (a_i\;mod\;k)=s\)
这么菜的题为啥没做上来呢?
哦,原来是没有理解取模运算的本质啊?所以本质是什么?除后的余数,那末除的本质呢?减!
所以\(a\;mod\;k=a-\left \lfloor \frac{a}{k} \right \rfloor k\)也可以说是\(a-nk\)
故原式\(=\sum_{i=1}^N a_i-nk=s\)\(=\sum_{i=1}^N a_i-s=nk\)推到这就很简单了,求\(\sum_{i=1}^N a_i-s\)的所有因数,检验这个因数是否可以做\(k\)
\(T2:\)题面点这里最大值最小,想二分,考虑如何\(check\)。设当前要check的答案为\(x\),
则对于一\(a_i\),要满足\(b_j<=x-a_i\),因为a越小,对b的限制越松,越容易成功,故将a按从大到小排序,每次取\(a_i\),则就将可以的\(b_j\)放入一个按a从大到小排序的优先队列,每次取队头,并与当前\(a_i\)共同标记已选,若能选到最后,则\(return\;1\)
这道题其实就是要注意到a与b匹配,a越大b成功机会越大,将a降序排序,由于硬枚举时间会炸且对a顺序有要求,就将b放优先队列。
\(T3:\)这是唯一一道题解讲的清楚的了。
由于题解中的父子关系,可想到拓扑排序。
无根树咋搞呢,当某个点被一次操作后便不能再动了,他便可以作为根。

posted @ 2024-09-29 19:45  煦阳gyy  阅读(11)  评论(0)    收藏  举报