转载请注明出处,谢谢http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents by---cxlove
总体来说,这场不是很好做啊,对于div2
A:显然添加第一位之后如果整除的话,那么之后全添加0的就行了。反过来,如果第一位不满足的话,那么毕竟不行。
那么考虑 (b-a*10%b)是否小于10就行了
B:枚举以每一个字符开始的长度 为10的串,然后进行分解,判断,map搞一下
C:这个题嘛,要考虑球最少的那个盒子。起点只可能是在球最少的盒子处,不是吗?
然后我们就从终态往前堆到最少的盒子处,有多个也没事,随意取一个
那么中间部分就要全部减1,然后根据最少盒子里的数量就知道中间运转了多少轮,倒推就OK了
D:贪心吧,直接推。将点分为两堆0,1。先考虑权值小的点
从两堆中各取一个,边权便是两者权值的最小值。然后判断是否还剩。
但是有一种情况要注意,如果两个点的边权一样,这时候不能把这两个点都抛弃。
应该选择一个抛弃,不然就不连通了,也就是之前的点和之后的点不连通,保证有一个点留下和接下来的点继续连接
E:枚举所有情况,然后线段树判断