CF861D
题目链接:http://codeforces.com/contest/861/problem/D
解题思路:
优雅的暴力。
对于输入的每一个号码,从短到长找出它的所有子串,用 vector 保存每个号码对应的所有子串,用 map 为所有子串做标记,输出答案的时候只需要按输入顺序遍历每个号码,遍历它保存在 vector 里面的所有子串,找出可行解即可。
AC代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = +;
const int inf = 0x7fffffff;
map<string,int> num_p;
string num;
vector<string> subnum[maxn];
int main(){
ios::sync_with_stdio(false);
int n;
bool can;
cin>>n;
for(int t=;t<=n;t++){
cin>>num;
for(int i=;i<=;i++){
for(int j=;j<=-i;j++){
string temp=num.substr(j,i);
if(num_p[temp]==){
num_p[temp]=t;
subnum[t].push_back(temp);
}
else if(num_p[temp]!=t) num_p[temp]=-; //有多个号码有这个子串,-1表示不可用
}
}
}
for(int t=;t<=n;t++){
for(int i=;i<subnum[t].size();i++){
if(num_p[subnum[t][i]]==t){
cout<<subnum[t][i]<<endl;
break;
}
}
} return ;
}
CF861D的更多相关文章
- cf861D 字典树+时间戳
好久没碰字典树之类的题了,搞起来有点生疏 /* 把所有母串的后缀加入字典树中 然后再扫一次所有母串的后缀,把后缀放到字典树中查询,找到第一个访问次数为1的结点返回即可 num在计数时,同一个母串的子串 ...
随机推荐
- c++ 如何开N次方?速解
c++ 如何开N次方?速解 直接上代码 #include <iostream> #include <cmath> using namespace std; typedef ...
- js的call方法
obj1.method.call(obj2,arg1,arg2,arg3...) call方法的作用就是 把obj1的方法放到obj2对象上使用 arg1,arg2....是参数,传给mehtod的哟 ...
- Spring IOC 之注册解析的 BeanDefinition
2019独角兽企业重金招聘Python工程师标准>>> DefaultBeanDefinitionDocumentReader.processBeanDefinition() 完成 ...
- 谈谈Java的线程池设计
在实际项目中,如果因为想异步执行暂时性的任务而不断创建线程是很浪费资源的事情(当一个任务执行完后,线程也没用了).这种情况下,最好是将任务提交给线程池执行. 所谓池,就是将管理某一种资源,对资源进行复 ...
- MongoDB学习(四):通过Java使用MongoDB
环境配置 在Java项目中使用MongoDB,需要在项目中引入mongo.jar这个包.下载地址:下载 请尽量下载较新的版本,本文用的是2.10.1. 连接MongoDB public synchro ...
- 2016年全球IC设计大厂营收排名:高通稳居龙头
TrendForce旗下拓墣产业研究所最新研究统计,2016年全球前十大无晶圆IC设计业者营收中,高通(QCT)仍然稳居龙头宝座.而前三大业者高通.新博通(Broadcom)与联发科合计营收占前十名营 ...
- nginx 反向代理转发导致css,js,图片失效
为什么80%的码农都做不了架构师?>>> 需要添加以下配置 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { proxy_pass htt ...
- 3DMAX导出到Unity坐标轴转换问题
这是我在3dmax中创建的1cm*1cm*1cm的立方体,右图为3dmax中的坐标系 当我们把这个立方体导入到unity中发现x轴意外的扭转了90度 为了解决这个问题,你需要对模型做出修正 1.选 ...
- CentOS 7 网络优化(升级内核、开启 BBR)
我之前介绍过关于 TCP 一些优化,包括安装使用 TCP 优化软件,这些适用于较低版本的 CentOS 系统,例如 CentOS 6,详细可参考<Linux 下的一些简单的 TCP 优化> ...
- 集成学习基础知识总结-Bagging-Boosting
理论 在概率近似正确((probably approximately correct)学习框架下.一个概念是强可学习的充分必要条件是这个概念是弱可学习(仅比随机猜测稍好). 要求 个体学习器要好而不同 ...