一,前言
说道初赛,我对自己的评价是:啥都不是。作为一个北京人,在北京的小学生初赛排名高达500,险些没能进入复赛。如果不是有一道题出错了,我甚至可能无法进入复赛。
二,头等敌人——数据结构
数据结构这玩意,我在学时就没有完全听懂。特别是链表,当时听得都快睡着了,一边感叹自己的无知,又想着C++为什么这么难。于是,来到了这里以后,数据结构便变成了我的头等敌人。首先,数组、队列、栈,这些还可以,但到了链表,我便又去世了,什么q.next->=s.next,又什么if(q.next->!=NULL)。又感觉自己仿佛失去了灵魂,回到了北京,所以在这里,我给大家贴出各类基本数据结结构的基本函数(链表就算了)。
1,数组
没什么好说的......
2,queue(队列)
queue<>q //定义队列。
q.push() //入队操作。
q.pop() //出队操作。
q.front() //返回队首元素。
q.back() //返回队尾元素。
q.size() //返回队列长度。
q.empty() //询问队列是否为空(空为0,有元素为1)。
3,stack(栈)
stack<>q //定义队列。
s.push() //入栈操作。
s.pop() //出栈操作。
s.top() //返回栈顶元素。
s.size() //返回栈长度。
s.empty() //询问栈是否为空(空为0,有元素为1)。
4,map(映射)
map<>mp //定义map。
mp[i] //访问mp中位置为i的值。
for( auto mp:p ) //遍历mp的每一个位置,令p存储 mp[i]的值。
5,set(集合)
set<>t //定义set。
t.insert() //插入元素。
t.begin() //返回第一个元素。
t.end() //返回最后一个元素。
t.size() //返回合长度。
t.empty() //询问集合是否为空(空为0,有元素为1)。
t.clear() //清空集合中所有元素。
6,vector(动态数组)
vector<>v //定义vector。
v.push_back() //将元素压进vector。
v.insert() //在vector的某个地方插入元素。
v.erase() //在vector的某个地方删除元素。
v.size() //返回动态数组长度。
v.clear() //清空动态数组中所有元素。
其他的自己写吧QwQ。
三,二等敌人——数学
怎么说呢,作为一个五升六蒟蒻,数学不好是一件正常的事(即使在校内随便AK数学卷子),我甚至连排列组合这玩意都没搞明白。但当再来到这里时我才真真正正的体验到数学的恐怖,什么同余定理、乘法原理、排列组合、三角函数,让我获得了通往天堂的钥匙(还没打开那扇门)。
但是发这个有什么用呢?网上随便一个博客写的都比我好,所以,在这里,我就不多赘述了。但是,我想告诉各位信息学小学生(最好比我小),一定要学奥数,学的越多越好,这样才能在一个信奥班里取得良好的基础。
不像我,一次月考连公式都看不懂,懂了公式有不理解思路,看题解又有什么用呢?
所以,我呼吁大家,一定要学好数学!
四,三等敌人——进制与编码
进制与编码,分成两个部分,分别是 进制 和 编码。
至于进制,无非就是n进制转十进制和十进制转n进制,不是很难,其实就是硬背方法,之后所有题都可以按照方法套了。当然,也有其他的知识点,比如字母所代表的进制这样的,但无论如何,这一部分不是我把进制与编码设为三等敌人的原因。
OK,到编码了,这才是我真正怕的东西,把一个数转为二进制后延伸出原码、反码和补码,还有什么哈夫曼编码,恶心啊。但无论如何,这些东西也是可以自己消化的,不是太困难,所以他只有三等敌人。(虽然我至今都没有自己消化完QwQ)
五,其它
没什么可说的了,祝大家在自己的路上越走越好!
如果有用或想鼓励我,请给我一个赞(已完)!