泉哥当时练习的时候就是acwing + codeforces,所以我的训练计划也没有必要加太多其他的东西,就是熟练acwing的基础算法,会用提高课程的模板就够了
A. Select Three Sticks
1怎样做:
找到两两相差最少的值是什么,然后将这个东西输出
2为什么:
首先需要意识到的一点是:我们应该向中间的数字靠拢,比如说数字1 2 3,1和3都应该向中间的数字2靠拢,这样的 操作次数是最少的;(为什么,至于这里是为什么,可以理解为贪心,也可以具体分析1 2 3,1 1 2,都是需要向中间靠拢)
我们假设有这样的三个数字,a b c,(排完序了已经),所以应该是b -a + c - b,所以就是c - a,如何让c - a变最少,首先c和a应该尽可能靠的近,下标差1是最接近的,然后我们需要看看全局当中相差为二的这些数字当中那些的差最少、
3下次怎样想出来:自己写一下式子是怎么样写出来的,b- a + c - b 这样b就被削去了 我们一定大胆的意识到,最后都是变成
4与生活的联系:这个例子也是非常的经典,找到三根木棍,如果想办法最少的次数让三根木棍数量减少到最少和中间的数字相同,相等,这个需要观察例子,也需要大胆推测
B. Bright, Nice, Brilliant
这个题目感觉非常难以理解,感觉非常的复杂 实际上非常的简单的一道题目,关键就是在于自己大胆的分析,大胆的想象
C. Removing Smallest Multiples
题意:首先理解题意的时候就应该格外的注意,这个题目是删除最小倍数,删除最小的倍数
这里应该是选择从大到小来更新
D. Slime Escape
你能真正的理解前缀和是什么东西吗:这个题目分数是1800,但是能够用前缀和非常完美的解决这个问题:
这个竟然能用前缀和来完成,真的没有想到,