自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 记录一些巧妙的位运算方法

260.只出现一次的数字3使用异或运算可以帮助我们消除出现两次的数字x&(-x)是保留位中最右边1,且将其余的1设为0的方法。191. 位1的个数(当x不为0)x&(x-1)是将最右边的1变为0,且其余位保持不变的方法。...

2020-08-13 16:23:50 147

原创 记录一下c++中的(STL容器/string/数组等)一些巧妙的函数

vector的remove和erase函数的区别首先我们先来看一下两个函数iterator erase(iterator position);iterator erase(iterator first, iterator last);vector中的remove的作用是将等于value的元素放到vector的尾部,但并不减少vector的sizeiterator remove(iterator first, iterator last,val);C++ reverse函数的用法

2020-08-13 16:11:00 120

原创 leetcode 每日一题 之 字符串压缩

题目很简单,但是需要记录的东西还是有的题目:https://leetcode-cn.com/problems/compress-string-lcci/class Solution {public: string compressString(string S) { int len=S.length(); if (len==0) return S...

2020-03-16 20:18:08 106

转载 freopen函数在acm竞赛中的使用

在做acm题目的过程中,我们需要在本地机器上调试。调试过程中,如果输入数据少还可以接受,但如果输入数据很庞大的话,我们就很难忍受一次又一次的重新输入和调试了。通过google,找到一种简便的方法,那就是freopen函数。使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 下面为函数的简介,详细可参见http://www.cp...

2019-06-03 21:24:13 309

原创 论文阅读:CIDNN:Encoding Crowd Interaction with Deep Neural Network for Pedestrian Trajectory Prediction

摘要:由于人类的复杂性,行人轨迹预测是一项具有挑战性的任务。在本文中,我们通过考虑每个行人的运动信息及其与人群的互动,在深度学习框架内解决问题。具体地,在深度学习中的剩余学习的推动下,我们建议顺序地预测每个行人的相邻帧之间的位移。为了预测这种位移,我们设计了一个人群交互深度神经网络(CIDNN),它考虑了不同行人对目标行人位移预测的不同重要性。特别,我们使用LSTM为所有行人建模运动信息,并使...

2020-12-01 22:11:52 301

原创 2020-09-21

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;string s;int len;bool cmp(int s1, int t1, int s2, int t2){ while(s[s1] == .

2020-09-21 14:36:39 140

原创 记录leetcode第35场双周赛

https://leetcode-cn.com/contest/biweekly-contest-35/problems/maximum-sum-obtained-of-any-permutation/5505.所有排列中的最大和有一个整数数组nums,和一个查询数组requests,其中requests[i] = [starti, endi]。第i个查询求nums[starti] + nums[starti+ 1] + ... + nums[endi- 1] + nums[...

2020-09-20 00:54:23 200

原创 2020.09.12.v*v*秋招笔试(3题1h)

第一题:AC70%n*n的矩阵,从一点走到另一点的最短路径,# @都是障碍物,其他的都是可以走,求最短的步数思路:从起点开始,直接bfs开始搜索,到了第一次到了终点直接返回答案;(这是更新内容):卡70%的原因就是题目给的坐标是y x y x, 然后我当做x y x y来处理的。为啥题目要这么搞我们啊!!!!!!!谁出的这数据!!!!!故意留这个坑有用吗??????(差一步就AK)#include<cstdlib>#include<cstdio>#include&.

2020-09-13 21:57:41 669

原创 记录一对虽然相似但是做法完全不同,但是各自做法都有可取之处的两道题。239. 滑动窗口最大值--->ali求每k个里面的最大值

三、239. 滑动窗口最大值--->ali求每k个里面的最大值3.1239. 滑动窗口最大值用的是单调双向队列,该数据结构可以从两端以常数时间压入/弹出元素。存储双向队列的索引比存储元素更方便,因为两者都能在数组解析中使用。算法非常直截了当:处理前 k 个元素,初始化双向队列。遍历整个数组。在每一步 :清理双向队列 :- 只保留当前滑动窗口中有的元素的索引。//pop_front()- 移除比当前元素小的所有元素,它们不可能是最大的。//pop_back()将当前元素...

2020-08-21 16:49:44 102

原创 每日一题111. 二叉树的最小深度

111. 二叉树的最小深度题目很简单,记录一下dfs和bfd,以及pair<a,b>的用法。dfs/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; *

2020-08-21 10:24:33 95

原创 记录两道相似升级版(好像是华为的题)

一、最大字段和----->最大子矩阵和1.1leetcode53.最大子序和最大的连续子段和。f[i]表示必须以第i个数作为结尾,意思就是这个数一定会加上去,那么要看的就是这个数前面的部分要不要加上去。大于零就加,小于零就舍弃。经典的动态规划,这里我用单个变量实现它。时间复杂度O(n).class Solution {public: int maxSubArray(vector<int>& nums) { if (nums.size()==0

2020-08-20 16:35:15 122

转载 为何程序员喜欢将INF设置为0x3f3f3f3f?

转自:https://blog.csdn.net/jiange_zh/article/details/50198097在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一查才知道,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7ffffff

2020-08-18 10:54:10 181

原创 记录一道使用bitset的题,真的太好用啦

面试题0504.下一个数记录一下bitset的使用方法:https://www.cnblogs.com/magisk/p/8809922.htmlclass Solution { public: vector<int> findClosedNumbers(int num) { bitset<32> small(num); bitset<32> bigger(num); int s = -1;

2020-08-18 10:45:17 183

原创 每日一题: 133.克隆图

133.克隆图广搜算法1.使用一个哈希表 visited 存储所有已被访问和克隆的节点。哈希表中的 key 是原始图中的节点,value 是克隆图中的对应节点。2.将题目给定的节点添加到队列。克隆该节点并存储到哈希表中。3.每次从队列首部取出一个节点,遍历该节点的所有邻接点。如果某个邻接点已被访问,则该邻接点一定在 visited 中,那么从 visited 获得该邻接点,否则创建一个新的节点存储在 visited 中,并将邻接点添加到队列。将克隆的邻接点添加到克隆图对应节点的邻接表中。重复

2020-08-12 15:40:20 130

原创 每日一题: 130.被围绕的区域

130.被围绕的区域注意到题目解释中提到:任何边界上的 O 都不会被填充为 X。 我们可以想到,所有的不被包围的 O 都直接或间接与边界上的 O 相连。我们可以利用这个性质判断 O 是否在边界上,具体地说:对于每一个边界上的 O,我们以它为起点,标记所有与它直接或间接相连的字母 O(标记为‘A’);最后我们遍历这个矩阵,对于每一个字母:如果该字母被标记过,则该字母为没有被字母 X 包围的字母 O,我们将其还原为字母 O;如果该字母没有被标记过,则该字母为被字母 X 包围的字母 O,我们将其修改

2020-08-12 10:26:42 134

原创 打家劫舍系列: 198.打家劫舍 213.打家劫舍2 337.打家劫舍3

337.打家劫舍3树型的dp?一开始我以为小偷是不能回头的,那我直接把这棵树放到数组上f[i]=max(f[i/2/2],f[i/2/2/2])+v[i];就ok了,写完发现这小偷还真贪啊,还走回头路的,那就必须遍历这整棵树了,用了dfs,但是卡在第123个测试点了,于是想用记忆化优化来着,但是状态(TreeNode* tn,int flag)不好表示啊,偷偷看了一眼题解,一般都是直接hashmap了一个状态TreeNode* tn,那么他们都不用记录状态flag的嘛,发现他们是另外一种思路,即打不

2020-08-05 11:33:53 228

原创 42.接雨水(单调栈/双向记录前后缀/双指针) 407.接雨水2(优先队列+bfs)

从接雨水1可以看到必须是一个凹坑才能积水,维护的是一维上的,而这边则是要维护二维上的,原来维护两边,现在要维护一个圈,这是第一难点,第二个难点是很难想到怎么维护,这边是用优先队列找到这个圈的最短的那块板,逐步向内灌水,神奇的是原来一个圈,如果逐步向内,是不会破坏圈的性质的,相当于向四个方向灌水,会重新建立起木板,这道题用到的模板还是走迷宫的bfs的模板,而且从queue变成priority_queue而已,这样看来就是普通的优先队列+bfs了。class Solution {private:

2020-08-05 02:33:26 133

原创 每日一题:207 课程表(拓扑排序)

207.课程表拓扑排序,可以用dfs逆着记录拓扑顺序,也可以用bfs顺着记录拓扑顺序。我喜欢后者。另外记录一下vector的全局变量的resize和auto:枚举的用法,感觉很方便。class Solution {private: vector<vector<int>> edges; vector<int> indeg;public: bool canFinish(int numCourses, vector<vector&

2020-08-04 17:33:02 101

原创 DP(一种方法KO三道困难难度的DP问题,感觉自己棒棒哒) 72.编辑距离 97.交错字符串 44.通配符匹配 10.正则表达式匹配

72.编辑距离给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符(这题也是字节提前批的一道面试题)刚开始想的是求两个字符串的最长公共子序列,这些是不会变的,然后用较长的一个去减,就是需要改动的最少操作次数,这个方法在想的时候就注意到会有错位的问题,但是没思考好,比如 a**b和*a*b,我的答案是4-2=2,但是实际上a**b必须经过3次操作才能变成*a*b...

2020-08-03 15:44:40 250

原创 开个帖子记录一下 leetcode 196,197两个周赛的最后一题

leetcode 1505. 最多 K 次交换相邻数位后得到的最小整数给你一个字符串num 和一个整数k 。其中,num 表示一个很大的整数,字符串中的每个字符依次对应整数上的各个数位 。你可以交换这个整数相邻数位的数字 最多k次。请你返回你能得到的最小整数,并以字符串形式返回。输入:num = "4321", k = 4输出:"1342"解释:4321 通过 4 次交换相邻数位得到最小整数的步骤如上图所示。leetcode1515. 服务中心的最佳位置...

2020-07-30 15:04:49 170

原创 动态规划刷题day02(最小窗口子序列、最大的以 1 为边界的正方形、)

leetcode 727 最小窗口子序列(dp记录的是起始位置,长度通过计算得到)给定字符串S和T,在S中寻找最小连续子串W,使得T是W的子序列(有序)。如果没有找到返回"",如果找到多个最小长度的子串,返回左 index 最小的。https://blog.csdn.net/weixin_45588823/article/details/100642933leetcode 76最小覆盖子串与727的差别是“给定字符串S和T,在S中寻找最小连续子串W,使得W包含所有T中字符,即可以乱序。”.

2020-07-28 10:53:37 220

原创 动态规划刷题day01(1-n组二叉搜索树)

leetcode96.不同的二叉搜索树给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ ...

2020-07-27 22:30:48 368

原创 快排+归并+堆排

快排#include<vector>#include<iostream>#include<cstdio>#include<cstdlib>using namespace std;void quickSort(vector<int>&a,int l,int r){ if (l>=r) return; int i=l,j=r,x=a[l]; while(i<j) {

2020-07-23 02:35:47 102

原创 DP统计矩阵系列: 221.最大正方形 1277.统计全为 1 的正方形 1504.统计全为1的矩阵 1139.最大的以1为边界的正方形

题目描述在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4解法二:动态规划对于动态规划,大部分情况下我们都会定义一个二维数组dp,然后定义dp[i][j] 的含义,接着推导 dp[i][j] 与 dp[i-1][j]、dp[i][j-1]、dp[i-1][j-1] 之间的关系。当然,也可以是推导 dp[i][j] 与 dp[i+1][j]、dp[i

2020-07-11 20:51:01 233

转载 记录一道 二叉树转双向链表 的 中序遍历 高效写法

https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5?tpId=13&&tqId=11179&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankinghttps://www.nowcoder.com/profile/3900945/codeBookDetail?submissionId=163709

2020-07-04 17:01:20 140

转载 记录一道关于丑数的题,作者的思路有一些比较巧妙的地方

参考自https://www.nowcoder.com/profile/5810633/codeBookDetail?submissionId=16629921

2020-07-04 16:55:35 97

原创 记录一道lcm,gcd的思维题,感谢我的朋友给予我的帮助!

给你一个整数n(2<=n<=10^9)让你找出两个数a,b(1<=a,b<=n)使得lcm(a,b)-gcd(a,b)的值尽可能最大。trick:最大的lcm(a,b)就是lcm(n,n-1),最小的gcd(a,b)=gcd(n,n-1)=1所以答案就是 n*(n-1)-1,注意答案超出int范围,用longlong计算保存。...

2020-03-29 22:19:36 195 2

原创 三种方法求解斐波那契数列并计算时间复杂度

关于斐波那契数列的简介:  斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学...

2020-03-29 22:04:15 3422 1

原创 计算组合数Σ(i=0,n)i*C(n,i)

题目:组合数学中恒等式的证明:1、Σ(i=0,n)i^2*C(n,i)=n*(n+1)*2^(n-2);还有一个:Σ(i=0,n)(1/(i+1)(i+2))C(n,i)=(2^(n+2)-n-3)/((n+1)(n+2))麻烦给出详解,解答:第一个,利用 (1+x)^n=Σ(i=0,n) C(n,i)*x^i,两边对x求导,得:n*(1+x)^(n-1)=Σ(i=1,n) i*C...

2020-03-23 20:43:00 1250

原创 迷宫+bfs经典写法

#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std;int n,m,num,sx,sy,ex,ey;int foot[4][2]={-1,0,1,0,0,-1,0,1};char a[510][510];bool...

2020-03-23 20:33:12 174

转载 C++程序设计中,&&和||的优先级问题

转载https://zhidao.baidu.com/question/426219427238900292.html提问:这个程序里面,为什么不先执行(++y)&&(++x)?程序先判断了x>y,然后后面的那部分表达式就被短路了。&&不是比||优先级高吗?请问怎么解释。回答:C/C++在逻辑判断表达式上有个短路效应A || B,当A为逻...

2020-03-19 22:43:06 1474

原创 关于c++中指针的用法的一点思考

c++指针加1https://blog.csdn.net/weixin_36564655/article/details/79711815C++ 指针的两种操作,通过指针赋值 & 对指针赋值https://blog.csdn.net/u012560212/article/details/78832887C++中数组声名后不初始化,数组里的值都是0吗?https://w...

2020-02-05 22:37:34 73

转载 leetcode191. 位1的个数

方法 2:位操作的小技巧算法我们可以把前面的算法进行优化。我们不再检查数字的每一个位,而是不断把数字最后一个 1反转,并把答案加一。当数字变成 0 的时候偶,我们就知道它没有 1 的位了,此时返回答案。这里关键的想法是对于任意数字 n,将 n和 n - 1 做与运算,会把最后一个 1 的位变成 0 。为什么?考虑 n和 n - 1 的二进制表示。图片 1. 将 n 和 n-1...

2019-12-30 21:10:03 144

转载 背包问题-笔记整理

https://blog.csdn.net/weixin_41162823/article/details/87878853

2019-10-14 12:17:09 107

转载 Pytorch之浅入torchvision.transforms.ToTensor与ToPILImage

https://blog.csdn.net/qq_37385726/article/details/81771980#%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Ptorchvision.transforms.ToTensor%E4%B8%8EToPILImage

2019-09-16 22:47:26 498

转载 Pytorch之深入torchvision.transforms.ToTensor与ToPILImage

https://blog.csdn.net/qq_37385726/article/details/81811466

2019-09-16 22:38:32 578

转载 PyTorch简明笔记[2]-Tensor的自动求导(AoutoGrad)

真的好文章,对pytorch初学者有着很大的帮助,强烈推荐!!!!https://cloud.tencent.com/developer/article/1381900

2019-09-10 22:40:53 164

转载 【numpy求和】numpy.sum()求和

https://blog.csdn.net/u014636245/article/details/84181868

2019-09-06 03:48:52 1329

转载 pandas 数据类型转换(astype copy=False)

https://www.cnblogs.com/onemorepoint/p/9404753.htmlhttps://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.astype.html

2019-09-06 03:23:23 2171

转载 Numpy中ndim、shape、dtype、astype的用法

https://blog.csdn.net/Da_wan/article/details/80518725

2019-09-06 03:20:55 231

空空如也

空空如也

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

TA关注的人

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