Atcoder Grand Contest 19b
2018-02-03 23:07
477 查看
题目在这里呀!
这题挺愉快的啊~
这题挺愉快的啊~
做了十分钟(一开始好像脑子糊掉了qwq)
后来一下就想到啦(好吧好像是瞟了眼日文题解的第一行
题意:有一个由小写字母组成的字符串A,可以将一个区间翻转一次,问可能得到多少个不同的字符串(可以不翻转)。
如果A[i]=A[j](i<j),那么翻转[i,j]一定和翻转[i+1,j-1]得到的结果是一样哒,所以就是不合法方案。
拿总方案减去不合法方案即可!(翻转[i,i]没有什么意义w)
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <cmath> #define ll long long using namespace std; char st[200200]; int len,sum[200200]; int main() { scanf("%s",st+1); len=strlen(st+1); for(int i=1;i<=len;i++) sum[st[i]-'a'+1]++; ll ans=(ll)len*(ll)(len-1)/2; for(int i=1;i<=len;i++){ int c=st[i]-'a'+1; sum[c]--; ans-=sum[c]; } printf("%lld\n",ans+1); return 0; }
相关文章推荐
- AtCoder Grand Contest 020 B - Ice Rink Game
- AtCoder Grand Contest 015 E - Mr.Aoki Incubator dp
- AtCoder Grand Contest 017 F - Zigzag 状压dp
- AtCoder Grand Contest 011 D - Half Reflector 乱搞
- AtCoder Grand Contest 002 D - Stamp Rally 并查集+二分答案+倍增
- AtCoder Grand Contest 004 F - Namori 贪心+构造
- AtCoder Grand Contest 022
- AtCoder Grand Contest 022C Remainder Games
- AtCoder Grand Contest 012 B - Splatter Painting(dp)
- AtCoder Grand Contest 002 D - Stamp Rally
- AtCoder Grand Contest 023 F - 01 on Tree
- AtCoder Grand Contest 015 C.Nuske vs Phantom Thnook
- AtCoder Grand Contest 017 B
- 【贪心】AtCoder Grand Contest 018 B - Sports Festival
- AtCoder Grand Contest 019 C - Fountain Walk (LIS)
- (AtCoder Grand Contest 019) C - Fountain Walk
- AtCoder Grand Contest 005【A栈模拟,B单调栈】
- AtCoder Grand Contest 017 D - Game on Tree
- AtCoder Grand Contest 011 E - Increasing Numbers 乱搞+高精度
- [AtCoder Grand Contest 019] F: Yes or No (agc019F)