暑期第一場題解

2021-08-21 09:13:15 字數 2903 閱讀 7883

此題,emmmm,有毒,很容易出現各種bug,還是自己菜,不能動不動就覺得是資料有問題,此題肯定要用字串,模擬的題,**有點長(蒟蒻瑟瑟發抖),不過不難理解,仔細看看就明白了,主要是細節方面的處理

#include#include#include#includeusing namespace std;

int main()

m++;

} if (a.size() == b.size()) //如果字串長度相等,證明已經相加結束,只判斷最高位是否有進製

if (a.size()>b.size()) //如果第乙個字串長,那麼繼續拿進製和第乙個字串相加,

else

lag = 0;

m++;

}if (lag) //這是最高位計算後,再判斷最高位是否有進製

c[m++] = 49;

}else //第二種情況,沒有進製,則保持原值不用再計算

}if (a.size()= 0; j--)

else

lag = 0;

m++;

}if (lag)

c[m++] = 49;

}else

}cout << "case " << o << ":" << endl; //最後要說一下輸出,要嚴格按照題目要求,注意數字間有空格

cout << a << " + " << b << " = ";

for (i = m - 1; i >= 0; i--)

cout << c[i];

cout << endl; //每組資料最後都要換行,endl就是換行的意思,但每兩組資料間要空上一行

if (o

此題可以用遞迴函式,不過很容易就超出記憶體限制了,可以將其適當優化,根據公式a%m+b%m=(a+b)%m,而a和b取值0到6

共49種情況,往後就會迴圈重複,故可將n改為n%49優化,

#include#includeusing namespace std;

int main()

int main()

fish;

fish s[100000]; //定義乙個結構體陣列

long z[100000]; //定義乙個大陣列要定義成全域性變數,否則陣列過大會報錯

int main()

for(i=0;i0) //如果遇見往左的,並且棧裡有魚兒(即這個魚兒左邊有往右去的魚),比較大小,看誰吃誰

n=abs(n1-n2);

} cout《這題是字典序排列,演算法很麻煩,果然有庫就是好,現成函式讓你用

#include#include#include#includeusing namespace std;

int main()

scanf("%ld", &q);

while (q--)

return 0;

}

此題聽說冒泡會超時,我直接用的sort函式(快速排序),#include#includeusing namespace std;

long a[50000];

int main()

{ long n,i;

cin>>n;

for(i=0;i>a[i];

sort(a,a+n); //起始位址,結束位址

for(i=0;i#includeusing namespace std;

int main()

{ int sanse(string b,string a);

string a;

cin>>a; //分別判斷這6種情況,只要有一種滿足就符合條件

if(sanse("abc",a)||sanse("acb",a)||sanse("bac",a)||sanse("bca",a)||sanse("cab",a)||sanse("cba",a))

cout<<"yes"<#include#include#includeusing namespace std;

int main()

{ int n,i;

long a[1000];

cin>>n;

for(i=0;i>a[i];

sort(a,a+n); //從大到小排序

if(n==1||n==2) //此時都是第乙個剩下來

cout《其實兩個都差不多,第乙個是列舉,第二個是我剛開始想的

#include#include#include#includeusing namespace std;

int main()

{ long long a,b,y;

long long n,m,f1,f2;

cin>>n>>m>>a>>b;

y=n/m;

if(n%m==0)

cout<<"0"<#include#include#includeusing namespace std;

int main()

{ long long a,b,y; //注意,剛開始我給的int,結果咳咳,,沒過,,

long long n,m,f1,f2;

cin>>n>>m>>a>>b;

y=n%m;

if(y==0) //如果整除,不用再計算

cout<<"0"<

暑期集訓第一場

找規律,當n 3 0的時候,ans pow n 3,3 當n 4 0的時候,就是pow n 2,2 n 4。include include define ll long long using namespace std ll t,n intmain else if n 4 0 else 題目中說了不...

acm暑期第一場比賽總結

打的時候心態真的很重要,特別是對於我這樣的新手,比賽的時候,乙個簡單的二分,還有乙個對於我稍複雜的模擬,寫到心態 思路混亂,再加上趕著交題,連a題這樣水爆了的題都wa了一次,還有英語的問題,習慣了掛翻譯,讀不懂題目意思,就開始動手寫,這是不科學的。場下補完了b,d題,d題dfs 剪枝,b就是wa爆了...

NOI Online2021第一場題解

定義 pop n 表示 n 二進位制下 1 的個數 可以發現 b n pop n bmod 2 考慮去掉模運算,b n frac 1 1 那麼可以有以下推導 可以將 n 二進位制拆分成若干段,具體地,對於乙個這樣的數 10110 2 可以拆分成這些段 算算後發現複雜度是 o m 2 log n m ...