博客
关于我
2020.3.8普及C组 自动匹配(auto)【纪中】【二分】
阅读量:337 次
发布时间:2019-03-04

本文共 833 字,大约阅读时间需要 2 分钟。

一看到此题就觉得是一个二分
但由于 s t r i n g string string不好处理,所以又用了个 m a p map map.
m a p map map是个很实用的东西,我也不太会
所以有不懂的请问

**#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>#include<map>        //头文件要加using namespace std;int w,n,wh,j,k,l,r,mid;string s[30001],fi;map<string,int>cha;   //定义mapint main(){       freopen("auto.in","r",stdin);	freopen("auto.out","w",stdout);	cin>>w>>n;	for(int i=1; i<=w; i++)	 {   	 	cin>>s[i];	 	cha[s[i]]=i;	 }	sort(s+1,s+1+w);    for(int i=1; i<=n; i++)     {        	cin>>wh>>fi;        k=0,l=1,r=w;        while(l<=r)     //进行二分         {            	mid=(l+r)/2;         	if(s[mid]<fi)			  l=mid+1;			else			  r=mid-1;         }        if(l==0||l+wh-1>w||s[l+wh-1].find(fi,0))  //实用的map		  cout<<-1<<endl;		else if(s[l+wh-1].find(fi,0)==0)		  cout<<cha[s[l+wh-1]]<<endl;     }    return 0;}**

转载地址:http://xjle.baihongyu.com/

你可能感兴趣的文章
angr学习笔记(13)(static_binary)
查看>>
windows环境利用start命令实现微信多开
查看>>
「CF149D」括号涂色 区间DP好题
查看>>
树状数组 模板总结
查看>>
「NOI2015」程序自动分析 并查集题解
查看>>
[JSOI2008]Blue Mary的战役地图 Hash题解
查看>>
Ubuntu修改终端上显示的用户名和主机名(详细步骤)
查看>>
教你写一手漂亮的伪代码(详细规则&简单实例)
查看>>
MySQL的基本体系和架构介绍
查看>>
MySQL数据备份实践和整理
查看>>
结构型设计在工作中的一些经验总结
查看>>
如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
查看>>
腾讯物联网操作系统正式开源,最小体积仅1.8 KB
查看>>
不懂数据库的码农不是好程序员!
查看>>
全球首个!阿里云开源批流一体机器学习平台Alink……
查看>>
必须要看的网上冲浪安全攻略!
查看>>
红点中国、红杉中国联合领投,WakeData惟客数据完成1000万美元B轮融资
查看>>
看完这篇操作系统,和面试官扯皮就没问题了!
查看>>
OpenStack发布Ussuri版本 实现智能开源基础设施的自动化
查看>>
整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划
查看>>