哈理工第六届程序设计大赛 F 苦逼的单身狗(滑窗)
2016-11-20 21:14
232 查看
思路:比较显然的滑窗?需要注意的是左边界移过去的时候要判一下是否那个字符是LOVE唯一的
Submit: 115 Solved: 54
[Submit][Status][Web
Board]
双11又到了,小Z依然只是一只单身狗,对此他是如此的苦恼又无可奈何。
为了在这一天脱单小Z决定向女神表白,但性格腼腆的小Z决定隐晦一点,截取一段包含'L'、'O'、'V'、'E'的英文。(顺序不限)
小Z想起之前小D送给他一本英文书,决定在这里面截取一段话,小Z发现有好多种方案来截取这段话。
你能知道小Z能有多少种方案截取这段话么?
为了简化问题,英文文本讲不会出现空格、换行、标点符号及只有大写的情况。
本题有T组数据。
对于每组数据只有一行文本。
1≤T≤20
1≤文本长度≤100000
ILOVE
ILOVEA
ILOVEAC
ILOVEACM
LOVE
LOVEA
LOVEAC
LOVEACM
对于第三组数据共有如下4种截取方案
ALBECVO
ALBECVOD
LBECVO
LBECVOD
#include<bits/stdc++.h> using namespace std; const int maxn = 100005; char s[maxn]; char ss[10] = "LOVE"; int ans,vis[maxn],r,cnt; int main() { int T; scanf("%d",&T); while(T--) { memset(vis,0,sizeof(vis)); r=cnt=0; ans = 0; scanf("%s",s); int len = strlen(s); for(int i = 0;i<len;i++) { while(cnt!=4&&r<len) { for(int j = 0;j<4;j++) { if(s[r]==ss[j]) { if(!vis[j]) cnt++; vis[j]++; } } r++; } if(cnt!=4) break; ans += len-r+1; for(int j = 0;j<4;j++) { if (s[i]==ss[j]) { vis[j]--; if (!vis[j]) cnt--; } } } printf("%d\n",ans); } }
Problem F: 苦逼的单身狗
Time Limit: 1 Sec Memory Limit: 32 MBSubmit: 115 Solved: 54
[Submit][Status][Web
Board]
Description
双11又到了,小Z依然只是一只单身狗,对此他是如此的苦恼又无可奈何。
为了在这一天脱单小Z决定向女神表白,但性格腼腆的小Z决定隐晦一点,截取一段包含'L'、'O'、'V'、'E'的英文。(顺序不限)
小Z想起之前小D送给他一本英文书,决定在这里面截取一段话,小Z发现有好多种方案来截取这段话。
你能知道小Z能有多少种方案截取这段话么?
为了简化问题,英文文本讲不会出现空格、换行、标点符号及只有大写的情况。
Input
本题有T组数据。
对于每组数据只有一行文本。
1≤T≤20
1≤文本长度≤100000
Output
输出结果,并换行。Sample Input
3ILOVEACMLOVELOVEALBECVOD
Sample Output
8154
HINT
对于第一组数据共有如下8种截取方案ILOVE
ILOVEA
ILOVEAC
ILOVEACM
LOVE
LOVEA
LOVEAC
LOVEACM
对于第三组数据共有如下4种截取方案
ALBECVO
ALBECVOD
LBECVO
LBECVOD
相关文章推荐
- 哈理工软件学院"兆方美迪"杯第六届程序设计大赛【高年级组】--决赛 Problem F: 苦逼的单身狗 By Assassin
- 哈理工第六届程序设计大赛 D 经商 (并查集+背包)
- 哈理工第六届程序设计大赛 G 逃脱(BFS)
- 哈理工第六届程序设计大赛 I 旅行 (最短路)
- 第六届程序设计大赛 T1 异形卵
- 南京林业大学“未来之星”第六届程序设计大赛(决赛)试题E 参考代码
- nyoj 712 探 寻 宝 藏(双线dp 第六届河南省程序设计大赛)
- 第六届程序设计大赛 外星人的供给站(区间选点 贪心)
- 打酱油路过,吉首大学第六届新星杯暨程序设计大赛-题解-Java
- 安工第六届程序设计大赛(复赛)
- 哈理工 第五届程序设计大赛——B.沼跃鱼
- 奥斯卡奖章——第六届中山大学程序设计大赛
- 南京林业大学“未来之星”第六届程序设计大赛(决赛)试题F 参考代码
- nyoj 716 River Crossing 第六届河南省程序设计大赛
- 湖南省第六届 中信软件教育杯 大学生程序设计大赛试题 第三题 数字整除
- 第六届河南省程序设计大赛
- 湖南省第六届大学生程序设计大赛原题 F Biggest Number (UVA1182)
- 湖南省第六届 中信软件教育杯 大学生程序设计大赛试题 第二题 弟弟的作业
- 南京林业大学“未来之星”第六届程序设计大赛(决赛)试题G 参考代码
- 湖南省第六届程序设计大赛D(台球碰撞)