计算机考研法宝
写在最前面胡小宁高考没有考入理想的大学是至今的遗憾,为了弥补这个遗憾,胡小宁一直在奋斗着。考研圆梦,毋庸置疑,是胡小宁最后的机会。谈到考研,它与高考不同,考研分为初试和复试。初试和复试同样重要。二者缺一不可。对于初试,胡小宁自己没什么经验,所以等成功上岸后会在这里总结自己的学习历程和学习经验。而对于复试,绝大多数学校都是以机试为主。所以计算机的复试方向很明确,就是要玩得转算法设计。胡小宁先在这里总结几个非常好的刷题网站,绝对霸道!
刷题网站推荐ACWING这是北京大学的y神建立的网站,如果你觉得自己很牛皮,不如来这个网站感受一下什么是高山仰止。y神对于比较经典的题目,会有很详细的视频讲解,而且是free 的。它也有收费的活动,但绝对物超所值!
点我进网站。
N诺此网站整合了许多高校考研复试机试真题,这还不去刷一刷?
点我进网站。
leetcode不多说,懂得都懂。这个网站网址就不发了,连百度都能查得到- -。
ACwing刷题之基本算法(位运算)
ACwing刷题之基本算法(位运算)a^b求 a的 b 次方对 p 取模的值。
输入格式
三个整数 a,b,p在同一行用空格隔开。
输出格式
输出一个整数,表示a^b mod p的值。
数据范围
0≤a,b≤10^9
1≤p≤10^9
输入样例:
13 2 7
输出样例:
12
思路本题要利用快速幂的思想。如果按暴力求解,那么求解百万次,O(n)的时间复杂度超级大。所以我们不妨换一种思路去求解,用数学的思维来分析如何精简计算步骤。
拿5来举例。5^7可以被拆解成什么呢?
(5^1)(5^2)(5^4)
1->2^0,2->2^1,4->2^2…以此类推,
倘若此时我们要算5^1000000。
我们可以算到2^19时停止,2^20本身>=1000000(1024*1024>1000000)。先算完上面的20个数。。然后看1000000的二进制怎么表示。11110100001001000000。找到了二进制,我们就把二进制对应位置的5^i乘进去。(因为同底指数相乘幂相加)。此时时间复杂度变成了O(logn)级别。
下面是代码实现:
1234567891 ...
ACwing刷题之简单题(一)
ACwing刷题之简单题(一)写在前面为了应付下学期的CCF考试,我在知乎上搜索刷题网站。看到有知乎er分享了这个acwing,打开之后很兴奋,这正是我想要的刷题网站。
从尾到头打印链表输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。
返回的结果用数组存储。
样例
12输入:[2, 3, 5]返回:[5, 3, 2]
思路12345678910111213141516171819/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> printListReversingly(ListNode* head) { vector<int> res;//创建一个容器,装 ...
2021暑假leetcode训练(四)
初级算法(四)只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
示例 1:
12输入: [2,2,1]输出: 1
示例 2:
12输入: [4,1,2,1,2]输出: 4
思路
使用异或运算,将所有值进行异或
异或运算,相异为真,相同为假,所以 a^a = 0 ;0^a = a
因为异或运算 满足交换律 a^b^a = a^a^b = b 所以数组经过异或运算,单独的值就剩下了
12345678910class Solution {public: int singleNumber(vector<int>& nums) { int res = 0; for(int i = 0;i<nums.size();i++){ res ^=nums[i]; } return res; } ...
2021暑假leetcode训练(三)
回文串与回文子序列问题(动态规划)写在前面今天瞟了一眼每日一题,发现是中等题目,于是我就打算解一下,结果我连题目都没读懂。
题目是516.最长回文子序列。
这道题目用到的解题技巧多数是动态规划。然鹅我并不懂什么是动态规划,好在下学期的《算法设计》里面会讲到。趁着如今还是暑假,我决定先把这块硬骨头啃掉,但是咱并不能一口吃个胖子,所以要循序渐进的一步一步来。
最长递增子序列给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。
子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
示例 1:
123输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。
示例 2:
12输入:nums = [0,1,0,3,2,3]输出:4
示例 3:
12输入:nums = [7,7,7,7,7,7,7]输出:1
提示:
1 <= nums.length <= 2500
-104 <= nu ...
2021暑假leetcode训练(二)
初级算法(二)买卖股票的最佳时机 II给定一个数组 prices ,其中 prices[i] 是一支给定股票第i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例 1:1234输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2:1234输入: prices = [1,2,3,4,5]输出: 4解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再 ...
wordpress之搭建博客
写在最前面腾讯云检测到我的服务器有漏洞,这如同晴天霹雳,我这两天一直在搭建新的博客,完全没有深入配置服务器,这下可好,又要把搭建博客的工作先放一放了。不过,这两天的搭建工作确实让自己有了收获,这份收获在于如何用wordpress快速搭建起一个看着还过得去的blog 。
更换主题wordpress原生主题看着还过得去,不过我的审美被apple惯坏了,看着它扁平化和卡片化的设计,我也想把自己的博客改造成那般摸样。于是我的第一步工作就是更换一套主题。我选择的是Blocksy 。它卡片化的设计正合我意。
新建博客页面由于Blocksy面向的是商业,所以blog元素基本上没有。这就需要我手动建立一个blog页面。
新建页面
按图所示,顺序执行。
将blog添加到菜单
上面的方法不免有些繁琐,那是我第一次尝试所使用的方法。后来找到了更快捷的办法,一步到位 。
然后选择添加项目,如果你感觉菜单栏上的顺序不满意,可以选择第二步重新排序。
将blog页面设为文章页
选择设置->阅读
将blog设为文章页,大功告成!
效果
建立网课资源页面这是今年暑假的一个目标,去实现一个网课转播平台。将 ...
腾讯云之购买与配置
写在最前面2021.8.3晚,为了支撑起日后云服务器 的费用,我放弃了自动续费两年的网易云会员,这是个悲伤的夜晚!
服务器的购买我是个穷学生,连支付网易云会员都要考虑一下,按理来说应该租不起云服务器的。好在阿里云和腾讯云都给学生提供了极大的福利,可以超低的价格租一台云服务器。
点我进入学生优惠购买云服务器。
一年108元!真的便宜 有没有!
我选择的是轻量应用服务器 ,因为可以选择镜像一键搭建好环境,如果你想手动搭建,那就选择购买云服务器 。选择它最直接的原因是可以极速搭建wordpress 。
操作系统我选择的是centos 。
服务器的搭建购买好后,进入控制台,点进实例,查看详情。
点击重置应用,便可选择要搭建的镜像。
我选择的是wordpress5.7.1社区版 。
配置butterfly时我踩过的坑
最前面的话因为之前用过很多的主题,并且安装的方式都是从github 上clone 下来。而安装butterfly 的方式是通过npm 下来的。这就导致主题文件并不在theme里。先前的主题文件都是保存在theme里的,并且都会在博客根目录或者主题文件里生成一个_config.xxxx.yml 的.yml文件,所以配置主题就直接修改生成的yml文件就好了。但是捏,我这次npm 挖了很大的一个坑,我找不到生成的_config.butterfly.yml 了!
在我看小嘉的部落格配置主页文字的时候,有一处需要修改css文件,但我并不知道css文件在哪里。机缘巧合之下,我开始了Google之旅,并发现了先前自己给自己挖的坑。原来npm 下来的主题文件在\node_modules\hexo-theme-butterfly,_config.butterfly.yml 也在里面。
我也很佩服自己在没有官方配置文件的前提下,还能装修一阵博客 hhhh。
关于Butterfly的主题配置问题官方文档对于一个主题而言,最权威的莫过于官方文档了。有很多基础的主题配置问题,和其独有的配置问题,官方文档里面都会 ...
Butterfly装修之新手上路
最前面的话小站使用的butterfly 版本是v3.8.3
小站是通过npm安装的butterfly 主题,所以主题文件并不在theme里面。而是在\node_modules\hexo-theme-butterfly.话说寻找这个主题文件在哪花了我不少功夫 - - 。
文章中的内容参考见:
小嘉的部落格
首页字体、全局背景透明渐变、页脚透明渐变
写在前面装修博客这件事说简单也简单,说繁琐也很繁琐。起初我只是把它当作一个记录学习历程的工具,后来看到许多博主的博客精美巧妙,真的是相形见绌。于是,我也开始了漫长的“打扮”之路。一开始我所用的主题是hexo默认主题,后来改用yilia,next,icarus。直到最近我发现很多朋友都使用butterfly ,一看这主题还不赖,就套用了一下。又因为butterfly的文档是目前我所接触到的写的最详实的,配置主题省了不少事,所以就打算一直用下去了。
给文字加label
3.7.5 及以上版本適用
高亮所需的文字
1{% label text color %}
参数
解释
tex ...