自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lecholin的博客

All growth is a leap in the dark.

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

原创 C/C++编程的常识和注意点(不断更新)

由于编程过程中经常会遗忘一些C/C++的代码编写规则、函数使用规则(参数和返回值含义)等,所以每次都重新查阅百度,非常麻烦,所以稍微整理一下它们的注意点和知识点,欢迎指正~

2017-04-08 16:28:35 1342

原创 Ubuntu命令行操作

删除操作删除文件名中含有指定串的文件cd path containing these file>find . -type f -name "*something*" -delete删除后缀名相同的文件cd file>find . -name "*.abc" | xargs rmtmux操作会话管理 tmux new -s 123

2017-10-23 20:08:01 598

原创 Oxford Deep NLP学习笔记2:Overview of the Practicals

前言本节课是Oxford Deep NLP 2017 course的第二课,由Chris Dyer(Dynet作者之一)讲解关于本门课程的实践任务。Slides:https://github.com/oxford-cs-deepnlp-2017/lecturesVideos:https://www.bilibili.com/video/av9817911/?from=search&seid=2691

2017-09-21 18:36:25 536 1

原创 Oxford Deep NLP学习笔记1:Word Level Semantics

Oxford Deep NLP学习笔记1:Word Level Semantics本节课是Oxford Deep NLP 2017 course的第一课,由Ed Grefenstette讲解。Slides:https://github.com/oxford-cs-deepnlp-2017/lecturesVideos:https://www.bilibili.com/video/av9817911/

2017-09-16 21:52:27 1585 1

原创 EOJ 3236 字串非重复字符数排序

题目http://acm.ecnu.edu.cn/problem/3238/ 按字符串中不同字符个数从多到少的顺序进行排序,如果不同字符个数相同,按字符串的字典序排序。解题思路简单排序题,字符去重用python的set方法非常简单。自定义sort方法的排序规则,mycmp函数返回正数表示交换两个数。python中sort()方法自定义AC代码#coding=utf-8def mycmp(x,

2017-09-12 09:49:17 642 1

原创 EOJ 3239 最长的等差数列(排序+枚举)

题目http://acm.ecnu.edu.cn/problem/3239/ 题意: 给定n (1≤n≤100) 个数,从中找出尽可能多的数使得他们能够组成一个最长的等差数列。输出该最长等差数列的长度。 注意:当n=1时,构成长度为1的等差数列。解题思路由于这些数字不一定要连续,所以先对所有数字排序,便于后续比较大小和选取递增的序列。用以下几个变量维护一个等差数列:i 记

2017-09-11 19:36:58 622

原创 EOJ 3124 单词表(排序)

题目http://acm.ecnu.edu.cn/problem/3124/ 提取英文文本中的单词,重复出现的单词只取一个,把它们按照字典顺序排序,建立为一个单词表。 注意:单词与单词之间用空格或标点符号(逗号 (,),句号 (.), 惊叹号 (!), 问号 (?))分隔;提取的单词只包含 26 个英文字符。解题思路用C++做可能比较麻烦,直接上python的re模块。re.split(

2017-09-11 17:54:35 846

原创 EOJ 3036 按数据中1的位数排序(位运算+排序)

题目http://acm.ecnu.edu.cn/problem/3036/ 题意:输入n个数,按照 64 位二进制补码表示中 1 的位数从大到小进行排序。若两个数的二进制表示中 1 的位数相同,则按照数本身值由小到大排序。解题思路实质是求二进制表示中1的个数。利用位运算来实现,每次将n和n-1做与运算,即把n二进制表示中最右边的1去掉。重复操作直到n变为0,操作次数即二进制中1的个数。AC代

2017-09-11 15:18:59 687

原创 EOJ 3264 蚂蚁(模拟+栈)

题目http://acm.ecnu.edu.cn/problem/3264/ 题意:水平线上有 N 只蚂蚁,每只蚂蚁的位置及大小均不同。他们沿着 X 轴爬行,有的向左,有的向右,爬行的速度是一样的,两只蚂蚁相遇大一点的会吃掉小的。 现在从左到右给出每只蚂蚁的大小和爬行的方向(0 表示向左,1 表示向右)。问足够长的时间之后,能剩下多少只蚂蚁?解题思路比较简单的模拟题。注意到输入是从左

2017-09-11 09:41:31 469

原创 EOJ 3276 连续正整数之和(模拟)

题目http://acm.ecnu.edu.cn/problem/3276/ 题意:给定一个正整数 N,判断其是否可以表示为一组连续正整数的和,输出符合条件的解的组数。如15=1+2+3+4+5=4+5+6=7+8,组数为3.解题思路设连续整数的起始数为i,连续个数为k,那么n=i+(i+1)+(i+2)...(i+k−1)2=(2∗i+k−1)∗k2n =\frac {i+(i+1)+(i+

2017-09-10 17:39:52 807

原创 EOJ 2857 编辑距离(动态规划)

题目http://acm.ecnu.edu.cn/problem/2857 题意:解题思路编辑距离算法详解:Levenshtein Distance算法AC代码#include <bits/stdc++.h>using namespace std;const int maxlen = 505;int dp[maxlen][maxlen]; //(m+1)*(n+1)int main(){

2017-09-10 16:40:55 453

原创 EOJ 1076 染气球(树状数组)

题目http://acm.ecnu.edu.cn/problem/1076/ http://acm.hdu.edu.cn/showproblem.php?pid=1556 题意:给定区间[1, N],每次输入一对整数a, b表示区间[a, b]中的每个元素都加1,最后统计[1, N]中每个元素的值。解题思路题目看上去很简单,但是如果单纯遍历[a, b]对数组元素更新,会超时,原因是这样一个个

2017-09-10 15:23:59 451

原创 EOJ 3290 找数(III) (模拟+简单数字串)

题目http://acm.ecnu.edu.cn/problem/3290/ 题意:“非上升数”表示一个整数的高位数码不会小于低位数码。如54332111, 111等。给定一个整数n,找出不小于n的最小“非上升数”。解题思路最自然的想法是,通过扫描s[i] < s[i+1]找到上升点,然后对上升点前的s[i-1]+1,后面全部填0。但是要考虑到s[i-1]+1后可能会破坏前面的非上升序列,因此

2017-09-09 17:11:14 493

原创 EOJ 3292 解密字符串(排序)

题目 题意:为防止泄密,将数码0到9用全大写的英文单词表示并将所有字母打乱。密码114表示为ONEONEFOUR,或OURNEONFOE,FOOONNEERU等。 给定一个大写字母表示的字符串,要求算出原来的数字表示的密码(非递减)。解题思路 0-9对应的大写英文单词: ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT,

2017-09-09 15:50:54 470

原创 EOJ 3297 铺瓷砖(DFS)

题目http://acm.ecnu.edu.cn/problem/3297/ 题意: 有一长度为 N(N≤30) 的地板,给定三种不同瓷砖:一种长度为1,一种长度为2,另一种长度为3,数目不限。要求将地板铺满,且任意两个相邻的瓷砖长度均不等。 求一共有多少种铺法?在所有的铺设方法中,一共用了长度为1的瓷砖多少块?解题思路在DFS的过程中,用参数n表示剩余地板长度,pre表示前一块瓷

2017-09-09 14:29:30 983

原创 EOJ 1082 Easy to AC(枚举+二进制子集法)

判断 非负整数n (n<=1 000 000)能否表示为各不相同的非负数字的阶乘之和,比如9 = 1!+2!+3!

2017-09-09 11:00:20 390

原创 EOJ 3302 打印(动态规划)

题目http://acm.ecnu.edu.cn/problem/3302/ 题意:打印 n 个相同的字符,插入或删除一个字符花费的时间为 x,复制当前整个文本并且粘贴在后面的时间花费为 y,求完成 n 个字符的打印所需的最小花费时间。解题思路一开始想用BFS做,但考虑到可以删除字符,因此搜索空间可能会很大导致TLE,改用DP。用数组dp[i]来记录打印 i 个相同字符所需的最小花费时间,那么

2017-09-04 09:46:04 1131 4

原创 EOJ 3303 1的个数最多的整数(位运算)

题意:给定整数 a 和 b,输出区间 [a,b] 中对应二进制表示含 1 的个数最多的整数。如果存在多个解,则输出符合条件的最小的整数。

2017-09-02 20:35:30 942

原创 【深度学习入门—2015MLDS】2. Neural Network(Basic Ideas)

神经网络基础(预警:本节开始涉及数学符号及必要的微积分、线性代数运算)本节概要在上一讲中已经提到,“学习”就是要让计算机自动去实现一个复杂函数,完成从输入X到输出Y的映射。机器学习的基本框架如下图所示。本节将从神经网络的角度,应用这个框架。首先要定义假设函数集合(function hypothesis set),又称模型(model),然后根据输入数据做训练,去找到一个“最好”的函数f∗f^*。最后

2017-08-19 20:10:56 1236 2

原创 【深度学习入门—2015MLDS】1. What is Machine Learning, Deep Learning and Structured Learning?

2015MLDS第1课——机器学习、深度学习和结构化学习

2017-08-19 10:56:30 3821 1

原创 【深度学习入门—2015MLDS】台湾大学李宏毅MLDS(2015)学习笔记

台湾大学李宏毅老师主讲的Machine Learning and having it deep and structured(2015)

2017-08-19 09:09:39 4732

原创 【环境配置】win10+Ubuntu16.04 双系统安装

如题

2017-08-14 14:53:39 550

原创 【深度学习】win10+Theano+GPU加速配置

记录配置python+Theano+GPU加速时遇到的一些坑,希望大家少走弯路。

2017-07-17 20:35:57 2685

原创 POJ 1159 Palindrome(最长回文子序列+滚动数组)

题目https://vjudge.net/problem/POJ-1159(POJ崩了,题目参照VJudge里的) 题意:给定一个字符串,求最少需要插入多少字符,使其成为回文串。如Ab3bD最少需要插入2个字符。解题思路要使插入的字符最少,那就要尽可能利用原字符串中的最长回文子序列。求出了最长回文子序列的长度,用原串长度减去它即答案。将输入串s逆序,得到s2求s和s2的最长公共子序列LCS

2017-07-02 16:21:20 423

原创 hdu 2962 Trucking(二分+最短路)

AC代码#include <iostream>#include <algorithm>#include <queue>#include <vector>using namespace std;const int maxn = 1005, INF = 1 << 27;typedef pair<int, int> P; //first代表距离,second代表顶点编号int n, road;

2017-07-01 19:54:24 438

原创 HDU 2544 最短路(Floyd/Dijkstra/SPFA)

题目http://acm.hdu.edu.cn/showproblem.php?pid=2544 题意:求从源点1到终点N的单源最短路径。解题思路单源最短路径的裸题,用来复习floyd和dijkstra。AC代码Floyd算法,复杂度O(n^3)#include <iostream>#include <algorithm>using namespace std;const int max

2017-07-01 16:32:34 247

原创 动态规划-经典题型

最少找零数 给定面值为v[0], v[1]…v[n-1]元的硬币若干,如何用最少的硬币凑够total元?状态:dp[i]表示凑够 i 元需要的最少硬币数状态转移方程:dp[i] = min { dp[ i-v[j] ]+1},其中i >= v[j],j=0..n-1。const int maxn = 100, INF = 1 << 27;void dp_coin() //动态规划求最少找零数量

2017-07-01 10:11:23 309

原创 HDU 1166 敌兵布阵(树状数组)

题目http://acm.hdu.edu.cn/showproblem.php?pid=1166 给出数组A的每个元素的值,执行以下三种操作: Add(i, j):A[i]加上j Sub(i, j):A[i]减去j Query(i, j):求A[i], A[i+1]…A[j]的和解题思路树状数组的裸题。树状数组( Binary Indexed Tree,BIT,二分索引树)的

2017-06-30 20:24:17 227

原创 POJ 3255 RoadBlocks(次短路+dijkstra变形)

题目http://poj.org/problem?id=3255 题意:求从起点到终点的次短路。次短路是指比最短路长的路径中,相对最短的那一条。解题思路《挑战程序设计竞赛》中的一道题。 引用别人的博文->图论算法小结:次短路的求解 首先来回顾一下Dijkstra算法的原理:首先把所有结点的最短距离设置为无穷大,然后令d[0]=0。接下来,每次都找到最短路已经确定的经典,更新从它出发的相邻

2017-06-30 14:37:19 329

原创 POJ 1804 Brainman、 EOJ 3234 Sort(归并排序+逆序对)

题目http://poj.org/problem?id=1804 题意:求数组中的逆序对个数。逆序对指的是满足ai > aj的数对(ai, aj)。解题思路在归并排序的合并过程中,加入统计逆序对的语句即可。 归并排序利用了分治的思想,将数列a[l, r]分成两半a[l, mid]和a[mid+1, r],分别进行归并排序,然后再将这两半合并(merge)起来。 在合并的过程中(设

2017-06-29 21:34:26 406

原创 琐碎BFS/DFS

简单部分和 给定n个数字,能否取出部分数字的和等于k。DFS适合于解决“是否存在解”的问题。复杂度随数据量呈指数级上升,只适合于小数据量。DFS(i, sum)表示处理完前i-1个数以后的和为sum,正要对第i个数处理。对第i个数处理时,要么将s[i]加到sum里,要么跳过这个数,然后继续搜索。 剪枝:当处理到第i个数时已经溢出k,则直接返回false。#include <iostream>

2017-06-29 20:25:15 184

原创 PAT 1079 Total Sales of Supply Chain(树遍历+BFS)

题目https://www.patest.cn/contests/pat-a-practise/1079 题意:将零售商-经销商-供应商这条链抽象为一棵树;供应商作为根节点,出货物的价格为p,然后从根结点开始每往下走一层,该层的货物价格将会在父亲结点的价格上增加r%,给出每个叶结点(即零售商)的货物量,求他们的价格之和。解题思路供应商-经销商-零售商三者的关系可以看作是树的根节点-内部节点-叶

2017-06-29 15:34:23 341

原创 PAT 1034 Head of a Gang(图遍历+BFS)

题目https://www.patest.cn/contests/pat-a-practise/1034 题意:给出1000条以内的通话记录A B和权值w,如果一个团伙人数超过2人并且通话总权值超过阈值k,令团伙里面的自身权值的最大值为头目,输出所有满足条件的团伙的头目,和他们团伙里面的人数。解题思路数据结构邻接表存放图的邻接关系,weight数组存放节点权重邻接节点 = 它通话过的所有节点

2017-06-29 11:55:17 313

原创 总结:大整数类加法、乘法

总结了一下大整数的加、乘操作涉及的代码。 需要注意的点:注意C++类的语法,尤其是构造函数、重载内访问另一个对象数字在数组中是逆序存放的,每一位都是十进制表示,用len来记录这个大整数的有效长度加法操作时,由于两个数的长度可能不一,因此不能漏掉多出来的那一段,以及最后的溢出位。乘法操作时,每一次外层循环(从最低位开始遍历第二个数)得到的乘法结果,要和前一次乘法结果错开一位相加。输出时,注

2017-06-28 17:26:14 1467

原创 PAT 1032 Sharing(哈希)

题目https://www.patest.cn/contests/pat-a-practise/1032 求两个链表的首个共同结点的地址。如果没有公共节点则输出-1。解题思路总体思想就是都地址哈希,由于不要求输出字符,所以不需要结构体。刚开始想法是统计地址出现的次数,而不去遍历后来形成的链表,出现次数为3的地址即公共节点地址(也可能是首个地址则次数为2),但是尝试了很久都无法通过测试3和测试5

2017-06-20 22:36:38 405 1

原创 PAT 1030 Travel Plan(单源最短路径+优化Dijkstra)

题目https://www.patest.cn/contests/pat-a-practise/1030 题意:给出每座城市之间高速公路的长度和花费,求从给定起点到终点的最短路径并输出,若有多条最短路径,记录花费最小的那条。解题思路本题是单源最短路径的简单变形。不仅要考虑距离,还要考虑花费。关于单源最短路径,详见之前的一篇博客:PAT 1003 Emergency(单源最短路径+Dijkstr

2017-06-17 19:48:19 291

原创 PAT 1029 Median(中位数+归并排序)

题目https://www.patest.cn/contests/pat-a-practise/1029 题意:求两个排好序的数组合并后的中位数。解题思路担心直接sort会超时,所以拿归并排序的merge方法合并数组,即从每次都从两个数组剩余的元素中挑出最小的,若某个数组先挑完,则另一个数组原样抄回。然而,sort也能过……(摊手)AC代码#include <iostream>using n

2017-06-16 22:41:00 774

原创 PAT 1025 PAT Ranking(双重排序)

题目https://www.patest.cn/contests/pat-a-practise/1025 题意:给出每个考场中每个学生的成绩,求所有学生的总排名以及所在考场内的分排名。注意,同分的学生排名相同,其后的学生排名后推。解题思路简单的排序题,用结构体保存每个学生的所有信息。先对分数局部排序,再整体排序即可。需要注意的是排名的值,与前一个学生同分的时候排名相同,否则排名为比该学生分数高

2017-06-16 19:48:14 1078

原创 PAT 1024 Palindromic Number (大整数相加)

题目https://www.patest.cn/contests/pat-a-practise/1024 已知非回文串可以通过不断和自身逆序相加来得到回文串,称为一次操作,如67+76=143+341=484的操作次数为2。给定一个正数N和操作的最大次数,判断该数串在最大操作次数内能否得到回文串。解题思路由于N最大可以为10^10,操作次数最多可以为100次,所以数字长度会很长,在long l

2017-06-16 17:03:52 397

原创 PAT 1023 Have Fun with Numbers(简单计数+大整数)

题目https://www.patest.cn/contests/pat-a-practise/1023 题意:输入一串不超过20位的数字,将该数字串乘以两倍后,判断新数串是否为原数串的一个排列。解题思路统计旧字符串中数字0-9的出现次数和新字符串中数字0-9的出现次数,若两者完全相同,则新数串是原数串的一个排列。AC代码#include <iostream>#include <cstrin

2017-06-16 15:19:02 221

空空如也

空空如也

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

TA关注的人

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