798B

来源:互联网 发布:php mysql支持 编辑:程序博客网 时间:2024/06/14 05:52

自己当时打算用bfs,,结果MLE了。。

想想简直太傻了。。

没有利用好条件,,条件说只会把最前面的放到最后面去。。

这个时候就应该想到之前看过的,,把两个字符串合并在一起啊。。(这个不是就是KMP的吗。。)(看来是思维没有掌握。。)

分析:肯定是把所有串变成其中一个原本就有的串是最优的。。。(我无法证明。。我是弄了一个各种可能。。)


我的代码奇丑务必,放在最后。。







#include<iostream>#include<string>using namespace std;void change(string &s){s=s.substr(1)+s.substr(0,1);//这样用。。。  我居然还弄了个string  tmp。}int main(){int n;cin>>n;string s[n];for(int i=0;i<n;i++)cin>>s[i];int ans=0x7fffffff,sum;for(int i=0;i<n;i++){sum=0;for(int j=0;j<n;j++){string t=s[j];while(t!=s[i]){change(t);sum++;if(sum>3000){ans=-1;break;}}}ans=min(ans,sum);}cout<<ans<<endl;}


 #include <bits/stdc++.h>using namespace std;typedef unsigned long long ll; int main() { int n; cin>>n; string s; vector<string>v,u; for(int i=0;i<n;i++) { cin>>s;  v.push_back(s);   s+=s;   u.push_back(s);  } int a; int m=10000; for (int i=0;i<n;i++) { int b=0; for (int j=0;j<n;j++)    { a=u[j].find(v[i]);//注意 string 的find函数返回的是数组的下标。。是会有0 的,在这里刚好是改变次数。      if (a==-1) {cout<<-1; return 0;}      b+=a;    }    m=min(b,m); } cout<<m;    }


我使用二分的。。

#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<string>#include<cstring>#include<iomanip>#include<iostream>#include<stack>#include<cmath>#include<map>#include<vector>#define ll long long#define inf 0x3f3f3f3f#define INF 1000000000#define bug1 cout<<"bug1"<<endl;#define bug2 cout<<"bug2"<<endl;#define bug3 cout<<"bug3"<<endl;using namespace std;#define sf scanf#define pf printf#define mem(a,b) memset(a,b,sizeof(a));string s[55];vector<string>name;int n;int ID(string a){    for(int i=0;i<name.size();++i){        if(a==name[i])return i+1;    }    name.push_back(a);    return name.size();}int a[55];int maxx;int len;bool ok(int x){    for(int i=1;i<=maxx;++i){        int tmp=0;        for(int j=1;j<=n;++j){            if(a[j]>i){                tmp+=maxx-(a[j]-i);            }            else tmp+=i-a[j];        }        if(tmp<=x){ return true;}    }    return  false;}int main(){    while(cin>>n){        cin>>s[1];        for(int i=2;i<=n;++i){            cin>>s[i];        }         len=s[1].length();        string  tmp;        maxx=0;        tmp=s[1];        for(int i=0;i<len;++i){            maxx=max(maxx,ID(tmp));            string ttmp=tmp.substr(1,len-1);            tmp=ttmp+tmp[0];        }        for(int i=2;i<=n;++i){            int flag=1;            for(int j=0;j<maxx;++j){                if(s[i]==name[j]){                    flag=0;break;                }            }            if(flag){                pf("-1\n");return 0;            }        }        for(int i=1;i<=n;++i){            a[i]=ID(s[i]);        }        int l=0,r=1e5;        while(l<r){            int mid=(r+l)>>1;            if(ok(mid))r=mid;            else l=mid+1;        }        pf("%d\n",r);    }}



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 经典家庭伦txt丝母韵欲电子书 经典家庭伦txt丝母韵欲彩图 经典家庭伦txt丝母韵欲txt下载 经典家庭伦txt丝母韵欲d下载 经典家庭伦txt丝母韵欲视频 长篇都市情感小说 经典家庭伦全文 久九九久精品免费视频 91在线中文字幕香蕉人人视频 经典家庭伦txt岳丝母小丹韵欲阅读 碰超上线视频人人视频千人 91青青碰起上线视频人人 车里太挤姑妈坐我腿上做小说 经典家庭伦txt岳丝母小丹韵欲小说 我的丝母欲韵第六节 91在线中文久人人视频动漫 悉母全集动漫完整视频 类别中文动漫中的视频 腐母动漫全集视频时长 86 母汁视频动漫 久99久视频精品免费观看38 难以忍耐动漫视频中文 久九九久手机视频 乳娘家教动漫无删减在线播放 久99久精品视频只有精品 母恋人2017中文 久九九久视频精品6思思 巨母3动漫在线 久99久视频精品免费视频动漫 水柔姐大战儿子视频91 久九九久视频精品 99视频国内99视频在线观 横恋人母日语中字 玖玖视频热线视频大全 九九视频热线视频大全动漫 99ra视频这里只精品 九九久视频热线视频 九九久视频热线视频精品 九九视频本韩视频 9久9久女女视频精品mp4 久99久精品免费观看15