小 l 剛考完期末,他寫了一篇很爛的作文,爛到老師都不願意給它扣分,只能給他加分,已知老師比較牛,所以他發現乙個字元 x 就會加一分。問你小 l 最後可以得到多少分。
輸入描述:
第一行,給你乙個字元 x,表示可以加分的字元。
第二行,給你乙個字串 s,表示文章。
輸出描述:
乙個整數,表示小 l 得了多少分。
#include
using
namespace std;
intmain()
總結:題目很簡單,但是遍歷string的方法需要學習一下,更加簡單。
auto遍歷,智慧型指標yyds,自動識別型別。
t==s 很巧妙,等於的話就加一,不等的話加零。
auto遍歷適用於所有的遍歷,只不過這種遍歷是遍歷完資料,當要遍歷部分資料時就要換一種方法。
auto遍歷舉例:
陣列:
int s[4]
;for
(int i=
0;i<
4;i++
) cin>>s[i]
;for
(auto t:s)
//用t遍歷s
剛開始我就是無腦做的,連想都沒想,一看快速冪,就直接快速冪了。
#include
using
namespace std;
typedef
long
long ll;
const
int mod =
998244353
;int n,m;
int a[
1005
],x;
ll fast
(ll a,ll b)
return res;
}//龜速乘
long
long
quick_mul
(long
long x,
long
long y)
return ans;
}int
main()
cout<
" ";
}return0;
}
但其實再看式子可以發現規律:
l 字尾 abd -> 要反轉
r 字首 ce -> 不需要反轉
#include
#include
using
namespace std;
string a,b,x,y;
//x字尾,y字首
intmain()
reverse
(x.begin()
,x.end()
);//字尾要反過來
cout << y << x;
return0;
}
自己寫的方法,模擬
#include
using
namespace std;
string s1,s2;
char ch1[
1000005];
char ch2[
1000005];
intmain()
for(
int i=
1;i) cout<
;for
(int i=r-
1;i>=
1;i--
) cout<
;return0;
}
其實思路差不多一樣
dp問題,自己還是不太會,水平也只到這裡了,原諒自己太菜了。
建議做一下最長公共子串行的問題。
牛客IOI周賽23 普及組全題解
鏈結水題不多說 統計字元就完了 int main cout 鏈結 硬模擬兩層for,記得取模 ll a maxn ll x maxn int n,m ll ans maxn int main for int i 1 i m i return0 鏈結 注意,直接使用string可能會t 不是可能,是必...
牛客IOI周賽22 普及組
1.戰爭尾聲 題目鏈結 題解 因為資料量非常小,直接遍歷每乙個點即可 include include include using namespace std typedef pair int,int pii double getlength double x,double y,pii v intma...
牛客IOI周賽22 普及組
暴力列舉 author sunlakewalk include include include include include include include include include include include include include include include includ...