1941. Scary Martian Word

这道题 一个长度为3的字符串视为 一个 火星文 字母(ASCII 33-122) ,给出一个火星人认为恐怖的单词(由火星字母组成)

然后 给你一篇文章问你火星人认为恐怖的单词个数(可以乱序)

嗯,一开始题意理解错了。。。然后就错了

彬神说……是双端队列

然后写了,感觉自己真是对对对的……

嗯,过度自信,起始忽略了一个条件。

做法,因为是三个单词 122+122*10+122*100 也就差不多了

然后哈希。数组标记,

懒得写了……

贴代码……

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <sstream>
using namespace std;
typedef long long ll;
const double ESP = 10e-;
const int MAXN = + ; int vis[MAXN];
int num[MAXN];
int arr[MAXN];
int n;
char word[MAXN*+];
int main(){
// freopen("input.txt","r",stdin); int ans = ;
memset(num,,sizeof(num));
n = ;
gets(word);
int len = strlen(word);
for(int i = ;i < len;i+=){
int tt = (word[i]-) + (word[i+]-)*+(word[i+]-)*;
num[tt]++;
if(num[tt] == ){
n++;
}
}
gets(word);
len = strlen(word);
memset(arr,-,sizeof(arr));
int cnt = ;
for(int i = ;i < len;i+=){
int tt = (word[i]-) + (word[i+]-)*+(word[i+]-)*;
if(num[tt]){
arr[cnt++] = tt;
}
}
int l = ;
int r = ;
memset(vis,,sizeof(vis));
int nn = ;
while(l < cnt && r < cnt){
if(arr[r] != -){
vis[ arr[r] ]++;
if(vis[arr[r]] == num[arr[r] ]){
nn++;
}else if(vis[ arr[r] ] > num[ arr[r] ]){
while(l < cnt && arr[l] != arr[r]){
if(vis[arr[l] ] == num[arr[l] ]){
nn--;
}
vis[ arr[l] ]--;
l++;
}
vis[ arr[l]]--;
l++;
}
if(nn == n){
ans++;
vis[arr[l]]--;
nn--;
l++;
}
r++;
}else{
nn = ;
memset(vis,,sizeof(vis));
r++;
l = r;
}
}
printf("%d\n",ans);
return ;
}

不写注释的果然不是好程序员……

1941. Scary Martian Word的更多相关文章

  1. 哈希URAL 1941 - Scary Martian Word

    A - Scary Martian Word Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I ...

  2. Codeforces 149 E. Martian Strings

    正反两遍扩展KMP,维护公共长度为L时.出如今最左边和最右边的位置. . .. 然后枚举推断... E. Martian Strings time limit per test 2 seconds m ...

  3. xtu summer individual-4 D - Martian Strings

    Martian Strings Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForces. ...

  4. Word/Excel 在线预览

    前言 近日项目中做到一个功能,需要上传附件后能够在线预览.之前也没做过这类似的,于是乎就查找了相关资料,.net实现Office文件预览大概有这几种方式: ① 使用Microsoft的Office组件 ...

  5. C#中5步完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档.对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工作.特别是提到Web打印,这的确会很棘手.一般如果要想选 ...

  6. C# 给word文档添加水印

    和PDF一样,在word中,水印也分为图片水印和文本水印,给文档添加图片水印可以使文档变得更为美观,更具有吸引力.文本水印则可以保护文档,提醒别人该文档是受版权保护的,不能随意抄袭.前面我分享了如何给 ...

  7. 获取打开的Word文档

    using Word = Microsoft.Office.Interop.Word; int _getApplicationErrorCount=0; bool _isMsOffice = true ...

  8. How to accept Track changes in Microsoft Word 2010?

    "Track changes" is wonderful and remarkable tool of Microsoft Word 2010. The feature allow ...

  9. C#将Word转换成PDF方法总结(基于Office和WPS两种方案)

    有时候,我们需要在线上预览word文档,当然我们可以用NPOI抽出Word中的文字和表格,然后显示到网页上面,但是这样会丢失掉Word中原有的格式和图片.一个比较好的办法就是将word转换成pdf,然 ...

随机推荐

  1. (step6.3.5)hdu 1281(棋盘游戏——二分图的完美匹配)

    题目大意:本体是中文题.读者可以直接在OJ上看 解题思路: 1)完美匹配:所有的端点都是匹配点 2)对于二分图的完美匹配,我们需要用一个数组来存储匹配点.(而二分图的其他问题(我们则可以直接使用变量来 ...

  2. Runtime.getRuntime().exec中命令含有括号问题

    在写批量运行bat工具的时候.想起了之前写的定时小工具里面的运行方法. 使用Runtime.getRuntime().exec方法. Runtime.getRuntime().exec("c ...

  3. HDU 2570:迷瘴

    迷瘴 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. Currency System in Geraldion (Codeforces 560A)

    A  Currency System in Geraldion Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64 ...

  5. 利用 操作符特性 代替if判断语句

    参考:http://blog.csdn.net/speedme/article/details/22916181 1.&&的判断特性 #include <stdio.h> ...

  6. filter过滤器的使用

    从J2EE1.3开始,Servlet2.3规范中加入了对过滤器的支持.过滤器能够对目标资源的请求和响应进行截取.过滤器的工作方式分为四种,下面让我们分别来看看这四种过滤器的工作方式: 1.reques ...

  7. 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS

    WS_CLIPCHILDREN,使得父窗体在绘制时留出其上的子窗体的位置不去画它,而那片区域留着子窗体去画.WS_CLIPSIBLINGS,必须用于子窗体,使得该子窗体在收到WM_PAINT时同时令其 ...

  8. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  9. Net::OpenSSH 模块使用

    use Net::OpenSSH; my $host = "$ip"; my $user = 'root'; my $passphrase = 'uxxxxxD'; my $key ...

  10. python模块学习---HTMLParser(解析HTML文档元素)

    HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析. 本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义 ...