耗時三個半小時,看看自己不懂的有多少,以便明確后續(xù)備賽2023方向
成都創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比西鄉(xiāng)網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西鄉(xiāng)網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋西鄉(xiāng)地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。耗時3個半小時,只拿了18分,沒學過,時間再多也做不出來,有奧數(shù)那感覺了?
據(jù)說藍橋杯省3得做對 2填空 + 2大題(30分),省2要 2填空 + 3大題(45分),省1需要 2填空 + 4大題(60分)
題目 1,2021: [藍橋杯2022初賽] 裁紙刀????????耗時10分鐘,到手5分題目
小藍有一個裁紙刀,每次可以將一張紙沿一條直線裁成兩半。
小藍用一張紙打印出兩行三列共 6 個二維碼,至少使用九次裁出來,下圖給出了一種裁法
在上面的例子中,小藍的打印機沒辦法打印到邊緣,所以邊緣至少要裁4次。
另外,小藍每次只能裁一張紙,不能重疊或者拼起來裁。
如果小藍要用一張紙打印出 20 行 22 列共 440 個二維碼,他至少需要裁多少次??
分類:入門題,模擬
我的代碼??????????
口口口? ?此時行數(shù)n = 2, 列數(shù)m = 3, 由題目可知第一步裁掉邊緣要4次
口口口
IIIIIIIIII>>>>>> ?第二步:豎著裁成這樣子
口? ??口? ??口
口? ??口? ??口? ? ? 要裁 4 + 2 次,2 = m - 1,第三步:
口? ??口? ??口
口? ??口? ??口? 把每條裁開,要裁 4 + 2 + 3 次,3 = m(n - 1)
再在草稿紙上畫出n = 3, m = 4裁掉的過程,可以驗證正確
∴ 一共要裁 4 + (m - 1) + m(n - 1) = mn + 3 次,代入n = 20, m = 22可得443
2,2022: [藍橋杯2022初賽] 滅鼠先鋒????????耗時50分鐘,到手5分題目
滅鼠先鋒是一個老少咸宜的棋盤小游戲,由兩人參與,輪流操作。
滅鼠先鋒的棋盤有各種規(guī)格,本題中游戲在兩行四列的棋盤上進行。
游戲的規(guī)則為:兩人輪流操作,每次可選擇在棋盤的一個空位上放置一個棋子,或在同一行的連續(xù)兩個空位上各放置一個棋子,放下棋子后使棋盤放滿的一方輸?shù)粲螒颉?br />小藍和小喬一起玩游戲,小藍先手,小喬后手。小藍可以放置棋子的方法很多,通過旋轉和翻轉可以對應如下四種情況:
XOOO XXOO OXOO OXXO OOOO OOOO OOOO OOOO
其中 O 表示棋盤上的一個方格為空,X 表示該方格已經放置了棋子。
請問,對于以上四種情況,如果小藍和小喬都是按照對自己最優(yōu)的策略來玩游戲,小藍是否能獲勝。
如果獲勝,請用 V 表示,否則用 L 表示。
請將四種情況的勝負結果按順序連接在一起提交。
這是一道結果填空的題,你只需要算出結果后輸出即可。
本題的結果為一個長度為 4 的由大寫字母 V 和 L 組成的字符串,如 VVLL,在提交答案時只需輸出這個字符串
分類:基礎題,博弈
我的代碼??????????
首先小藍先手(看草稿紙,假設小藍為o,小喬為x),兩行四列共8格子,所以當一次放 2 棋子的次數(shù)為0,2,4時,必然小喬放滿結束游戲,此時小藍贏。由于都有最優(yōu)策略,4次 2 棋子的情況不會有,所以注意0次2棋子和2次2棋子即可。
? 然后我對照著四種情況,假設自己是小喬,努力找小藍必輸?shù)那闆r,所有情況試一遍找不到小藍必輸,則默認必贏,也就是V。同時,基于上面找到的規(guī)律,小藍下一步棋子我可以往后看3步,大大節(jié)省了時間。同時注意 2棋子 只能放于同一行連續(xù)兩個,這又是個限制條件,只需占據(jù)中間兩豎即可限制對方。
? 所以最后推出LLLV
3,2023: [藍橋杯2022初賽] 求和????????耗時20分鐘,到手7分?題目
給定n個整數(shù)a[1],a[2],...,a[n],求兩兩相乘再相加的和,即
S=a[1]·a[2]+a[1]·a[3]+...+a[1]·a[n]+a[2]·a[3]+...+a[2]·a[n]+...+a[n-1]·a[n]
輸入
第一行為正整數(shù)n,第二行為n個整數(shù)。
30%的數(shù)據(jù):2≤n≤1000,1≤a[i]≤100。
100%的數(shù)據(jù):2≤n≤200000,1≤a[i]≤1000。
輸出
輸出一個數(shù)字表示答案S。
輸入
4
1 3 6 9
輸出
117
分類:基礎題,思維題?
我的代碼??????????Accepted 70%? ?
#includeusing namespace std;
int a[200020];
int main()
{
int n;
cin>>n;
for(int i = 0; i< n; ++i)
cin>>a[i];
long long sum = 0;
for(int i = 0; i< n - 1; ++i)
for(int j = i + 1; j< n; ++j) {
sum = sum + a[i] * a[j];
}
cout<
別人代碼?Accepted 100%
#includeusing namespace std;
int a[200020];
int main()
{
int n;
cin>>n;
for(int i = 0; i< n; ++i)
cin>>a[i];//輸入數(shù)組
long long sum = 0, temp = 0;
for(int i = 0; i< n; ++i) {
sum += temp * a[i];
temp += a[i];//保存上一個數(shù)據(jù)
}//通過中間變量temp,我們不用打兩層for循環(huán)
cout<
4,2024: [藍橋杯2022初賽] 選數(shù)異或????????耗時2小時,到手1分題目
給定一個長度為 n 的數(shù)列A1,A2,... , An 和一個非負整數(shù) x
給定 m 次查詢, 每次詢問能否從某個區(qū)間 [l, r] 中選擇兩個數(shù)使得他們的異或等于 x
輸入
輸入第一行包含三個整數(shù)n,m,x
第二行包含n個整數(shù)A1,A2,...,An
接下來m行,每行兩個整數(shù)l,r表示詢問區(qū)間[l, r]
20%的測試數(shù)據(jù):1≤n,m≤100;
40%的測試數(shù)據(jù):1≤n,m≤1000;
100%的測試數(shù)據(jù):1≤n,m≤100000,0≤x,Ai<2^20,1≤l≤r≤n;
輸出
對于每個詢問, 如果該區(qū)間內存在兩個數(shù)的異或為 x 則輸出yes, 否則輸出no
輸入
4 4 1
1 2 3 4
1 4
1 2
2 3
3 3
輸出
yes
no
yes
no
分類:進階題,線段樹,ST表?
我的代碼??Accepted 10%??
#includeusing namespace std;
int a[100010];
int main()
{
long long n, m, x;//n個整數(shù), m行查詢, 能否異或等于x
cin>>n>>m>>x;
long long left, right;
for(int i = 1; i<= n; ++i)
cin>>a[i];//輸入n個整數(shù)
while(m) {
int flag = 1;
cin>>left>>right;//表示區(qū)間[left, right]
for(int i = left; i< right; ++i) {//外層for
int temp = a[i]^x;
for(int j = i + 1; j<= right; ++j) {//內層for
if(temp == a[j]) {
cout<<"yes"<
解題基本思路是
若 a^b == x,則 a^x == b 且 b^x == a
#includeusing namespace std;
int main()
{
int a = 3^5;
int b = a^3;
int c = a^5;
cout<
輸出
5
3
但我還是不會,看看答案代碼
#includeusing namespace std;
const int maxn = 100000 + 10;
int tree[maxn<< 2];
int Left[maxn], pos[(1<< 20) + 10];
int a[maxn], n, m, x;
//線段樹模板
void build(int o, int l, int r)
{
if(l == r)
{
tree[o] = Left[l];
return;
}
int mid = (l + r) >>1;
build(o<< 1, l, mid);
build(o<< 1 | 1, mid + 1, r);
tree[o] = max(tree[o<< 1], tree[o<< 1 | 1]);
}
int query(int o, int l, int r, int L, int R)
{
if(L<= l && r<= R)return tree[o];
int mid = (l + r) >>1;
int ans = 0;
if(L<= mid)ans = max(ans, query(o<< 1, l, mid, L, R));
if(R >mid)ans = max(ans, query(o<< 1 | 1, mid + 1, r, L, R));
return ans;
}
int main()
{
scanf("%d%d%d", &n, &m, &x);
for(int i = 1; i<= n; i++) //預處理Left數(shù)組
{
scanf("%d", &a[i]);
Left[i] = pos[a[i] ^ x];
pos[a[i]] = i;
}
build(1, 1, n);//線段樹建樹
while(m--)
{
int l, r;
scanf("%d%d", &l, &r);
if(query(1, 1, n, l, r) >= l)//查詢區(qū)間最值
printf("yes\n");
else
printf("no\n");
}
return 0;
}
總結?容易發(fā)現(xiàn),2022年的題目普遍難于往年,尤其是A組,最難,比研究生組都難,,,
然后我統(tǒng)計了下2022Python,C++,Java的A,B,G組題目中,每個類型出現(xiàn)的次數(shù):
考的最多的是:
模擬,數(shù)論,線段樹,動態(tài)規(guī)劃
里面比較簡單而目前未掌握的有:
二分,差分,貪心,鏈表,博弈,枚舉
多余的解釋 - 許嵩 - 單曲 - 網易云音樂
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文名稱:2022藍橋杯省賽C++A組初嘗試-創(chuàng)新互聯(lián)
URL標題:http://www.rwnh.cn/article2/pcgic.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、域名注冊、企業(yè)網站制作、標簽優(yōu)化、虛擬主機、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)