ACM-ICPC 2018 北京赛区网络预赛 B Tomb Raider(二进制枚举暴力)
题目链接:http://hihocoder.com/problemset/problem/1829
题目大意:给n个字符串,这n个字符串都是环形的,问这n个字符串的最长公共子序列是什么,如果有多个的话按照字典序从小到大排序
题目思路:直接上去就暴力..每个串每个字母都做一次首字母,然后将每个串的子序列用二进制枚举全都求出来。最后出现过n次的子序列插入vector,按照长度和字典序进行排序,如果没有符合条件的就输出0,有条件的就输出v[0]就好
以下是代码:
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define per(i,a,b) for(int i=a;i>=b;i--)
const int MAXN = 1e5+5;
string s[15];
map<string,int>mp,vis;
vector<string>v;
string change(string s,int pos){string temp=s.substr(pos);temp+=s.substr(0,pos);return temp;
}
void dfs(string t){vis.clear();int len=t.length();int lenn=(1<<len)-1;rep(k,0,len-1){string tmp=change(t,k);rep(i,1,lenn){string ans="";rep(j,0,len-1){if((1<<j)&i){ans+=tmp[j];}}if(!vis[ans]){vis[ans]=1;mp[ans]++;}} }
}
bool cmp(string a,string b){if(a.length()==b.length())return a<b;return a.length()>b.length();
}
int main()
{int n;while(~scanf("%d",&n)){mp.clear();v.clear();rep(i,1,n){cin>>s[i];dfs(s[i]);}map<string,int>::iterator it;for(it=mp.begin();it!=mp.end();it++){if(it->second==n){v.push_back(it->first);}}sort(v.begin(),v.end(),cmp);if(!v.empty()){cout<<v[0]<<endl;}else{printf("0\n");}}return 0;
}
ACM-ICPC 2018 北京赛区网络预赛 B Tomb Raider(二进制枚举暴力)相关推荐
- ACM-ICPC 2018 北京赛区网络预赛(A B C D H)
ACM-ICPC 2018 北京赛区网络预赛(A B C D H) 自闭症患者 A. Saving Tang Monk II 题目链接 题面: 划掉 题意: 大搜索,队友写的 思路: 大搜索,队友写的 ...
- ICPC 2018 焦作赛区网络预赛G Give Candies 组合数学隔板法+欧拉降幂
G Give Candies 计蒜客 G Give Candies 题意 n n n个糖果, n n n个人从 1 1 1~ n n n编号,每次给一个人发糖可以发任意数量但不能小于 1 1 1,直到 ...
- ACM-ICPC 2018 南京赛区网络预赛
轻轻松松也能拿到区域赛名额,CCPC真的好难 An Olympian Math Problem 问答 只看题面 54.76% 1000ms 65536K Alice, a student of gra ...
- ACM-ICPC 2018 焦作赛区网络预赛 J(二分+JAVA高精)
传送门 题面: 65536K Jessie and Justin want to participate in e-sports. E-sports contain many games, but t ...
- ACM-ICPC 2018 沈阳赛区网络预赛 Spare Tire(容斥+公式推)
A sequence of integer \lbrace a_n \rbrace{an} can be expressed as: \displaystyle a_n = \left\{ \beg ...
- ACM-ICPC 2018 徐州赛区网络预赛 Features Track(STL二维map)
Morgana is learning computer vision, and he likes cats, too. One day he wants to find the cat moveme ...
- ACM-ICPC 2018 徐州赛区网络预赛 D. Easy Math
Easy Math 问答问题反馈 只看题面 16.47% 1000ms 262144K Given a positive integers nn , Mobius function \mu(n)μ(n ...
- ACM-ICPC 2018 徐州赛区网络预赛 D. EasyMath
ACM-ICPC 2018 徐州赛区网络预赛 D. EasyMath 做法: \[f(m,n) = \sum _{i=1}^{m} \mu(in) = \sum_{i=1}^{m}[gcd(i,n)= ...
- ACM-ICPC 2018 焦作赛区网络预赛 H题 String and Times(SAM)
Now you have a string consists of uppercase letters, two integers AA and BB. We call a substring won ...
- ACM-ICPC 2018 徐州赛区网络预赛G (单调队列)
传送门 题面: There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( ...
最新文章
- JAVA服务器搭建之问题总结
- urb数据结构【转】
- CSS 之 控制图片与文字对齐
- 《卓有成效的程序员》----读书笔记一
- 微信小程序 PDF下载打印
- SpringBoot+Mybatis加载Mapper.xml文件的两种方式
- Git标签tag及tag远程同步
- 经典指针程序互换(一)
- Samba配置文件常用参数详解-OK
- NET对象的XML序列化和反序列化
- JAVA压缩/解压ZIP/7Z文件(by Apache Commons Compress)
- 嵌入式Linux系统的指纹识别,嵌入式指纹识别系统设计
- 南大计算机学硕复试,2017年南京大学计算机科学与技术系考研复试名单
- win10配置计算机时强制关机,老鸟讲解Win10设置远程系统强制关机的详尽处理要领...
- 使用Scratch进行少儿编程
- androidstudio配置夜深模拟器
- codeforces Intel Code Challenge Final Round (div.1 + div.2 combined)
- 学计算机文科好还是理科好,大学毕业之后才明白,文科生和理科生的差距有多大?高中生注意...
- 大屏LCD12864_stc8a8k使用说明
- 物业管理系统设计与实现