JXUST ECJTU新生訓練賽

2021-06-21 20:27:56 字數 2081 閱讀 4394

a.

/**

此題由於字串的長度是10^5,所以利用o(n^2)暴力來做的話,

顯然是超時的,所以不採用這種方法,我們可以計算每個字元

出現的次數,而題目中 告訴pairs (x, y) and (y, x)

should be considered different,所以組成的個數總和就是

每個字元出現的次數的乘積之和。

*/#include#include#include#include using namespace std;

typedef long long ll;

int main() ;

string s;

cin>>s;

for(int i=0; i

/**這題是關於字串的題目,主要注意的地方是輸入問題,

用string的話,cin輸入遇到空格或者回車都會結束,

所以必須用getline()來進行輸入;如果對字串的

*/#include #include #include #include using namespace std;

string s;

int num[30];

int main()

getline(cin,s);

for(int i=0; i='a'&&s[i]<='z')--num[s[i]-'a'];

else if(s[i]>='a'&&s[i]<='z')--num[s[i]-'a'];

}int flag=0;

for(int i=0; i<30; i++)

}if(flag) else }}

return 0;

}

c.

/**

由題目知道luck number是4和7;所以我們可以

採用以四個不同的字母為乙個週期,這樣他們的

位置相減就會是4,這樣就滿足了題目要求的意思!

但是因為題目要求是字典序最小,所以是按照abcd這

四個字元組成乙個週期。

例如:abcdab

a:1 5

b:2 6

c:3d:4

因為a:5-1=4;b:6-2=4;

所以採用週期為4!

*/#include#include#includeusing namespace std;

int main() ;

int for[105],bac[105];

///模擬題,棧的應用

int main()

if(strcmp(com,"back") == 0)

}if(strcmp(com,"forward") == 0) }}

}return 0;

}

e.

#include #include using namespace std;

const int n = 10005;

char s[n];

int main() else sum--;

}if(idx == -1) printf("no solution\n");///沒有找到,說明當前的括號串字典序最大

else

printf("\n");}}

return 0;

}

f.

#include#include#includeusing namespace std;

///模擬題

int g[105][105],g[105][105];

int main()

}swap(n,m);

}else if(d==180)}}

else if(d==270)

}swap(n,m);

}for(int i=1;i<=n;++i)

for(int j=1;j<=m;++j)

g[i][j]=g[i][j];

}printf("%d.\n",++case);

for(int i=1;i<=n;++i)

}return 0;

}

新生訓練賽002 B

這道題非常有趣,有的時候理解題意都理解不對,應該按照題目的思路分析,而不是根據答案自己瞎分析。我一開始想的是,給乙個序列,找出最小的值,然後一次往前往後挪乙個,一次找出當前序列最大的值。但題目的意思是,從a1到ai,i 1,2,3,4,n,問其中序列是否等於j i 1個 預處理存位置 include...

2023年新生訓練賽 第 場題解

感覺怎麼說呢,現在寫的 很彆扭,自己都有點看不太慣。算了,廢話說那麼多也沒啥意思,還是速度寫題解,寫完回去學習。珍惜現在,好好做自己的事,少廢話,a mahmoud and ehab and the mex 題意 增加或減少陣列的元素,使陣列中沒有的最大非負整數為x,最少運算元?解法 找到比x小而且...

bistuacm 2023年第 場新生訓練賽題解

知識點 列舉 題意 尋找距離陣列某個數最接近的a i k且b i 1的數。解法 按題意模擬即可。includeusing namespace std int main for t 0 t cout 10 t 知識點 數學 題意 找到大於a,且各數字只含乙個非0數字的數,輸出其和a的差。解法 求出a的...