枚举
Ostrichcrab
这个作者很懒,什么都没留下…
展开
-
51nod1621 花钱买车牌
被这道题难了一下午,记录一下 1,枚举,枚举变成k个0,1,……9的代价,其中代价和最小的就是答案 2,然后,再枚举,从代价小的开始枚举,例如,花费1的代价看能有几个 变成了,不够的话,就枚举花费2的代价,直到有k个,这样就满足了题意 3,为了保证字典序最小,还要注意一点,同样花费2的代价,5变到3要比1变到2要好, 所以要优先减操作,减操作正序进行,加操作倒序进行(同样是...原创 2018-08-21 19:51:46 · 250 阅读 · 0 评论 -
Codeforces Round #508 (Div. 2) D. Slime
题目大意: 给定一個数组,每次操作可以让其中任意的一个数x,吞并他的相邻的一个数y。吞并后,被吞的数消失,x的值变成x-y,重复此操作直到剩下一个数,求剩下的数的可能的最大值。 思路: 分三种情况,全正,全负,有正有负 有正有负,那么就总能让负数吞正数,得到一个绝对值更大的负数,並且吞并后的绝对值是它们的绝对值的和,例如-x吞并y,就的到-x-y = -(x+y),直到剩下一个正数时...原创 2018-09-09 19:26:06 · 200 阅读 · 0 评论 -
leetcode 926. Flip String to Monotone Increasing
给定一个由 0 和 1 组成的序列 A ,问至少翻转多少个 0 和 1 使得该序列前部分都是 0 后部分都是 1. 思路:枚举0和1的分界点,代价可以O(1)的算出来,只需要预处理出序列A中一开始有几个0即可,代价就是当前扫过的1的个数加上后面的0的个数 class Solution { public: int minFlipsMonoIncr(string S) { ...原创 2018-10-24 22:02:54 · 213 阅读 · 0 评论