雖然目前距離藍橋省賽僅僅過去一天但昨天下午和大神對答案的感覺依舊.....
現在深刻里理解到了為啥大神老是說咱們藍橋叫 閱讀理解杯(現在我非常認同這種說法啊...)
雖然第一次參加,賽前緊張提前30分鍾入場,當認真做題的時候就真的忘記自己還在緊張....(感覺緊張可以忽略不計了)
28日出成績了竟然是二等獎.....有點小激動雖然這個含金量很少..一直覺得不是三等就是優秀..
第十屆山東省賽(C++/C B組)
第一題 ......(答案490)我說我沒認真讀題你信不 大家答案都是490....唯獨我495....
當時我內心是崩潰.現在也是崩的
第二題.....(答案BYQ)我一看這不就是26進制嗎 26*26*3=2028然后減去直接但那BZQ.....
但是但是但是 好好想一想a-z是1-26 呢 aa-az是不是就是27-26*26呢....不是的(嗚嗚~)是27+26*26
正解是 27(a-z) + 26*26(aa-az)+ 26*26*2(aaa-bzz)=2028+26
2028+26-26=2028(a-byz)然后-9=2019?是的 BYQ...
第三題......(答案4659) 數列求知 一開始打算直接暴力不知道怎么炸了 完了 就是開了個7個大小的數組
a[5]={0,1,1,1} 然后3次一個循環sum=3 a[4]=(a1%10000+a2%10000+a3%10000)10000;sum++;if(sum=..)輸出相應的a
a5=...sum++;if(sum=..)輸出相應的a;a6=....sum++;if(sum=..)輸出相應的a; a 1 2 3 替換成 4 5 6;
第四題.....(答案40785) 直接暴力 二層FOR if(調用函數判定i有沒有2,4有continue;<2019)FOR if(調用函數判定j和2019-i-j有沒有2,4有|| 三個數各不相同continue;i+j<2019)sum++;
sum/6(對比abc全排列6種情況)
第五題.....(答案待定) 不會傻傻的想要 用作圖畫出來....然后我就發現....為啥是死胡同....原來呢張圖片...只是一半..是一半..一半..
第六題....我直接暴力的應該很水吧......
第七題...不會
第八題....我是2數組 一個存數據一個存sort()之后數據差 然后求差出現次數最多的為max...然后就是從頭+1掃到尾部
i++;if2數之差不為max就sum++;a[i-1]+=max;continue;else i++;
第九題....以為好簡單...但是吧不是的至少后來聽學長說過之后是懵逼了 這尼瑪真的是閱讀理解吧
第十題...不會 據說提交幾個簡單的數據也能得分..還是太天真.
藍橋省賽知識點總結:
1.字符串處理
2.貪心
3.動態規划
4.BFS,DFS,回溯,遞歸
5.最小生成樹,並查集-加權
6.gcd(最大公約數) 輾轉相除法
7.全排列 (algorithm下的 next_pernutation) 排序sort()以及擴展的 cmp()
8.錯排 An=n-1(An-1+An-2),
9.進制轉換函數 csdilib 下的itoa() 或者...iomanip下的setbase();具體百度 itoa()和iomanip
10.文件讀寫 主要為 cstdio 下的 freopen();下文我會詳細說明,方便節約時間(有些電腦直接無法復制數據到命令行中...)
關於 文件讀寫 詳解加測試案例說明
1.
自己創建一個 a.txt (里面存上測試數據比如一個字符串asdasdasadasda)
放到你創建.cpp的文件夾下---(重)(點)
#include<cstdio>
#include<iostream>
using namespace std;
int main ()
{
char a[100];
freopen("a.txt","r",stdin);
//freopen("aa.txt","w"stdout);//會自動在.cpp所在文件夾下創建一個aa.txt存入輸出的數據
cin>>a;
cout<<a<<endl;
return 0;
}
//已經測試沒有問題,記下來就行了
重定向版:
