Cpp二轮计算机视觉学习路线
前言首先恭喜大家通过本团队的一轮考核,但是真正的考核才刚刚开始,一轮考核只是对大家基础能力的一次试炼,二轮考核才是强者之间的竞争。有部分同学一轮考核做的可能不如别的同学优秀,但考虑到Ta们积极做题、参加考核的态度,我们都给予了机会,往年也有例子,一轮做不好的同学在二轮爬头成为第一名进入团队,所以乾坤未定你我皆是黑马,希望大家在接下来的一个月能抽出更多的时间去学习视觉知识,积极完成考核内容。团队里保研北大、上海大学的视觉方向的师兄都说过,只要你不放弃,一切皆有可能。
关于二轮考核从现在开始大家就可以开始按照学习路线去学习视觉知识了,二轮考核的内容主要考察视觉方向的知识,不考算法题(但是也不能落下算法)。
①二轮考核时间:大概有一个月的时间。
②二轮考核地点:不限,需要在考核时间截至前提交自己的作品,并进行现场答辩介绍项目
③二轮考核内容:具体功能要求在一轮面试后发布
CV计算机视觉学习路线PS:大家可以参考此学习路线,也可以查看之前发布的22级计算机视觉学习路线
(1)思维导图(源文件下载xmind即可打开)图片如下,图片里面的链接对应下面文字内容
第一模块:理论知识第一阶段:基础知识 ...
22级安卓学习路线
22级Android学习路线前言首先恭喜大家通过本团队的一轮考核,但是真正的考核才刚刚开始,一轮考核只是对大家基础能力的一次试炼,二轮考核才是强者之间的竞争。往年也有例子,一轮做不好的同学在二轮爬头成为第一名进入团队,所以乾坤未定你我皆是黑马,希望大家在接下来的一个月能抽出更多的时间去学习安卓知识,积极完成考核内容。团队里保研北大、上海大学、深大的师兄都说过,只要你不放弃,一切皆有可能。
(1)算法方向算法基础不牢固的同学可以多刷算法题,下面有我推荐的一些刷题网站,做题后一定要养成总结和记笔记的习惯,当你算法做到一定程度后就可以接触更高层次的算法框架。这里推荐一本书叫labuladong算法秘笈,可以直接在我们公众号获取:发送“算法书”即可。
刷题网站:
入门:计蒜客https://nanti.jisuanke.com/oi
进阶:
洛谷:https://www.luogu.com.cn/
力扣:https://leetcode.cn/
面试题牛客网:https://www.nowcoder.com/
(2)安卓方向在大家一轮考核的作品中,安卓题的作品其实是不够完美的,在接下来的二轮备 ...
22级计算机视觉方向学习路线
22级计算机视觉方向学习路线(1)编程能力——掌握一门计算机语言对于未开始学语言的同学:Python是做算法的标准语言,目前像Pytorch,TensorFlow等流行的深度学习框架都是基于python的。所以在接触算法之前需要有一定的python基础。
对于python语言的学习,网上其实有很多推荐的文本资料,像菜鸟编程网。基本上都是自己看书看的差不多了,然后自己敲代码实践。不过对于初次接触python编程的学习者而言,看视频是最合适也是最开的,看书很容易陷入局部的知识点纠结之中(等你们有一定的编程基础可以再去看书深究),而这些知识点可能都不是很重要。但是看视频的话是跟着老师思路,有人给你过滤了一遍知识点,因此学习速度较快哦。
下面是推荐教程:
python
https://www.bilibili.com/video/BV1ex411x7Em/?vd_source=f91d20db1b8e03246f9eed618294062a
注意:前100讲是关于Linux的,可以直接跳过。
C++
https://www.bilibili.com/video/BV1et411b73Z/?p ...
滑动窗口算法
滑动窗口算法今天复习了一下滑动窗口算法的框架,我第一次看的时候是有点懵逼的,现在回过头来再看一次的时候发现框架和思路都非常清晰,瞬间豁然开朗。下面会以四道力扣上的题来进行举例说明滑动窗口算法的奥秘。
76.最小覆盖字串(困难)
567.字符串的排列(中等)
438.找到字符串中所有字母异位词(中等)
3.无重复字符的最长子串(中等)
基本框架滑动窗口算法其实是有一点双指针的技巧在里面的,技巧思路其实就是维护一个窗口,不断通过滑动这个窗口,然后同时更新答案。
基本框架如下:
1234567891011int left = 0, right = 0; //定义左右两边的指针while (right < s.size()) { // 增⼤窗⼝ window.add(s[right]); //将搜索字符添加进入窗口 right++; //窗口右移 while (窗口需要缩小时) { // 缩⼩窗⼝ window.remove(s[left]); //移除窗口最左边的字符 left++; ...
运动世界校园刷跑教程
运动世界校园刷跑教程本教程用于帮助那些懒惰或者是沉迷于学技术栈而没有时间校园跑的大学生
注意:ViVO手机暂时没有提供root的方法
步骤1——解锁手机BL锁以我自己的小米手机举例。其他机型解锁方式请自行百度(也许后续会更新,饼先画着)
首先你需要在小米官方下载官方的解锁工具。这儿多说两句,一个是如何进入开发者选项,依次点击设置-我的设备-全部参数找到MIUI版本,连续点击后就会提示已开启开发者模式;再就是如何进入fast boot模式,关机状态下同时按住音量下和关机键即可。
步骤2——刷入面具需要下载的东西:面具,官方未解密完整包,MT管理器① 进入网站https://www.mintimate.cn/2020/03/08/Magisk/ 下载最新版magiskmanager软件安装到手机上
② 下载好当前版本官方未解密完整包(注意是未解密),很多小伙伴不知道怎么获得未解密的官方包,我多说两句。首先在系统更新选择下载完整包,然后停止下载。
然后去“下载管理”继续下载,这样就不会被系统解密了,下载好的包在Download\downloaded_rom 就可以找到了
③ 用MT ...
Android自定义夜间主题
Anroid自定义暗黑模式前言在app的日常使用中,也许是为了省电,为了护眼,开发者常常会为用户提供这样一种模式:深色模式\暗黑模式。那么这就涉及到Android中的主题切换。一般Material Components已经为我们提供多种主题方案,但是大多数情况下某些自定义控件或者第三方库的控件颜色依旧需要我们自己去适配。
自定义主题的步骤①自定义属性主题换肤和插件换肤的原理其实是一样的,就是控制不同模式下加载对应的资源文件。以往我们在写xml文件的时候,默认的属性赋值都是绝对的,即:
1android:background="#FFFFFF" 或者android:background="@color/white"
而如果这样子设置控件的属性的话,那么默认的资源加载就会被限制。那么如何让控件的属性实现主题切换时的动态修改呢?下面以修改颜色为例,你只需要在xml文件中这样写:
12345678<TextView android:layout_width="wrap_content" android:text="新 ...
Android自定义控件
Android开发中的自定义控件前言大家可能会问 安卓的生态那么大 官方给出的可用控件那么多 我们为什么还要去学这个难又枯燥的自定义控件的知识呢,这对于安卓初级工程师或者初学者来说的确是不太要求掌握的。但你要是不想局限于小白,想成为更高级的安卓开发者,那么掌握自己造轮子的技术是非常有必要的,而且掌握了自定义控件,你可以随时应对以后产品经理的无理需求是不是?哈哈哈。
自定义控件的步骤首先想要做一个控件是有一个完整的流程和套路的,下面我用一张流程图来展示。
控件的类型首先控件可以分为两大类,一种是View,一种就是ViewGroup。
View那么什么是view呢?通俗点说就是一个孩子,它不能再容纳更多的控件了,它只是它自己,就比如说Button,TextView,这种就是View。
12345678<TextView android:text="GE" android:textSize="25sp" android:textColor="@color/black" andr ...
Anroid控件覆盖控件
Android中如何让一个控件覆盖在另外一个控件上方在平时的app开发中,ui设计常常会给出这样的需求:头像半覆盖在个人名片之上,毫无疑问这种是比较美观的。但是应该如何实现呢?
下面展示一下我做的两个项目的效果。
设置方法当时做的时候也是反复调整了很长时间 始终达不到那种覆盖目标控件的效果。后来查资料发现被覆盖的控件必须在Framelayout或者RelativeLayout布局当中,并且控件中有一个参数值,即为android:elevation,该参数是指控件的立体值是多少,比如说2dp的就会覆盖在1dp的上方。当然除了这个方法外还可以在activity中设置view.bringToFront()方法,但我发现有时候这个方法不是太好使得。
以下是上面两个项目的布局文件代码,大家可以参考一下:
项目一:123456789101112131415161718192021222324252627282930<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://sch ...
洛谷P1002 过河卒
题目描述棋盘上 AA 点有一个过河卒,需要走到目标 BB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。
棋盘用坐标表示,AA 点 (0, 0)(0,0)、BB 点 (n, m)(n,m),同样马的位置坐标是需要给出的。
现在要求你计算出卒从 AA 点能够到达 BB 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。
输入格式一行四个正整数,分别表示 BB 点坐标和马的坐标。
输出格式一个整数,表示所有的路径条数。
输入输出样例输入
16 6 3 3
输出
16
解法①当我第一次拿到这道题的时候 下意识的就想用二维数组来做 并通过一个boolean数组来对马占据点进行false处理,只要程序走到该点就跳过。但很明显程序RE了,数组开的太大。接着就直接换成坐标来进行判断。根据给出马的坐标来进行不能走的坐标确定。
根据题目,dp状态无非就两种情况,向下和向右。向下则为y+1,向右则是x+1;定义一个dp函数递归即可实现。代码如下:
123456789101 ...
洛谷P1044栈
宁宁考虑的是这样一个问题:一个操作数序列,1,2,\ldots ,n1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于 nn。
现在可以进行两种操作,
将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的 push 操作)
将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的 pop 操作)
使用这两种操作,由一个操作数序列就可以得到一系列的输出序列,下图所示为由 1 2 3 生成序列 2 3 1 的过程。
输入格式输入文件只含一个整数 n(1<=n<=18)
输出格式输出文件只有一行,即可能输出序列的总数目。
输入输出样例输入 #1复制
13
输出 #1复制
15
思路分析根据题目分析,很明显是一个“特殊”的全排列的问题,但是我们不能用简单的递归来做。
用 i 代表待排数,j表示栈内数,
1int f[][] = new int[20][20] //该数组代表序列的数量
数据有四种情况:
第一种是待排数 i 中为0,则直接返回1,意思即增加一种排序
一种是如果栈内不为空,且待排数中没有数了,则j-1出栈。
...