自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

luke2834的专栏

蒟蒻练级中。。。

  • 博客(193)
  • 收藏
  • 关注

原创 Be awesome

后悔过去自己的碌碌无为?下定决心从今天开始奋斗?说一千道一万,立即行动是正道! Things to today : Get up; Be awesome; Go back to bed. 谨以这两句话,勉力自己!

2016-04-16 18:05:02 763

原创 【更新中】信号与线性系统分析 笔记

前言最近在补一些信号处理方面的基础知识,b站找了个视频课程,听了听还不错,就在这个blog下记一下笔记吧~另外这个课程每一小节很短,也很适合零散时间学习视频链接v1.01 信号分类离散与连续横坐标(自变量,常为时间)连续,称为连续信号,若纵坐标(因变量)也连续,则称为模拟信号横坐标离散,称为离散信号,若纵坐标也离散,则称为数字信号确定与随机可以用确定性函数描述的信号(如f(t)f(t)f(t)),是确定信号不能用确定性函数描述,只能知道统计特性的(如概率分布),是随机信号确定

2021-03-03 10:25:08 875

原创 腾讯笔试题2020 一个有意思的期望题

前言今年腾讯笔试出了一个很有意思的期望题,正好覆盖了大学里大部分重要的数学基础知识,非常有意思,作为基础知识的复习,我把这个题的详细解法以及相应的基础知识整理了进来~如果基础知识比较简短,我会插在正文中,如果一段基础知识很长,我就放在后面的附录中~ps. 作为2小时5题中的一题这题过于变态了,对于大部分人来说,考察的是search能力或者根据样例猜公式的能力了。。pps. 但是作为面试题还挺合适的,准备改编改编,成为我司的面试题2333,所以名字就不起的太清楚了,大家看到算赚到吧~ppps. 附

2020-09-14 00:31:14 522 7

原创 Codeforces 546E Soldier and Traveling 最大流 C#实现

题意在某个国家有n个城市,他们通过m条无向的道路相连。每个城市有一支军队。第i个城市的军队有ai个士兵。现在士兵开始移动。每个士兵可以呆在原地,或者走到和他所在城市直接相邻的城市判断移动之后,能不能使得第i个城市恰好有bi个士兵。若可以,需给出移动方式思路将源点与各个点相连,容量就是a[i]。将汇点与各个点相连,容量就是b[i]。将i与i+n相连,容量是inf,表示士兵可以留在自己的城市

2020-02-12 18:34:44 549

原创 命令行工具下载b站视频

python3 + You-Get下载视频,尝试之后感觉很好用,这里记录一下pip直接安装you-get即可pip install you-get下载命令很简单,例如:you-get https://www.youtube.com/watch?v=HXaglTFJLMcyou-get还有更多实用功能暂时还没有尝试,可以参考知乎文章进一步探索...

2019-12-08 16:56:58 1489 1

原创 Leetcode 1032. Stream of Characters Trie树

题意一个数据结构题,给定一个字典,初始化一个数据结构。每次查询是给一个字符,返回的信息是一个bool类型的。如果存在一个K,使得从当前字符开始往前看K个构建的字符串落在字典中,则返回true否则false数据范围:1 <= words.length <= 2000,1 <= words[i].length <= 2000,查询总数不超过40000思路对字典中字...

2019-04-30 10:39:17 313

原创 Leetcode 992. Subarrays with K Different Integers (DP + Two pointer)

题意给你一个长为NNN的数组AAA,返回AAA中满足条件的子串个数条件是:子串中恰好有KKK个不同的元素数据范围:N≤20000N \le 20000N≤20000思路这种子串的问题一般是用two pointer或者DP来解决,这个题比较有意思的是两种思路都要用到先根据DP的想法,我们考虑子问题,设前iii个元素这样的子串有F(i)F(i)F(i)个,必须以iii结尾的子串有f(...

2019-04-29 22:28:04 396

原创 Leetcode 957. Prison Cells After N Days 两种方法实现(找循环节 and 矩阵快速幂)

实现1(循环节)class Solution {public: static const int NUM = 8; void to_vector(const bitset<NUM>& x, vector<int>& out){ for (int i = 0; i < NUM; i++){ ou...

2019-04-24 00:29:14 591

原创 Leetcode 956. Tallest Billboard 背包DP(从优化问题等价变换得角度解释)

题意:nnn个小铁棒,第iii个棒长为lil_ili​,你希望用这些小铁棒拼接出两个一样长得大铁棒,希望这两个铁棒得长度尽可能的长,要求每个小棒至多用一次数据范围:n≤20n \le 20n≤20,li≤1000l_i \le 1000li​≤1000, ∑ili≤5000\sum_i l_i \le 5000∑i​li​≤5000思路:这个问题的话,我们乍一看就和背包问题的题面非常...

2019-04-22 18:17:07 463

原创 Leetcode 920. Number of Music Playlists 容斥原理(O(N log L)) or DP

题意给你n首不同的歌,有一个L长的播放列表,让你这用这些歌,在满足某种条件的前提下,把播放列表填满,问有多少种填法两个条件是:1. 每首歌至少用1次;2. 如果一个歌放在了第i个位置上,则下一次它最早只能出现在i+k+1的位置上思路这个题可以dp求解,思路也是非常巧妙,我之后会补充上来这里主要讨论用容斥原理的做法,复杂度会比dp的来的低一些我们先考虑,如果没有第一个条件,只有第...

2018-11-11 14:29:07 632

原创 718. Maximum Length of Repeated Subarray 后缀数组解最长公共子串 O(n log^2 n)时间复杂度

题意找最长公共子串思路用dp的方法很容易在O(n^2)解决问题,这里主要讨论用后缀数组的思路解决这个问题后缀数组里有两个经典的概念或者称为数据结构,就是后缀数组SA,以及高度数组LCPSA数组的定义是:将原串S所有的后缀按字典序排序后,定义rank(i)为后缀S[i…]的排名,SA数组是rank数组的逆映射,即SA(rank(i)) = iLCP数组的定义是:LCP(i)是后缀S...

2018-10-06 20:44:50 207

原创 leetcode 28 Implement strStr() 练习使用后缀数组

这次主要是利用一道字符串匹配的简单题,自己实现一遍后缀数组实现class Solution {public: vector&lt;int&gt; sa, rank, tmp; void getSa(const string&amp; s){ int n = s.length(); for (int i = 0; i &lt; n; i++)...

2018-10-03 21:10:16 295

原创 Leetcode 537. Complex Number Multiplication

题意就是两个复数以字符串形式输入,计算相加结果思路思路很简单,就是用+号切字符串,再算就行了记下来的原因,主要是记录下string split的函数,以后方便找实现class Solution {public: void split(string&amp; s, vector&lt;string&gt;&amp; res, const string&am...

2018-09-17 18:14:36 127

原创 c++实现线性回归(高斯消元)(附python实现)

前言写这次blog的契机是上次笔试的时候,遇到了这个问题当时以为numpy库是可以用的,就先写了个python版,结果并不能用。。最后愤然写了个c++版不过最后一个小问题导致我差了两分钟没交上去代码,所以这一版源码只是通过了案例但没有提交ac。。如果大家发现有什么bug也欢迎大家帮我指出题意:就是给定一个X矩阵,一个y向量,分别表示数据特征矩阵(n*m),ground ...

2018-09-17 16:43:28 515 2

原创 POJ1235 强连通分量拆分

题意:有N个学校,每个学校之间单向可以发送软件,现在给你一些学校之间的收发关系。问你下面两个问题:至少要给多少个学校发送软件才能使得最终所有学校都收到软件;至少要多加多少个关系才能使得向任意一个学校发送一套软件,每个学校都能收到软件。 思路:先进行强连通分量拆解,构成新的DAG图在图上找到,入度为0节点的个数,记为n1,出度为0节点的个数,记为n2任务1的答案是n1,任务...

2018-09-15 13:28:16 256

原创 leetcode 486. Predict the Winner (Alpha-Beta剪枝实现关键点小总结)

题意小的博弈游戏,两个人轮流从一个数组的两端取数,直到取完,最后取的和最大的人获胜。问先手能否赢?其中如果和相同,先手胜。思路首先如果有偶数个元素,先手必胜,这个可以参考leetcode 877题求解思路,证明链接奇数个的时候就没有这么好的结论了,博弈dp是很容易做的方法,这里就不讨论dp了,我们尝试用alpha-beta剪枝的博弈树来解决。博弈树很简单,其实就是个dfs,比...

2018-08-18 12:18:18 288

原创 leetcode 630. Course Schedule III 优先队列优化DP

题意有n节课要被安排,每节课包含两个信息(t, d),前者是课程时间(duration),后者是最晚结束时间,问你从1时刻开始安排,最多可以安排几节课。思路我们先想贪心,没有找到特别好的贪心策略,但是可以想到一个结论,就是在满足最晚结束时间一样的前提下,t 小的一定比t大的安排优先级高,可以很容易的反证一下。那么基于这个思路去想dp,先按照最晚结束时间排序,记录两个信息,s...

2018-03-08 02:55:08 446

原创 leetcode 403. Frog Jump DP

题意n个石头排成一行,i-th石头所在位置是pos(i),假如青蛙目前在i-th石头上,且它是从前面石头跳了k单位长度过来的,则它接下来可以跳k + 1, k - 1, k单位长度远,初始在0位置,且只能跳1单位长度,问它能否跳到最后一个石头。(n &lt; 1100)思路这个题我们最简单的dp思路,就是dp(i, k)表示在第i个石头上,且从上一个石头跳k单位长度过来,是否可行...

2018-03-08 02:35:45 792

原创 快慢指针法总结 链表找环 leetcode 141 142 & 202

前言这类题,做法很简单,但是我每次证明正确性的时候总是卡壳,所以这次整理一版我个人觉得比较清晰的证明,希望能以后能记住。。思路题型特点:给你一个链表,或者只知道递推关系的数据(形如初始是a0a0a_0,递推关系是at=f(at−1)at=f(at−1)a_t = f(a_{t-1})),让你在O(1)空间集线性时间里,判断数据是否有环,进一步会问环起点是哪个数据判断是否有环...

2018-02-27 20:51:59 472

原创 Leetcode 741. Cherry Pickup DP

题意一个n*n矩阵A,矩阵包含-1, 1, 0,其中-1不能通行,从矩阵左上角走到右下角,再走回左上角,第一次遇到1收益+1,第二次则不加,问你最大收益。思路这个题困扰我好久,网上题解包括discussion感觉都不是特别直观,现在终于完全想通了。。这里记录一下,希望能对大家有帮助。这个题如果没有反复,那么显然可以用一个普通二维dp,直接求解那么首先,我们想到的肯定是一个...

2018-02-24 21:48:20 2685 4

原创 Leetcode 312. Burst Balloons 经典二维dp

题意给定n个一排的气球,i-th气球有一个权重num[i],扎破i-th气球收益是nums[left] * nums[i] * nums[right],问最大收益思路一种比较典型的dp,就是矩阵连乘的扩展状态定义为dp(i, j)表示区段(i, j)上,不扎破i, j的情况下的最优解状态转移:dp(i, j) = dp(i, k) + dp(k, j) + nums(i)...

2018-02-24 01:01:53 201

原创 Leetcode 753. Cracking the Safe 双端队列实现 给出证明思路

题意我们希望构造一个最短的字符串,这个字符串每位可以是0至k-1的字符,并且这个字符串的所有n长子串可以包含所有的nknkn^k种情况(即包含所有用k个字符构建的n长串)思路不难想象,如果构造的这个串每一个n长子串恰好就是一个unique的情况,那么一定就是最短的串,长度为nk+n−1nk+n−1n^k + n - 1先假设我们一定可以构造出这样的串。然后可以换一个角度来看这个...

2018-02-21 03:46:54 1210

原创 Leetcode 221. Maximal Square 单调队列和dp两种思路求解

题意给定一个0,1矩阵,希望找到矩阵中的一个面积最大的联通正方形区域,这个区域中全是1思路基本思路:找面积最大的,其实就是找最长的边长,我们的思路都是以这个为出发点的dp思路整体来看,就是一个二维dp,是这类矩阵问题的一个常用状态设置方法:dp(i,j)dp(i,j)dp(i, j) 的含义是以(i,j)(i,j)(i, j)为右下角的最大正方形边长然后递推...

2018-02-20 02:56:47 430

转载 在遍历中使用 iterator/reverse_iterator 进行 Erase 的用法

原文地址:http://blog.csdn.net/kesalin/article/details/24265303众所周知,在使用迭代器遍历 STL 容器时,需要特别留意是否在循环中修改了迭代器而导致迭代器失效的情形。下面我来总结一下在对各种容器进行正向和反向遍历过程中删除元素时,正确更新迭代器的用法。本文源码:https://code.csdn.net/snippets/1

2017-10-06 12:25:35 264

原创 【持续更新】总结经典位运算Tricks

前言刷了几个leetcode题,发现位运算的小trick还是挺多的加上之前面试也被问到有关位运算的问题,这里总结一些关于位运算的小技巧这里提醒一下,位运算的优先级很低,不清楚的时候一定要加括号;尤其是&、|、^的优先级比==等比较运算符还低,这个比较容易出错正文(1) 取有符号整数的最后一个1,只保留该位为1,其它位为0 - 这是树状数组教会我的,各种位运算小题,我总是在这个基础上

2017-10-04 16:07:32 313

原创 Leetcode 336. Palindrome Pairs 给出一种遍历字符串回文子串中心的方法

题意给你n个不同的字符串,让你找出所有的字符串对(i, j),使得s(i) + s(j)是回文串且i不等于j思路这题没有给数据范围,所以你其实不知道应该给什么复杂度的算法,我看了眼Discussion,先确定了下需要的复杂度复杂度是O(n * k ^ 2),其中k是字符串的平均长度算法思路并不复杂,考虑第i个字符串,如果s = s(i) + s(j)是答案之一,且i是较长的字符串,那么s的

2017-10-03 14:05:25 389

原创 poj 1523 求无向图所有割点以及删除割点后连通分量个数 给出详细算法思路

题意无向图找出每个割点,然后求出删除这个割点所得的连通分量个数节点编号在1-1000,但没说按顺序给出思路无向图求所有割点是一类经典问题,这篇blog就以这题为例简单介绍一下求解的算法思路我们希望在O(n+m)的时间里求出所有的割点首先,总体思路是对图进行dfs操作,dfs的过程其实对应了一棵dfs搜索树,而我们就利用这棵搜索树的独特性质,来解决求割点的问题dfs过程是,当我们搜索到节

2017-09-25 22:07:03 1354

原创 python动态加载子模块 根据字符串绑定子模块 如加载os.path

基本动态加载模块方法x = __import__("os")x.path# out: <module 'posixpath' from 'xxx'>动态加载子模块直接加载用__import("os.path")__是不行的可行方法:__import__("os.path", fromlist = ["os"])# out: <module 'posixpath' from 'xxx'>

2017-08-20 16:29:02 478

原创 poj 3669 bfs

#include <queue>#include <cstdio>#include <algorithm>#include <iostream>#include <cmath>#include <cstring>using namespace std;const int maxn = 305;const int inf = 0x3f3f3f3f;int mark[maxn][max

2017-07-12 21:25:10 302

转载 胡侃学习(理论)计算机【被大佬推荐,转载以膜拜】

《胡侃学习(理论)计算机》作者: Sir (阿涩)  我也来冒充一回高手,谈谈学习计算机的一点个人体会。由于我是做理论的,所以先着重谈谈理论。  记得当年大一,刚上本科的时候,每周六课时数学分析,六课时高等代数,天天作业不断(那时是六日工作制)。颇有些同学惊呼走错了门:咱们这到底念的是什么系?不错,你没走错门,这就是(当时的)南大计算机系。系里的传统是培养做学术研究,尤其是

2017-07-12 13:48:52 3384

原创 poj 3009 dfs

#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <vector>#include <string>using namespace std;const int maxn = 25;const int inf = 0x3f3f3f3f;int n,m;int mark[m

2017-07-11 21:10:31 264

原创 POJ 2718 暴力

题意给你一个0-9的串,挑其中一部分的数字排列成一个数,其它数字排列成一个数(两个数都不能有前导0)问你这两个数差的绝对值最小是多少思路n很小,2-10,数字不会重复出现,直接暴力枚举即可注意,不能复杂度过高,稍微有些技巧的就是两个数的位数应该尽可能接近,即都是n/2最好所以枚举全排列,计算下在n/2的位置前后两个数差是几即可#include <iostream>#include <

2017-07-11 08:48:43 237

原创 Windows TensorFlow(GPU 版) 安装 (于17.3.31号完成安装)

前言之前我在安装配置TensorFlow过程中参考了不少前人的博文和官方的安装指南,但我发现这个环境的配置和底层库是否有更新也很有关系,也就是说这些指南的时效性也比较强这篇博文主会更着重总结一些在配置过程中可以参考的网站以及前人的博文,然后给出我个人觉得哪些地方是最容易出问题以及未来如果有更新时需要关注的点。主要可能被坑的点版本问题:目前TensorFlow Windows版支持的较弱,如只

2017-04-03 19:53:02 1321

原创 hihoCoder #1490 : Tree Restoration 微软2017在线笔试题

题意给你一棵树,已知其中全部节点的编号(1~n),节点所在层次,节点在该层从左到右是第几个节点,叶子节点编号以及叶子节点间的距离,但不知节点之间的边信息,要求重构这棵树,输出每个节点的父亲节点。思路我们考虑如果先不使用其他信息,只使用层次遍历的信息以及叶子节点编号的信息可以确定下来哪些节点的父亲节点实际上我们可以找到最靠左的叶子节点,即位于某层最左边所在的层次最小的叶子节点,显然这样的叶子节

2017-04-01 11:38:34 1451

原创 hihoCoder1476 矩阵计数 容斥原理

题意参见http://hihocoder.com/problemset/problem/1476思路最开始我用的是dp求解的这个题,后来听大神说可以容斥原理来解,就又想了想求解了一下~dp的思路,详见: http://blog.csdn.net/luke2834/article/details/63675388这题容斥的基本思想是,全部是白块的矩形数,减去因一块黑块而减少的矩形数,加上因

2017-03-19 19:18:51 1057

原创 hihoCoder 1476 矩形计数 dp

我们通过dp来求解这个问题。我们定义dp(i,j)表示前以(1, 1)作为左上角,(i, j)作为右下角构成的子矩阵所具有的矩形个数。 递推的时候,基于简单的容斥原理思想,不难发现:dp(i,j) = dp(i-1, j) + dp(i, j-1) - dp(i-1, j-1) + 用(i, j)作为右下角的子矩形个数 递推式的前三项的运算得到的是不用(i, j)作为右下角的子矩形个数,而最后一项则需要稍微复杂一些的计算得到。

2017-03-19 09:01:45 1220

原创 python split同时用多种字符分割字符串并去除空串 简单两行代码实现

代码使用的是python3的语法,python2只需要修改其中部分内容,同样可以使用两行代码实现需求这里把代码直接给出,方便大家直接使用>>> s = 'asdn () dne we ** feuhf' % 希望使用左右括号、空格以及*分割>>> import re% 核心两句代码如下>>> l = re.split('\(|\)| |\*',s) % 正则表达式切分字符串,但会有空串出

2017-01-17 22:16:23 16850

原创 从汉诺塔问题谈递归转非递归的通法

Introduction递归方法是我们经常使用的一种实现策略,只要思路清晰,实现起来就会非常简单。然而,递归方法也是有一些缺点的,比如需要使用系统栈维护现场,资源及时间的开销都比非递归要大的多。而在acm竞赛中,也会有系统栈大小的限制,如果递归深度过深,很有可能爆栈。因此,有时非递归转递归还是很有必要的。当然,我们都知道递归转非递归无非就是我们维护一个栈,模拟系统栈就好啦~然而,具体怎么模拟,

2017-01-16 11:54:44 993

原创 对学术研究的一点思考

自己作为研究生,也半年了,加上大四的部分时间,自己正经做研究也差不多快一年了。期间,做了几个项目和研究,投了两个paper,都被拒了。。16年末还要有一篇要投。。今天,就这篇paper和之间被拒的paper和老板聊了聊,感觉好像明白了些什么,就在这里记录一下吧。。之前,我的研究基本是这样个流程,面对老板给的问题,我看看有什么相关研究,然后从自己擅长的领域,挑一个适合这个问题,同时没啥人用过的方法,来

2016-12-23 23:37:33 618 2

原创 Matlab Tips1

这篇文章,就是想记录一些matlab中有用的小技巧,会不定期更新~查看变量类型a = 1;class(a) %返回'char'类型%输出%doublea = [1 2 3];class(a)%输出%double应用:在构建一个map的时候,希望Key类型和变量y一致时这在分类问题中,比较常用,由于输入label:y,只要值不同就可以,所以用户希望,不管什么类型的y(比如double

2016-11-20 14:04:58 350

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除