题目链接: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(二进制枚举暴力)相关推荐

  1. ACM-ICPC 2018 北京赛区网络预赛(A B C D H)

    ACM-ICPC 2018 北京赛区网络预赛(A B C D H) 自闭症患者 A. Saving Tang Monk II 题目链接 题面: 划掉 题意: 大搜索,队友写的 思路: 大搜索,队友写的 ...

  2. 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,直到 ...

  3. ACM-ICPC 2018 南京赛区网络预赛

    轻轻松松也能拿到区域赛名额,CCPC真的好难 An Olympian Math Problem 问答 只看题面 54.76% 1000ms 65536K Alice, a student of gra ...

  4. ACM-ICPC 2018 焦作赛区网络预赛 J(二分+JAVA高精)

    传送门 题面: 65536K Jessie and Justin want to participate in e-sports. E-sports contain many games, but t ...

  5. ACM-ICPC 2018 沈阳赛区网络预赛 Spare Tire(容斥+公式推)

    A sequence of integer \lbrace a_n \rbrace{an​} can be expressed as: \displaystyle a_n = \left\{ \beg ...

  6. 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 ...

  7. ACM-ICPC 2018 徐州赛区网络预赛 D. Easy Math

    Easy Math 问答问题反馈 只看题面 16.47% 1000ms 262144K Given a positive integers nn , Mobius function \mu(n)μ(n ...

  8. 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)= ...

  9. 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 ...

  10. ACM-ICPC 2018 徐州赛区网络预赛G (单调队列)

    传送门 题面: There's a beach in the first quadrant. And from time to time, there are sea waves. A wave (  ...

最新文章

  1. JAVA服务器搭建之问题总结
  2. urb数据结构【转】
  3. CSS 之 控制图片与文字对齐
  4. 《卓有成效的程序员》----读书笔记一
  5. 微信小程序 PDF下载打印
  6. SpringBoot+Mybatis加载Mapper.xml文件的两种方式
  7. Git标签tag及tag远程同步
  8. 经典指针程序互换(一)
  9. Samba配置文件常用参数详解-OK
  10. NET对象的XML序列化和反序列化
  11. JAVA压缩/解压ZIP/7Z文件(by Apache Commons Compress)
  12. 嵌入式Linux系统的指纹识别,嵌入式指纹识别系统设计
  13. 南大计算机学硕复试,2017年南京大学计算机科学与技术系考研复试名单
  14. win10配置计算机时强制关机,老鸟讲解Win10设置远程系统强制关机的详尽处理要领...
  15. 使用Scratch进行少儿编程
  16. androidstudio配置夜深模拟器
  17. codeforces Intel Code Challenge Final Round (div.1 + div.2 combined)
  18. 学计算机文科好还是理科好,大学毕业之后才明白,文科生和理科生的差距有多大?高中生注意...
  19. 大屏LCD12864_stc8a8k使用说明
  20. 物业管理系统设计与实现

热门文章

  1. otg usb 定位_USB接口中的秘密——强大的OTG功能
  2. 取消移动端按钮按钮点击时的蓝色背景
  3. LaTeX如何输入空集
  4. JAVA_SE实现桌面化功能
  5. [cnblogs镜像]苹果操作系统名称演变史 新名称macOS
  6. 【AMAD】beaker -- 用于session和缓存的WSGI中间件
  7. matlab句柄无效怎么解决,新编MATLABSimulink自学一本通第21章 MATLAB程序编译.ppt
  8. Arm 架构的过程调用标准
  9. Recovery流程梳理
  10. N款在线图片处理工具,让你的效率翻倍