拍照和删减
算法
拍照
bi=ai+ai+1
可以推出bi+1 - bi = ai+2 - ai
,但是这个公式推导只能计算出奇数个数的序列,仔细观察就可以发现枚举第一个数,从1~n枚举就可以枚举所有情况,并不需要考虑字典序排列,因为从小到大枚举并且每个数都是唯一的,所以一定是字典序最小序列。判断条件的时候考虑:①他已经枚举过了②他是个负数。
拍照II
最优解:①已经处于正确位置的奶牛不要动;②如果奶牛要移动,先移动和后移动的结果是一样的;③从前往后将位置对齐,所以一旦移到正确的位置就不要管了,置0即可。
1 | for(int i = 1; i <= n; i ++) { |
礼物
暴力+排序+枚举~
折叠绳子
每
0.5
一个单位枚举~
reverse()
函数
reverse(s.begin(),s.end());
字符串翻转函数
倍数17N
将一个数乘以17可以看成是将二进制左移四位再加上本身。
考虑只有一个零的时候的特殊情况~
高精度加法~
一排奶牛
注意:如果最长连续的奶牛在最后,则还要考虑将答案与此结果
max
一下,因为答案只在for
循环中的一种条件得出,所以最后max
保证答案是所有情况下的最大值。
删减
kmp
时间复杂度是$O(2n)$~从前往后删,超时,
reverse(i, len)
;从后往前删,reverse(te.begin() + te.size() - t.size(), te.end())
过~从前往后删,会带来大量字符的移动,从后往前删不会~~
1 |
|
牟加密
找到牛
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.