转载请注明出处,谢谢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:枚举所有情况,然后线段树判断
本文深入解析编程竞赛中四个典型问题的解决方案,包括如何通过数学逻辑简化问题,采用贪心算法和动态规划策略求解,以及利用哈希表优化搜索效率。详细阐述了每个问题的关键思路与实现细节,旨在提升读者的算法理解和编程能力。
1629

被折叠的 条评论
为什么被折叠?



