成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

2021/11/21 ICPC沈陽(yáng)站個(gè)人題解B,E,F,J(附賽時(shí)記錄)

Cristic / 2361人閱讀

摘要:題解首先,容易觀察到將轉(zhuǎn)到,,,,狀態(tài),并將進(jìn)行與上相同操作后得到了再將轉(zhuǎn)至,,,,所需要的步數(shù)即為答案。

E.Edward Gaming, the Champion

題目大意:給定一個(gè)全是小寫字符的字符串,找出有幾個(gè)為 edgnb 的字串。

題解:暴力模擬即可。

#include #define int long longusing namespace std;int n,m,ans;void solve(){    string s;    cin>>s;    string sr="edgnb";    for(int i=0;i+5<=s.size();i++){        int flag=1;        for(int j=0;j<5;j++){            if(s[i+j]!=sr[j]) flag=0;        }    	if(flag) ans++;    }    cout<<ans;}signed main(){    int t=1;    //cin>>t;    while(t--)        solve();    }

F.Encoded Strings I

隊(duì)友寫的,先放個(gè)代碼,等隊(duì)友寫題解

#include #define int long longusing namespace std;const int N=1e5+5;string s;int f[N];set <char> se;int vis[N];void change(int len){    se.clear();    for(int i=len;i>=0;i--)    {        if(se.count(s[i])==0) f[s[i]-"a"]=se.size();         se.insert(s[i]);    }}string sr[N];char son[33]={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};signed main(){    int n;    cin>>n;    cin>>s;    for(int i=1;i<=n;i++)    {        change(i-1);        for(int j=0;j<i;j++)        {            sr[i]+=son[f[s[j]-"a"]];            //cout<        }        //cout<    }    sort(sr+1,sr+1+n);    cout<<sr[n]<<endl;}

J.Luggage Lock

題目大意:有一個(gè)鎖,起始狀態(tài)是 a 0 a_0 a0?, a 1 a_1 a1?, a 2 a_2 a2?, a 3 a_3 a3? ,每次只能將相鄰的幾個(gè)位進(jìn)行順時(shí)針旋轉(zhuǎn)一次或逆時(shí)針旋轉(zhuǎn)一次,請(qǐng)問(wèn)移動(dòng)到 b 0 b_0 b0?, b 1 b_1 b1?, b 2 b_2 b2?, b 3 b_3 b3? 最少需要幾步。

題解:

首先,容易觀察到將 a 0 a_0 a0?, a 1 a_1 a1?, a 2 a_2 a2?, a 3 a_3 a3? 轉(zhuǎn)到 0,0,0,0,狀態(tài),并將 b 0 b_0 b0?, b 1 b_1 b1?, b 2 b_2 b2?, b 3 b_3 b3? 進(jìn)行與上相同操作后得到了 c 0 c_0 c0?, c 1 c_1 c1?, c 2 c_2 c2?, c 3 c_3 c3? 再將 c 0 c_0 c0?, c 1 c_1 c1?, c 2 c_2 c2?, c 3 c_3 c3?轉(zhuǎn)至 0,0,0,0,所需要的步數(shù)即為答案。
發(fā)現(xiàn)所有的答案不超過(guò)10000種,對(duì)于每次輸入的a與b,我們都可以計(jì)算出 c 0 c_0 c0?, c 1 c_1 c1?, c 2 c_2 c2?, c 3 c_3 c3? = b 0 b_0 b0?, b 1 b_1 b1?, b 2 b_2 b2?, b 3 b_3 b3? - a 0 a_0 a0?, a 1 a_1 a1?, a 2 a_2 a2?, a 3 a_3 a3?并得到ans【 c 0 c_0 c0?, c 1 c_1 c1?, c 2 c_2 c2?, c 3 c_3 c3?
所以我們只需要預(yù)處理出至多10000組答案即可。

其次考慮預(yù)處理ans數(shù)組,容易分析得到任何時(shí)候可選擇連續(xù)區(qū)間只有10種,且同一區(qū)間選擇至多在同一方向旋轉(zhuǎn)9次。于是便對(duì)每種區(qū)間選擇考慮同方向旋轉(zhuǎn)1-9次(旋轉(zhuǎn)6,7,8,9次即可當(dāng)作反向旋轉(zhuǎn)4,3,2,1次)。

隨后便可從0,0,0,0開(kāi)始通過(guò)bfs處理所有ans。

代碼實(shí)現(xiàn):

#include #define int long longusing namespace std;int n,m,t;int u,v,w;int ans[10005];struct node{    int a,b,c,d;    node operator +(node t){        return {(a+t.a)%10,(b+t.b)%10,(c+t.c)%10,(d+t.d)%10};    }    node operator *(int t){        return {t*a,t*b,t*c,t*d};    }    node operator - (node t){        return {(a+10-t.a)%10,(b+10-t.b)%10,(c+10-t.c)%10,(d+10-t.d)%10};    }}a[10005];node p1[20];node f(int x){    int a,b,c,d;    d=x%10;x/=10;    c=x%10;x/=10;    b=x%10;a=x/10;    return {a,b,c,d};}queue<int> q;int f1(node t){return t.a*1000+t.b*100+t.c*10+t.d;}int geti(int x,int y,int z){    node t=f(x)+p1[y]*z;    return f1(t);}void solve(){    int l,r;    cin>>l>>r;    node ll=f(l),rr=f(r);    cout<<ans[f1(rr-ll)]<<"/n";}signed main(){    int p[20]={0,1,11,111,1111,10,110,1110,100,1100,1000}
                 
               
              

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/124494.html

相關(guān)文章

  • 小李飛刀:做題第十一彈!

    摘要:第五題對(duì)稱二叉樹(shù)難度簡(jiǎn)單給定一個(gè)二叉樹(shù),檢查它是否是鏡像對(duì)稱的。第十六題最大連續(xù)的個(gè)數(shù)難度簡(jiǎn)單給定一個(gè)二進(jìn)制數(shù)組,計(jì)算其中最大連續(xù)的個(gè)數(shù)。第十八題平方數(shù)之和難度簡(jiǎn)單給定一個(gè)非負(fù)整數(shù),你要判斷是否存在兩個(gè)整數(shù)和,使得。 寫在前面 最近忙著調(diào)教新裝備,沒(méi)有及時(shí)的寫題解,但是沒(méi)有在偷懶沒(méi)刷題喔~來(lái)認(rèn)真整理下最近做的題目~ 之前考慮按tag來(lái)刷題,后來(lái)收到了推薦的leetcode題解,就根據(jù)上...

    ytwman 評(píng)論0 收藏0
  • 如何用Python下載百度指數(shù)的數(shù)據(jù)

    摘要:大家好我是小小明,今天給大家演示如何使用直接采集百度指數(shù)的數(shù)據(jù)。本文不演示如何使用自動(dòng)化工具采集百度指數(shù),為了采集更簡(jiǎn)單將直接讀取并解析接口。 大家好我是小小明,今...

    crossea 評(píng)論0 收藏0
  • 小李飛刀:做題第九彈!

    摘要:不過(guò)可能還沒(méi)有抓到動(dòng)態(tài)規(guī)劃的真諦,總覺(jué)得哪里需要再校正下思路。這題也是動(dòng)態(tài)規(guī)劃的題目,目標(biāo)總是要分解為子問(wèn)題??偨Y(jié)看算法圖解的時(shí)候,涉及動(dòng)態(tài)規(guī)劃的小結(jié)中有這樣的每種動(dòng)態(tài)規(guī)劃解決方案都涉及網(wǎng)格。 寫在前面的話 感覺(jué)做題越多遇到的寫法越多,有種躍躍欲試的感覺(jué)~ 認(rèn)真做題 第一題 70. 爬樓梯難度:簡(jiǎn)單假設(shè)你正在爬樓梯。需要 n 階你才能到達(dá)樓頂。每次你可以爬 1 或 2 個(gè)臺(tái)階。你有多少...

    Bamboy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<