思路讲解
https://www.luogu.com.cn/article/rae0b6wl
总体思路就是将等于目标转变为构造最小的 大于等于目标的构造
1 | ROF(i,Q,1){ |
既然是要被覆盖的,我们还要构造最小的吗,所以我们令
AC代码
https://codeforces.com/contest/2115/submission/323143930
源代码
1 | // Problem: B. Gellyfish and Camellia JaponicaB. 水母和山茶花 |
心路历程(WA,TLE,MLE……)
https://codeforces.com/contest/2115/submission/322643402
比最大条件小的点是不被允许的,那么填什么最好呢?
https://codeforces.com/contest/2115/submission/322665243
1 | 1 |
附随机数据生成器
源代码
1 |
|
https://www.cnblogs.com/cjcf/p/18906536
给出最后的结果和操作步骤,求初始数组
通过贪心,我们发现在A[x]有多条边的时候,只能选择满足最大的边(条件,边权为A[z]大小)
比最大条件小的点是不被允许的,那么我们就要看是就选这个最大条件还是选自己的值(如果自己的值比最大条件大)。
贪心的来说,如果自己的值是要被覆盖的,那么肯定选条件值,如果不被覆盖,那肯定就选自己的值。
当然,上面的这些只针对于不是多重覆盖的情况,如果出现多重覆盖情况,那么只保留最后覆盖情况(前面覆盖了也是白覆盖)。
那么我们发现,我们小瞧了这道题目,就是说操作之间是有可能互相影响的。
1 | 1 |
当然,我们发现我们的贪心结论是没有什么大的问题的,只是适用范围错了,其仅在倒推时,不涉及传递的时候有用。