coderforce 525B. Pasha and String

原创 2015年11月18日 17:22:14
解题说明:此题是一道模拟题,题意是给出一个长度不超过2*10^5的字符串,进行m次反转。每次反转第a个到第len-a+1个字符之间这一段。求经过m次反转后的字符串是什么。其中len 为字符串的长度。具体做法是对于第i个字符,只有它之前的字符(包括自己)需要反转时,才会引起第i个字符的位置改变。所以我们只需要判断第i个字符的位置一共变了多少次,如果是奇数次,就让它改变位置;否则位置不变。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxm=2e5+10;
char s[maxm];
int v[maxm];
int main()
{
    while(scanf("%s",s)!=EOF)
    {
        int n,m;
        memset(v,0,sizeof(v));
        scanf("%d",&n);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&m);
            m--;
            v[m]++;
        }
        int len=strlen(s);
        int length=len;
        if(len%2==0)
        {
            len/=2;
        }
        else
        {
            len=(len/2)+1;
        }
        int sum=0;
        for(int i=0;i<len;i++)
        {
            sum+=v[i];
            if(sum%2==1)
            {
                swap(s[i],s[length-1-i]);
            }
        }
        printf("%s\n",s);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

CodeForce 525B Pasha and String(字符串)

Pasha and String time limit per test 2 seconds memory limit per test 256 megabytes input stand...

codeforces-525B Pasha and String

codeforces-525B Pasha and String

Codeforces Round #297 (Div. 2) B. Pasha and String 解题报告

Codeforces Round #297 (Div. 2)   B. Pasha and String 解题报告   题目分类:贪心策略   题目描述:给一个长度为N(2)的字符串,有M...

Codeforces Round #297 (Div. 2)B Pasha and String

ai和s+1-ai是对称的,所以反转偶数次的相当于没翻转,奇数次的要翻转,所以我们只要统计每个字母翻转的次数,用前缀和处理。...

contest: Codeforces Round #297 (Div. 2), problem: (B) Pasha and String

contest: Codeforces Round #297 (Div. 2), problem: (B) Pasha and String Pasha got a very beautiful st...

Codeforces_round297_B.Pasha and String

英文原题 Pasha got a very beautiful string s for his birthday, the string consists of lowercase Latin ...

#297 (div.2) B. Pasha and String

1.题目描述:点击打开链接 2.解题思路:本题也是一道模拟题,但如果不加一些加速措施会导致TLE。由于两次相同位置的交换等价于没有交换,因此要想办法运用这一性质,减少无所谓的交换操作。首先,统计每个...

Codeforces 557B Pasha and Tea【二分+思维】

Test.

CodeForces 557B-Pasha and Tea【模拟】

Pasha decided to invite his friends to a tea party. For that occasion, he has a large teapot with th...

Codeforces#297 B Pasha and Strini

题意:给一个字符串,交换m次,每次交换a[i]~n-a[i]+1的字符(例如a[i]=2,n-5,则s[2]和s[4]换)。 思路:暴力时间复杂度是10^5*10^5,pass。在交换中,我们可以先把...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:coderforce 525B. Pasha and String
举报原因:
原因补充:

(最多只允许输入30个字)