![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前缀和
ah是你啊
算法 / 后端 / 前端 欢迎交流
展开
-
Educational Codeforces Round 103 (Rated for Div. 2) 前缀和 + 思维
原题链接题意 :就是给长度为n的字符串 , L表示向左走 , R表示向右走 , 问0到n每个点最多可以走几个点。没走一次,字符串各个点方向变一次 。思路 :首先题目给了2秒 , 但是暴力的话还是会T , 不要问我为什么 , 因为我试过了 , 哈哈 。可以考虑前缀和 , 分为两部分 , 分别维护两个数组 , 一直向左 , 和一直向右的最远到达数目 , 结果相加就行了。 向左时 , 如果为L , 则左一那个点的左边为R的话 , 加上左二那个点的结果 ,因为题目说取反 , 取两次不变 , 所以不影响左二左原创 2021-01-30 01:09:53 · 337 阅读 · 0 评论 -
Educational Codeforces Round 48 (Rated for Div. 2) C. Vasya And The Mushrooms 前缀和
原题链接题意 :给一个2n的矩阵,每一个点有一个权值,从左上角出发,时间t=0开始,连续的走,将矩阵走完,每走一步,t++,并且得到t当前格子的权值的值,问如何走,使得最走完得到的最大权值和是多少。思路 :暴力肯定会T啊 ,别问我为什么知道 (因为我试过了/(ㄒoㄒ)/~~)由于每个网格都必须经过一次,所以从左上角开始的路线只有两类:“↓→↑→↓→↑→” 折返以及在某一次往右时停止折返,一直往右直到最后一格,然后返回,一般的情况如下(也可能在第二行一直往右,到最后从第一行返回)所以预先处理折原创 2021-01-26 20:34:16 · 92 阅读 · 0 评论 -
Codeforces Round #697 (Div. 3) D. Cleaning the Phone(二分+前缀和)
原题链接思路 :因为bi的值就1 和 2 , 所以预先把bi值为1对应的ai分到一组al , bi值为2对应的ai分到一组bl,再从大到小排列, 接着对bl进行前缀和处理 , 记为pre , 然后对al进行for循环 ,循环中进行二分处理就行了 , 记录每种情况对应的ans , 最小值即为答案 。比赛的时候思路不对 , 吃下了没文化的苦果 /(ㄒoㄒ)/~~代码 :#include<bits/stdc++.h>using namespace std ;typedef long lo原创 2021-01-26 15:33:29 · 174 阅读 · 1 评论