大一寒假訓練十(string) 更新完成

2021-09-11 19:10:04 字數 1568 閱讀 3662

kmp演算法。

先預處理得到next陣列,若存在迴圈節,即n%(n-ne[n])==0,則最小迴圈節長度為n-ne[n],答案為n/(n-ne[n]);若不存在則輸出1。

#include

#include

#include

using

namespace std;

const

int n=

1e6+10;

char s[n]

;int n,ne[n]

;void

get_ne()

//打表next陣列

}int

main()

return0;

}

直接暴力,注意特判比值為0或1的情況。

#include

#include

#include

using

namespace std;

string a,b;

intcompare

(string s1,string s2)

return mx;

}int

main()

return0;

}

#include

using

namespace std;

char s[12]

;int cnt,ans[4]

,vis[

130]

;//vis陣列開大一點,至少大於128(ascii碼最大是128)

intmain()

if(cnt!=3||

(ans[2]

!=ans[1]

||ans[3]

!=ans[1]

||ans[1]

!=ans[3]

))printf

("no\n");

else

printf

("yes\n");

}return0;

}

#include

using namespace std;

intmain()

return0;

}

a.erase(i,1);表示從第i個位置(初始位置為0)刪除字串a的1個字元,也就是刪除第i個字元。

第乙個引數表示開始刪除字元的位置(這個位置的字元也刪除),第二個引數表示要刪除的長度。

注意刪除之後還要 i-1 回到刪除之前的原來的位置。

#include

using namespace std;

intmain()

printf

("%d %s\n"

,cnt,a.

c_str()

);}return0;

}

#include

using namespace std;

intmain()

2020 2 17 大一寒假訓練十(map)

今天的題目數量較少,但是也能入魂。匹配好對應關係即可。pragma gcc optimize 2 include using namespace std int n,q,num map int,int blq intmain cin q scanf d q int t while q return0...

大一寒假訓練 set

錯誤的刪除操作?上圖的操作會把迭代器刪除!it的指向就空了!於是會出現下圖警示?正確的操作?for it ans.begin it ans.end include using namespace std set int ssr set int iterator it int n,x intmain ...

大一寒假訓練(七)

借鑑二位博主 抱拳 nefu ljw link.nefu wmjlink.problem a 週末舞會 佇列 link.include using namespace std queue int vis1,vis2 intmain return0 problem b 取牌遊戲 佇列 set link...