自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

untilyouydc

You don’t think other people’s understandings as the nuts and bolts in that you are yourself of great account and proud as a kin

  • 博客(486)
  • 论坛 (1)
  • 收藏
  • 关注

原创 写给自己

随想写给自己:You don’t think other people’s understandings as the nuts and bolts in that you are yourself of great account and proud as a king inside.真正不羁的灵魂不会真的计较什么,因为他们的内心有着国王般的骄傲。...

2019-03-25 18:55:24 510

原创 杀死GPU进程的方法

最近GPU上某些进程杀不死,查了一下说是因为父进程虽然kill了,但是子进程的内存还没有释放。因此要重新杀死父进程,我们通过 ps -ef|grep 进程ID ,来查找其父进程。然后再使用 kill -9 父进程ID 来杀死。...

2020-10-21 20:17:42 962

原创 LeetCode 214. 最短回文串(马拉车算法)

https://leetcode-cn.com/problems/shortest-palindrome/策略很容易看出来,只要求出以s[0]为起点的最长回文子串长度就行,因为以s[0]为起点的最长回文子串已经满足了回文串的要求,接下来只需要在前面加上s剩余部分的逆序即可。即将s分成s1+s2,其中s1为以s[0]为起点的最长回文子串。最后答案就是 s2^ + s (s2^表示s2的逆串)那么下面难点就是判断s[0]-s[i]是否能构成回文串。如果令i=0.....n,依次去判断的话,复杂度

2020-08-29 23:09:42 122

原创 Conscription POJ - 3723

题目本身不难,但好像题意有点难懂。给了N个男生,M个女生。要招募这(N+M)个人,需要花费1000*(N+M)。但现在男生和女生直接可以有一种联系,这种联系的数值为di,如果你想招募x,并且y与x 相连同时y已经被招募(其实即使y没有被招募,你也可以选择先花10000招募y,然后y就变成被招募状态了),那么你可以减少di元。因此,我们可以将招募的人统一用并查集合并,如果某条边的两个点x,y,不在同一集合时,代表这条边的值可以被减少。所以,最佳的做法就是每次选择权重最大的边,即用最小生成树的算法来

2020-08-28 23:00:20 85

原创 二叉搜索树的代码实现

1. 定义节点struct Node{ int val; Node* left; Node* right; Node(){ val=0; left=NULL; right=NULL; } Node(int x){ val=x; left=NULL; right=NULL; }};2. 构建二叉搜索树每当新插入一个值时,先在原树上进行查找,找

2020-08-24 14:44:43 339

原创 LeetCode 336. 回文对

题目链接:https://leetcode-cn.com/problems/palindrome-pairs/如果直接每两个字符串合并,然后去判断是不是回文串的话,会超时。其实可以转化为匹配问题。设原串为s,那么将s拆分成s1,s2两个串,如果s1是回文串,只需去列表里找是否存在s2的逆串。同理 如果s2是回文串,则去找s1的逆串。快速查找匹配字符串的方法就是用字典树,时间复杂度只有O(len),len为字符串的长度。这个题最重要的地方应该是学习一下字典树。struct Nod

2020-08-22 09:22:09 66

原创 LeetCode 679. 24 点游戏

题目链接:https://leetcode-cn.com/problems/24-game/思路:非常经典的暴搜题。虽然没有什么算法,但却是练习dfs的好机会。本质就是不断从数组中取出两个数,进行加减乘除运算,然后将新值在放入数组中。剪枝有两个方向,第一当找到能得到24的组合时,结束递归。第二,加法和乘法有交换性。class Solution {public: double eps = 1e-5; bool ans=0; bool judgePoint24

2020-08-22 09:15:34 77

原创 时间序列预测系列4

时间序列预测系列4主要内容本文主要讲述双阶段注意力模型的实现,即从时间和空间两个维度,分别使用注意力模型。具体模型的详细内容,可以参考下面这篇论文。链接:https://pan.baidu.com/s/1UePtoCnYcKXbb7eTwqvNiw提取码:j1c6本文专注于讲述如何用代码实现,对论文里的内容不做过多的解释。若想完全理解论文,需要多读几遍。本文应该是时间序列预测系列中最难的一部分,需要花费一定的时间去阅读代码和论文。论文核心思想空间注意力:每支股票每天的数据中,都含有多种因素

2020-08-18 14:15:29 279 3

原创 leetcode 1545. 找出第 N 个二进制字符串中的第 K 位

给你两个正整数 n 和 k,二进制字符串 Sn 的形成规则如下: S1 = "0" 当 i > 1 时,Si = Si-1 + "1" + reverse(invert(Si-1))其中 + 表示串联操作,reverse(x) 返回反转 x 后得到的字符串,而 invert(x) 则会翻转 x 中的每一位(0 变为 1,而 1 变为 0)例如,符合上述描述的序列的前 4 个字符串依次是: S1 = "0" S2 = "011" S3 = "0...

2020-08-13 10:26:34 127

原创 时间序列预测系列3

时间序列预测系列3主要内容前2篇已经介绍了基本的LSTM预测模型。本文将引入注意力机制。注意力机制原理本文不进行叙述,本文专注于如何用代码实现。往往我们预测某一值都是根据前T天的历史数据,将其输入到LSTM网络中进行预测。但其实我们可以发现对第T+1天的数据而言,前T天的数据对第T+1天的影响应该是不同的。就拿股票数据来说,可能T-1天股票价格发生了大幅度的降低,那么我们预测第T+1天时应该重点考虑到T-1天发生的变化。因此本文的工作就是采用注意力机制,对前T天的数据分配不同的注意力权重,从而达到.

2020-08-11 19:10:05 465 4

原创 CUM Sphinx的安装及使用

1. linux上安装CUM Sphinx保证Python环境为3.0以上。依次输入下列命令:pip3 install SpeechRecognition # python3.0+sudo apt-get install python3 python3-all-dev python3-pip build-essential swig git libpulse-dev libasound2-devpip3 install pocketsphinxpip3 install p

2020-08-01 22:09:37 94

原创 时间序列预测系列2

时间序列预测系列2本文是时间序列预测的第二篇。第一篇讲的是如何利用LSTM预测沪深指数的收盘价,其中我们只用收盘价作为输入数据。但其实这种做法并不完美,因为我们买股票的时候,并不只盯着收盘价的变化来分析,我们往往还会看收盘价,最高价,最低价,交易量等因素。因此本文将介绍,如何利用一支股票的多个因素(最高价,最低价,开盘价,收盘价,交易量…)来预测股票的收盘价。基础的模型仍然是LSTM。数据读取本次实验使用中国黄金的历史数据。数据可以从下面的链接获取。链接:https://pan.baidu.c.

2020-07-21 20:23:34 161 4

原创 时间序列预测系列1

时间序列预测系列1本文是时间序列预测的第一篇,从最简单的使用LSTM来预测沪深300指数的收盘价。数据中只使用沪深300指数的收盘价,不考虑其他因素(开盘价,交易量等)。本文没有使用到高级的技术,仅仅只是调用一下LSTM而已,但对刚刚入门的人来说,学习如何处理数据,如何利用Keras搭建模型,是非常有用的。当熟悉了如何处理数据,如何搭建模型以后。后面很多实验就能很快实现了。基本的LSTM预测使用LSTM搭建模型,数据集使用沪深300指数的收盘价。时间步长T(即由前T天的数据,预测T+1天),.

2020-07-21 18:13:53 164

原创 人类简史读书笔记

人类简史读书笔记一直都想找一本历史性的读物来阅读,无意之中发现这本书。刚刚读了一章就停不下来了,吸引我的不是书中描述的历史,而是作者思考问题的角度。我们都知道,智人是从类人猿一步步进化而来,从食物链中普通的一环,一步步走到食物链的顶端,成为自然界绝对的统治者。作者就是从猿的进化开始,一步步描述我们经历的不同阶段,以及为何我们朝着这个方向发展。令我印象深刻的有四点。第一,我们人类之所以能战胜其他物种,最重要的不是我们懂得使用工具,而是我们懂得合作。为何我们愿意合作?为什么我们能组建成国家?原因就是有.

2020-07-20 23:15:05 117 1

原创 leetcode 5465. 子树中标签相同的节点数

代码能力越来越菜了......题目链接这题本来就是一个普普通通的DFS,但我却掉进了坑了,一直在超时,后面看了题解以后才恍然大悟。我一开始的想法是,dp[i][k]表示第i个节点为根的情况下,含有字符'a'+k的个数。那么从根节点开始dfs,回溯的时候累计一下就行。我的代码是这么写的:class Solution {public: int dp[100005][26]; bool bit[100005]; vector<vector<int>

2020-07-19 15:32:29 110

原创 大学生涯总结

大学生涯总结2020年7月5日下午9点10分,舍友们都离开了寝室,此时此刻,寝室只留下我一个人,那个最后走的人是我。从昨天到今天,很多同学逐渐离开学校,很多同学我们还没来得及交流,只是简单的合影留念,时间实在太短,转眼间就是离别。我们都不知道下次相聚是什么时候,或许,今日的离别,已是永别。初入校园我还记得4年前我来到上海的那一天,我坐了30多个小时的火车来到上海,一开始连地铁怎么搭都不知道。我还记得和老乡雷瑞一起去外滩看东方明珠的场景。大一的生活非常的悠闲,那时的我没有考虑未来的发展。大一基本是.

2020-07-06 10:24:45 595 2

原创 Codeforces Global Round 8 B. Codeforces Subsequences

题目链接思路:最少的字符数量,必然是利用组合数进行乘法运算。codeforces一共10个字符,当每个字符都增加一个的话,有2^10种选择,同理,每个字符都增加2个的话,有3^10种选择.....所以首先需要找到x^10 >k 。然后,按位数减小x即可。#include <bits/stdc++.h>using namespace std;long long get(long long k){ int j=k; for(int i=1;i<10;i

2020-06-19 09:28:12 134

原创 k邻近算法实现

k邻近算法实现前言k邻近算法是经典的机器学习算法,也是较为简单的一种。它的基本思想非常简单,去寻找与之最相近的一些点,根据这些点的性质,判断新点的性质。实现k邻近一般有两种方法,暴力计算和基于KD树的算法。暴力计算简而言之,直接遍历所有点,计算新点与这些点的距离,然后选出距离最相近的k个点。再根据这k个点的性质来做出判断。基于KD树的实现首先,需要了解KD树的思路。由于已经存在讲解非常好的博客,这里不在叙述KD树的思路,可以参考博客:KD树算法思路KD树算法图解本博客主要介绍如何用代码实现.

2020-06-17 21:45:52 236

原创 leetcode 1300. 转变数组后最接近目标值的数组和

思路:这种找最小满足条件的数,一般都是二分来做。首先枚举value。枚举好以后,为了能在O(logn)的时间内计算出和,可以先对原数组进行排序,然后二分找一下。最后,答案可能是l或者r。具体需要比较一下。class Solution {public: int findBestValue(vector<int>& arr, int target) { sort(arr.begin(),arr.end()); int n=arr.siz

2020-06-15 10:57:38 114

原创 LeetCode 739. 每日温度

思路:单调栈从前往后,维护一个单调下降的栈。当入栈元素大于栈顶元素时,说明栈顶元素已经找到下一个大于它的数了。class Solution {public: vector<int> dailyTemperatures(vector<int>& T) { vector<int> ans; int n=T.size(); if(n==0) return ans; for(int i=0;i&l

2020-06-12 09:50:47 95

原创 LeetCode 128. 最长连续序列

这题考查对map的使用。最简单的思路应该是开一个数组,如果含有这个数就标记为1.但这样做有两个问题,第一数据太大,第二存在负值。因此只能使用map来记录。令map[x]=x+1,那么给定x,只需要依次去查找是否有x+1,x+2....即可。这里不需要去找x-1,x-2的原因是,数组中总会找到最小数值的起点。为了能够加快查找,这里使用并查集,即假设x可以连续到x+3,那么将x并给x+3.这样就可以省去x+1,x+2的查找过程。这样需要使用unordered_map。因为map会自动排序,会使复杂度

2020-06-10 09:47:51 97

原创 LeetCode 面试题46. 把数字翻译成字符串

思路:dfs又是一道dfs的题目。做法基本上是一样的,本题难度其实已经被减少了,正常来说,应该让打印所有可能的串。我的做法是先将数分解,然后从最高位开始搜索,每次可以前进1步或两步(前提是满足值<=25)。最后累计一下即可。class Solution {public: int bit[100]; int n; int ans=0; int translateNum(int num) { memset(bit,0,sizeof(bit))

2020-06-09 10:45:10 84

原创 leetcode 990. 等式方程的可满足性

思路:并查集只有当出现‘!=’时才有可能不满足题意。因此可以先把相等的字母进行合并,合并完以后,判断不相等的字母是否在同一集合即可,如果在同一集合,那么必然会有矛盾。int f[27];int Find(int x){ if(f[x]==x) return f[x]; else return Find(f[x]);}class Solution {public: bool equationsPossible(vector<string>& eq

2020-06-08 10:41:46 67

原创 2020考研备考系列完结篇

2020考研备考系列完结篇这一年的考研经历,我都把它写成博客发布出来。这么做的初心是想要记录自己的点点滴滴,希望以后回首时,能想起这段岁月。这一年的备考是孤独的,初试备考时每天自己一个人冲向图书馆,为了能够占到相同的位置,每天强迫自己早起,复试时自己一个人在家复习。但好在有很多好朋友一起考研,数学不会的直接发给警长,他总是能给我做出来。专业课不会的,就和涛哥,杨欣一起讨论。每个周末,都和小伙伴们打一次球。现在回想起来,这段时光真的很美好。如今无法回到学校,可能这段时光就是我大学的终点,我没法再去图书馆4楼

2020-05-26 10:27:13 316 2

原创 2020考研复试经验贴

2020考研复试经验贴这部分主要分享复试的相关经验。我的复试准备初试结束以后,自己感觉考的不好,所以没出成绩之前,一直在准备找工作。2月份成绩出了以后,立刻开始准备复试。复试一共准备了12个星期,中间心态还崩过几次,幸好被同学点醒。我主要从英语听说、项目、专业知识这三个方面来准备。其中我最弱的是英语听说,因为我的英语实在太差了,所以每天早上起来第一件事就是练习英语。其次是项目,我本科期间没有科研项目,所以我决定认真的做好毕业设计。最后复试的时候,我认真准备的这两部分,都没考查,反而主要考查了专业知识.

2020-05-26 09:55:48 1044

原创 2020考研初试经验贴

2020考研初试经验贴之前一直因为论文的事拖着,现在论文基本上结束了,趁现在有时间,分享一下自己的考研复习经验。一共分为初试和复试两个部分吧,写完以后考研生涯正式结束。我的基本情况上海某211高校科班应届生。报考北京大学信息工程学院,初试我发挥的很差,离自己的目标分数还差很多,但幸运的是今年其他选手发挥也一般,并且北大专业课90分的线,帮我卡掉了一堆人。总的来说,自己也努力过了,运气也靠在我这边,然后就上岸了。北大基本情况北大和计算机有关的一共有4个学院。分别是微软、叉院、信科、信工。其中微软是专

2020-05-25 20:19:34 1185 2

原创 2020考研复试备考第12周总结

2020考研复试备考第12周总结从初试的36个星期,到复试的12个星期,这一切总算落下帷幕。昨天复试结束以后,心里总觉得空荡荡的,可能当长时间的压力突然消失以后,人会感觉不自在。先回顾一下复试过程吧。今年的网络复试,似乎老师并不想好好的搞。英语面试,只让进行了一下自我介绍,连问答环节都省了。而我复试备考的这几个月,花费了很大的力气训练自己的听说能力,最后竟然没有考查,这让我有点失望。其次,就是抽四道题回答,分别是趣味题,数学题,专业知识,算法题。抽到什么题目,那就是看运气了,我的第一题抽到了智能手机操作

2020-05-17 18:34:49 326 6

原创 2020考研复试备考第11周总结

2020考研复试备考第11周总结终于等到复试通知了。16号,也就是下个星期六。战线拉得太长了,让这一切都结束吧。结束以后,开始新的生活。本周完成的任务小论文写完准备了复试材料复习操作系统相关知识进行了一场模拟面试下周任务把专业课的知识全部梳理一遍写在最后总的来说,为了这场复试,也准备了很多东西,学了很多深度学习的知识,认真的做了毕设,也把相关的专业课看了。就这样吧,我也做了我能做的。那么,看看接下来会发生什么。...

2020-05-10 21:08:32 319 2

原创 2020考研复试备考第10周总结

2020考研复试备考第10周总结这个星期好像一直在搞毕设,星期一,星期二改出了能预测后N天的模型。最近这几天又把self-attention加了进来。毕设已经算做完了,后面就是完善一下论文,画一下图之类的事情。下个星期就出复试通知了,可能复试备考仅剩最后一周了,不过也好,这一切也该结束了。本周完成的任务每日英语复习了一点离散数学的知识数据结构看了一部分最后一次修改完成毕设下周任务...

2020-05-03 20:50:13 233

原创 dfs解决八皇后问题

在复习数据结构的时候,发现这了这个问题。之前好像也做过,刚刚自己推了一下,发现有个规律,所以决定写一下。在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。保证不在同一行,其实很简单,只要按行枚举就行,因为每一行只能放一个。保证不在同一列,也很简单,开一个vector记录一下之前的棋子放的位置,遍历一下,保证...

2020-05-01 22:33:25 345

原创 使用Google colaboratory 的方法

Colaboratory简介Google 除了开源 TensorFlow 之外,还在不断开放工具来协助 AI 开发。Google 现在又开放了其内部使用的开发工具 Colaboratory 。最初于 2014 年发佈,它有点类似文档协作工具 Google Docs ,但能够运行代码并在文档中显示输出的代码。Colaboratory 是免费的,基于 Jupyter 项目,通常用于数据科学...

2020-04-28 12:33:27 544 3

原创 2020考研复试备考第9周总结

2020考研复试备考第9周总结又一个星期过去了。复试的消息仍然没有传出来。感觉这个星期挺累的,但好像也没做多少事情。今天参加了优秀毕业生的答辩,自己的确没有什么突出的点,老师连提问都省了,就直接讲了1分多钟,结束。总的来说自己的确没啥优势,本科最重要的绩点,自己没有。竞赛的奖项又太低。当然,有高级别奖项的也没有多少。通过这次答辩,也了解了很多大佬的情况。不过,总的来说,就一句话,绩点高的人优势就...

2020-04-26 19:32:51 257

原创 深度学习实战1----TextCNN文本分类

深度学习实战1----TextCNN文本分类前言大三课程作业时做的项目,但当时啥也不懂,跟着一篇博客瞎做的,好像那篇博客写的也有点问题。目前那篇博客也找不到了。当时用的是TensorFlow,现在学习了深度学习的相关知识,对这个项目有了更深的理解,所以用Keras重新写了一遍。用到的数据集链接:链接:https://pan.baidu.com/s/1L84hOsnJQocJ4u7yJxun...

2020-04-22 17:43:27 649

原创 2020考研复试备考第8周总结

2020考研复试备考第8周总结难以想象,复试备考都进行到第8周了。目前来看,复试应该是在5月中旬,并且是网络复试。既然是网络复试,那肯定就没笔试,机试啥的,估计就是20分钟左右的视频面试。这样的方式其实有点问题的,一个20分钟的面试,就决定了很多人一年的努力。不过也没办法,兵来将挡水来土掩吧。这个星期好像也没做太多事情。周二突然通知要中期检查,还要交报告,所以我又不得不花时间写了份报告,今年才...

2020-04-19 20:56:31 288

原创 leetcode 面试题56 - I. 数组中数字出现的次数

思路:非常经典的位运算。先进行一次异或操作,相同的数字被抵消了。剩下两个不同的数字的异或值。剩下的事,就是把这两个不同数给拆分出来。这么想,两个数异或出来的值,如果某一位为1的话,那么这一位对应的这两个数一定是不同的。所以,最后根据i&(-i)的值。来划分数组。class Solution {public: vector<int> singleNum...

2020-04-14 16:38:17 168

原创 LeetCode 445. 两数相加 II

解题思路无需逆转链表。两次dfs即可第一次,需要计算出两个链表的长度。第二次,回溯过程中,直接进行相加计算。这个要求对回溯有很好的理解。/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x...

2020-04-14 11:54:20 99

原创 历年上机题-----位操作练习

题目描述给出两个不大于65535的非负整数,判断其中一个的16位二进制表示形式,是否能由另一个的16位二进制表示形式经过循环左移若干位而得到。 循环左移和普通左移的区别在于:最左边的那一位经过循环左移一位后就会被移到最右边去。比如: 1011 0000 0000 0001 经过循环左移一位后,变成 0110 0000 0000 0011, 若是循环左移2位,则变成 1100 0000 0000...

2020-04-13 11:09:42 136

原创 2020考研复试备考第7周总结

2020考研复试备考第7周总结这个星期算是非常不错的一个星期了。自己复习状态感觉还不错。星期一去扫了墓。现在回忆起来,好像我已经快4年没去扫墓了,今年总是有机会。也不知道下次扫墓是什么时候。这个星期,导师突然要我预测海温,我有点不知所措,前3个月一直在预测股票。花了大概3天才和同学把它搞定了,难点在数据处理,海洋数据之前一直没接触过,以后处理起来可能会快一些。目前算法模型一直没有更新,我的多...

2020-04-12 20:16:41 254

原创 利用Keras,在神经网络中实现正则化

1. 正则化的相关概念正则化是一种常见的解决过拟合问题的处理方式。一般有两种正则化方式,L1正则化和L2正则化。其中常用的是L2正则化。两者的定义可以看下图:可以看出,之所以叫L2正则化,是因为它是平方项之和。所以以后从名字,就可以写出它们的表达式。L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择 L2正则化可以防止模型过拟合(overfitting);一...

2020-04-12 15:37:04 1791 4

原创 历年上机题-----全排列

题目描述给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。 我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。输入描述:输入只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。输出描述:输出这个字符串的所有排列方式,每行一个排列。要...

2020-04-10 11:31:00 90

空空如也

untilyouydc的留言板

发表于 2020-01-02 最后回复 2020-05-15

空空如也

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

TA关注的人 TA的粉丝

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