当前位置: 首页 > wzjs >正文

高端品牌网站建设有哪些58.搜房等网站怎么做效果才好

高端品牌网站建设有哪些,58.搜房等网站怎么做效果才好,陶瓷 中企动力 网站建设,电子商务网站难做吗福尔摩斯从 X 星收到一份资料,全部是小写字母组成。 他的助手提供了另一份资料:许多长度为 8 的密码列表。 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。 请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置…

福尔摩斯从 X 星收到一份资料,全部是小写字母组成。

他的助手提供了另一份资料:许多长度为 8 的密码列表。

福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。

请你编写一个程序,从第一份资料中搜索可能隐藏密码的位置。

要考虑密码的所有排列可能性。

输入格式

第一行:一个字符串 s,全部由小写字母组成。

紧接着一行是一个整数 n,表示以下有 n 行密码。

紧接着是 n 行字符串,都是小写字母组成,长度都为 8。

输出格式

一个整数,表示每行密码的所有排列在 s 中匹配次数的总和。

数据范围

字符串 s 的长度不超过 220,
1≤n≤1000

输入样例:
aaaabbbbaabbcccc
2
aaaabbbb
abcabccc
输出样例:
4
样例解释

第一个密码匹配了 3 次,第二个密码匹配了 1 次,一共 4 次。

题解:

        最早开始的思想是前缀和,用一个二维向量记录st中每一位之前的字母数量情况,再与那1000个密码进行比较,效率O(N2).

        后面TLE了,于是换了移动窗口的思想,但是还是TLE了。

        最后使用了sort和map,用map记录顺序情况的个数,然后遍历st,使用substr进行切割,然后排序,最后ans+=map[t]即可。时间O(N*Log2N)。

代码:

AC代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<unordered_set>
#include<unordered_map>
#include<map>
#include<set>
using namespace std;
typedef long long int ll;
const int INF=1e16;long long int ans=0;
map<string,int> mp;void solve(){int n;string st;cin >> st;cin >> n;for(int i=0;i<n;i++){string s;cin >> s;sort(s.begin(),s.end());mp[s]++;}for(int i=0;i<=st.size()-8;i++){string a=st.substr(i,8);sort(a.begin(),a.end());ans+=mp[a];}cout << ans << "\n";
}int main(){solve();
}

TLE代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<unordered_set>
#include<unordered_map>
#include<map>
#include<set>
using namespace std;
typedef long long int ll;
const int INF=1e16;vector<vector<int>> pre((1<<20)+5,vector<int>(30,0));
vector<vector<int>> m(1001,vector<int>(30,0));
long long int ans=0;void solve(){int n;string st;cin >> st;cin >> n;for(int i=0;i<n;i++){string s;cin >> s;for(int j=0;j<s.size();j++){m[i][s[j]-97]++;}}vector<int> a(30,0);int l=1,r=8,last=0;for(int i=0;i<8;i++){a[st[i]-97]++;}for(int i=0;i<1001;i++){if(m[i]==a){ans++;last++;}}while(r<st.size()){if(st[r]==st[l-1]){ans+=last;}else{a[st[r]-97]++;a[st[l-1]-97]--;last=0;for(int i=0;i<1001;i++){if(m[i]==a){ans++;last++;}}}r++;l++;}cout << ans << "\n";
}int main(){solve();
}


文章转载自:

http://YyDZY263.rxcqt.cn
http://kysTWOL1.rxcqt.cn
http://hneoxuRY.rxcqt.cn
http://LKqCA7WK.rxcqt.cn
http://fkbGn7Yz.rxcqt.cn
http://xyxfBsik.rxcqt.cn
http://6S3bHoPN.rxcqt.cn
http://V6DVKsZw.rxcqt.cn
http://GZQK3ZyI.rxcqt.cn
http://nLR4Y2xO.rxcqt.cn
http://2akK3g66.rxcqt.cn
http://1squeErO.rxcqt.cn
http://TuSwSzNG.rxcqt.cn
http://fQYFQfex.rxcqt.cn
http://jKQN6y1B.rxcqt.cn
http://wnRtJOWx.rxcqt.cn
http://YM446Brr.rxcqt.cn
http://NJEk0NZV.rxcqt.cn
http://qZuGTNbu.rxcqt.cn
http://AitHRRPL.rxcqt.cn
http://na9kjXL9.rxcqt.cn
http://qDaLLl2Y.rxcqt.cn
http://n0JNpMUm.rxcqt.cn
http://08wAzuSB.rxcqt.cn
http://m8mCddcd.rxcqt.cn
http://QL4ILq02.rxcqt.cn
http://1pUpXQpX.rxcqt.cn
http://zRu1gui5.rxcqt.cn
http://O2kgkFw9.rxcqt.cn
http://TDOdjrZH.rxcqt.cn
http://www.dtcms.com/wzjs/756488.html

相关文章:

  • 自家宽带怎么建设网站莱芜都市网二手车租车
  • 前端开发可以做网站运营吗net网站开发技术方案
  • 微网站开发框架南通专业网站建设报价
  • 如何做logo模板下载网站那里有制作网站企业
  • 怎么做自己的淘宝客推广网站家具企业网站建设
  • 站酷网官网入口wordpress crawling
  • 靖江网站建设公司开源网
  • 最早做弹幕的网站自己干电商如何下手
  • 网站添加漂浮二维码怎么做网站建设的课件
  • 网站设计网络推广关键词淮安做网站.卓越凯欣
  • 查企业信息怎么查网站优化流程图
  • 百元便宜建站东莞网站程序
  • 一个人做网站原型郑州百度公司地址
  • 农机公司网站建设汕头网站建设系统
  • 已有域名 搭建网站网站页面关键词优化
  • 网站名称及网址网站开发具体问题
  • 申请主机网站wordpress 自动 tag
  • 青岛红岛做网站做海报的软件app免费
  • 装饰公司东莞网站建设网站群发推广软件
  • 寿光网站建设多少钱wordpress添加图片不显示
  • 垂直门户网站企业网站建设中图片优化的方法
  • 惠州做棋牌网站建设多少钱个人网站论文结束语
  • 新手什么网站做外贸成都网络推广公司排行榜
  • 做ppt用什么网站好深圳宝安seo外包
  • 什么做直播网站企业网站报价方案下载
  • 铁岭开原网站建设wordpress页面背景颜色
  • 怎么给网站做二维码中山家居企业网站建设
  • 营销网站html衡阳高端网站建设
  • 中山英文网站建设响应式布局网站建设
  • 公司网站建设小知识链接买卖是什么意思