机缘
要说我为什么开始在这上面写博客吧,就要提到著名的蓝桥杯了,虽然被广大网友戏称为圈钱杯,但是它仍然是我们普通计算机类学生比较看重的一个比赛,大一的时候看着班级群里吆喝着大家报名这个比赛,那时候大一刚入学不久,看到什么C++程序设计比赛感觉好高大上,觉得自己去了什么都不会就没有报名这个比赛。到了大二明白了所谓的程序设计比赛就是一些所谓的算法题罢了,然后就报名了,在大二下学期也就是今年三月份开学后我就从头开始学习基础算法,东西很多我想着要不要写个题解呢,看着各种大佬的感悟我觉得应该在学完一个知识点后进行总结,这样才能更加深入理解它的内在,于是乎我就来到CSDN开始了我的创作。
收获
提示:在创作的过程中都有哪些收获
开始创作之前我就想着就是在这里记笔记呗,也不会有什么人看吧,但是每当我发完一篇题解之后居然有人点赞还有人关注我,这种正向的反馈更加激励我的创作,就这样从贪心、前缀和、差分、二分、深度优先和广度优先搜索,每次学完之后我都进行一个阶段性的总结,把自己对这些知识点的理解写出来。
或许是努力起了效果,在我学习了一个月后的省赛中拿到了一等奖,我很兴奋啊,这是我这段时间努力最好的回报,其实省赛比完后我并不觉得自己能拿到一等奖,觉得自己能有个三等二等就谢天谢地了,因为好几道需要用到数学知识的题目我做的很烂几乎就是纯暴力,还有几道题只能拿到部分分,所以在4.13比完到4.29出结果这段时间我并没有专注于算法,从知道我自己进了国赛开始我开始学习没学完的常考算法,从树、图论基础、最短路到最小生成树和并查集等等这些相较于我前段时间学的算是提高了难度,所以学的并不是很精,只是将重心放到了解题上面,其实水平只能解决简单和部分一般题目。
到了6.1国赛只写出来一道填空一个纯模拟一个二分一个贪心,剩下的都是暴力,而且有几道题目我都不知道怎么暴力,那几道会的也因为疏忽有很多bug,于是乎结果出来是优秀奖,差几十名到三等奖我真的不甘心,不过想想差一名到三等奖的人应该是最难受的就心里平衡了,我本身也没有学多长时间,两个来月而已,明年再战
日常
平时偶尔遇到有意思的题目我都会写一下题解,当然这上面也没有发多少。
成就
不知道有没有人直到代码随想录,我刚开始是跟着代码随想录刷题的,学到树那块的时候有个层序遍历,学完了它的思想之后连着十个用层序遍历解决的题目我一口气刷完了,那天真的很爽,虽然这是一个很简单的算法,但是确实是我做的最爽的一次,这是这样一个简简单单朴实无华的层序遍历
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
queue<TreeNode*> q;
vector<vector<int>> ans;
if(root==NULL)
return ans;
TreeNode *t=root,*k;
int cnt=0;
q.push(root);
while(!q.empty())
{
int size=q.size();
vector<int> m;
for(int i=0;i<size;i++)
{
k=q.front();
q.pop();
if(k->left)
q.push(k->left);
if(k->right)
q.push(k->right);
m.push_back(k->val);
}
ans.push_back(m);
}
return ans;
}
};
憧憬
起初开始刷算法是因为蓝桥杯三百块的报名费,对我来说真的很多,我想尽可能的不要辜负我花的钱,慢慢的就刷出兴趣来了,但是刷到后期的时候很多题目都是需要一定的数学天赋的,而我的数学基础很差,就很苦恼,只能一边补数学知识一边刷题,你们知道吗,在大学一年级的时候学C语言老师出了个找质数的题目,那个时候我连质数是什么都不知道。所以我觉得一切都是有可能发生的吧,我当初报名的时候也没想到也能打进国赛呢,勇敢去做想做的事情吧,各位。
以后遇到有趣的算法题或者学完一些知识我会分享到这上面来,写一些题解啥的,希望涨点粉丝吧