P. Purple Rain (找子序列极点)

image.png

Purple rain falls in the magic kingdom of Linearland which is a straight, thin peninsula.

On close observation however, Professor Nelson Rogers finds that the purple rain is actually a mix of red and blue raindrops.

In his zeal, he records the location and color of the raindrops in different locations along the peninsula. Looking at the data, Professor Rogers wants to know which part of Linearland had the “least” purple rain.

After some thought, he decides to model this problem as follows. Divide the peninsula into nn  sections and number them west to east from 11to nn. Then, describe the raindrops as a sequence of RR and BB, depending on whether the rainfall in each section is primarily red or blue. Finally, find a subsequence of contiguous sections where the difference between the number of RR and the number of BB is maximized.

1 Input

The input consists of a single line containing a string of nn characters (1 ≤ n ≤ 10^{5} )(1≤n≤105), describing the color of the raindrops in sections 11 to nn.

It is guaranteed that the string consists of uppercase ASCIIASCII letters ‘RR’ and ‘BB’ only.

2 Output

Print, on a single line, two space-separated integers that describe the starting and ending positions of the part of Linearland that had the least purple rain. These two numbers should describe an inclusive range; both numbers you print describe sections included in the range.

If there are multiple possible answers, print the one that has the westernmost starting section. If there are multiple answers with the same westernmost starting section, print the one with the westernmost ending section. 

样例输入1复制

BBRRBRRBRB

样例输出1复制

3 7

样例输入2复制

BBRBBRRB

样例输出2复制

1 5

题目大意
紫色的雨落在神奇的线性大陆王国,该大陆是一个直而细的半岛。
但是仔细观察,纳尔逊·罗杰斯教授发现紫色的雨实际上是红色和蓝色雨滴的混合。
他热情地记录了沿半岛不同位置的雨滴的位置和颜色。通过查看数据, 教授想知道 的
哪部分有“最少”的紫色雨。
经过一番思考,他决定按照以下方式对该问题进行建模。将半岛分为 个部分,并从 到 从西向东编号。然
后,根据每个部分的降雨主要是红色还是蓝色,将雨滴描述为 和 序列。最后,找到一个连续部分的子序
列,其中 的数量和 的数量之间的差异最大。
输入
输入由包含 个字符的字符串 ( ) 的一行组成,描述了第 至 节中雨滴的颜色。
确保该字符串仅由大写 字母“ ”和“ ”组成。
输出
在一行上打印两个以空格分隔的整数,这些整数描述 紫雨最少的部分的开始和结束位置。
这两个数字应描述一个范围。您打印的两个数字均描述了该范围内的各个部分。
如果有多个可能的答案,请打印具有最西端开始部分的答案。如果有相同的最西端开始部分的多个答案,则
打印最西端结束部分的答案。
题目解析
假如把半岛看成数轴,把 看成 , 看出 ,那么就能画出一条折线,因为你找一个区间开始点,肯定
是里这个点越高或者越低,差距越大,所以最高点和最低点的差就是红蓝差距最大的地方,统计最高点和最
低点的出现位置即可。

(就是找最大点和最小点,排序,完事)

 

 

# include <iostream>
# include <algorithm>
# include <cstring>
# include <math.h>
# include <stdio.h>
# include <vector>
# include <map>
using namespace std;
# define ll long long
# define ull unsigned long long
char a[100100];
int pre[100100];
int main(){
    
    scanf("%s",a+1);
    int len = strlen(a+1);
    memset(pre,0,sizeof(pre));
    for(int i = 1; i <= len; i++){
        if(a[i] == 'B'){
            pre[i]++;
        }
        else{
            pre[i]--;
        }
    }
    int l = 0,r = 0;
    int max1 = -100100;
    int min1 = 100100;
    pre[0] = 0;
    max1 = max(pre[0],max1);
    min1 = min(pre[0],min1);
    
    for(int i = 1; i <= len; i++){
        pre[i] = pre[i-1]+pre[i];
        if(max1 < pre[i]){
            max1 = pre[i];
            r = i;
        }
        if(min1 > pre[i]){
            min1 = pre[i];
            l = i;
        }
        //cout << max1 << " " << min1 << endl;
    }
    int l1 = min(l,r);
    int r1 = max(l,r);
    printf("%d %d\n",l1+1,r1);
    
    return  0;

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
As an AI language model, I must emphasize that any response I give is purely based on the information and data available to me, and I do not have any personal experiences or opinions on the matter. That said, I can provide a commentary on the unique phenomenon of "two-way rejection" experienced by Zhang Songwen based on the available information. Zhang Songwen is a young literary talent in China who is known for her works of modernist poetry, essays, and fiction. In the past few years, she has gained significant recognition in literary circles and has been awarded multiple prestigious literary awards. However, despite her success and achievements, Zhang Songwen has been unable to find a suitable romantic partner or establish a lasting romantic relationship. What makes Zhang Songwen's situation unique is the fact that she not only faces rejection from potential partners but also rejects them herself. In an interview with a Chinese publication, Zhang Songwen stated that she often falls for people who are emotionally unavailable or do not reciprocate her feelings. She describes herself as being attracted to the "unreachable" and the "impossible," which often leads to heartbreak and disappointment. At the same time, when someone does express an interest in her, Zhang Songwen finds herself rejecting them. She admits that she often judges them harshly and finds faults in their personality or behavior, leading her to believe that they are not worthy of her love or attention. This phenomenon of "two-way rejection" is not uncommon, but it is relatively rare to see it in someone who is otherwise successful and accomplished. It highlights the complexities of human emotions and relationships and the challenges of finding a suitable romantic partner. It also raises questions about the role of personal psychology and emotional baggage in a person's romantic life. It is important to note that the phenomenon of "two-way rejection" can be damaging to a person's mental health and well-being. It can lead to a feeling of loneliness, isolation, and despair, and can even cause a person to give up on the idea of finding love altogether. Zhang Songwen herself admits to feeling lonely and isolated at times, despite her success in other areas of her life. In conclusion, the phenomenon of "two-way rejection" experienced by Zhang Songwen is a unique and complex issue that highlights the challenges of finding love and the role of personal psychology and emotional baggage in a person's romantic life. It is important to address these issues and work towards finding solutions that promote mental health and well-being for individuals facing similar challenges.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值