摘要:
原题链接 题解 采取这么个策略:由于要尽可能多地吃药,所以从左到右贪心地把所有药都吃掉,如果遍历到某个点时,生命值出现负数,那么就把之前吃过的药吐出来 这样是否是最优的呢? 如果存在更优方案,代表可以吐另外一批,但是吐另外一批不会更优 code #include<bits/stdc++.h> #de 阅读全文
posted @ 2024-07-24 19:14
纯粹的
阅读(21)
评论(0)
推荐(0)
摘要:
原题链接 题解 性质:取奇数位置相加,取偶数位置不相加 经过若干次实验,可以得到删除第 \(i\) 个数,对 \([1,i-1]\) 个数的奇偶性不造成影响 因此,我们试着从最末尾开始删 (无后效性) 如果末尾是负数,不用管 如果末尾是正数,如果是奇数位置,直接相加 如果末尾是正数,如果是偶数位置, 阅读全文
posted @ 2024-07-24 17:38
纯粹的
阅读(22)
评论(0)
推荐(0)
摘要:
原题链接 题解 真的是无中生有了 从左到右遍历,维护两个颜色的嵌套深度(如果把左括号看成+1,右括号看成-1,那就是维护最大和) 如果遇到右括号,给目前和较大的那个,如果遇到左括号,给较小的那个 code #include<bits/stdc++.h> #define ll long long us 阅读全文
posted @ 2024-07-24 16:42
纯粹的
阅读(13)
评论(0)
推荐(0)
摘要:
原题链接 题解 每个点只有喝和不喝两种状态,因此我么可以遍历所有状态,查看合法并cost最小的方案 优化: 考虑什么时候输出-1,当且仅当存在一个 i 点,使得 把 i 前面所有的饮料喝完还是够不到 \(x[i]\) ,这样的性质引导我们去想:如果存在合法方案,当且仅当对于所有的点,其存在某种喝法使 阅读全文
posted @ 2024-07-24 14:31
纯粹的
阅读(13)
评论(0)
推荐(0)

浙公网安备 33010602011771号