自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yobobobo的专栏

Talk is Cheap, Show me the Data

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

原创 真正的python 多线程!一个修饰符让你的多线程和C语言一样快

Python 多线程因为GIL的存在,导致其速度比单线程还要慢。但是近期我发现了一个相当好用的库,这个库只需要增加一个修饰符就可以使原生的python多线程实现真正意义上的并发。本文将和大家一起回顾下GIL对于多线程的影响,以及了解通过一个修饰符就可以实现和C++一样的多线程。GIL的定义GIL的全称是global interpreter lock,官方的定义如下:In CPython,...

2019-08-13 11:04:55 444

原创 [Model-based]基于模型的强化学习论文合集

[Model-based]基于模型的强化学习论文合集最近组里在讨论接下来在强化学习这块的研究方向,在讨论之前,我们把强化学习各个子方向的论文都粗略过了一下,涉及到model-free/model-based/multi-agent/deep exploration/meta-learning/imitation learning/application/distributed training等...

2019-07-11 00:30:39 653

原创 我所理解的word2vec

建议前往个人博客:http://yobobobo001.github.io/2016/05/26/%E6%88%91%E6%89%80%E7%90%86%E8%A7%A3%E7%9A%84word2vec/ 更好阅读显示 最近开始加固NLP的基础技能,首当其冲的是word2vec,对word2vec的印象一直停留在:学出来的向量隐含了词语的信息,向量之间的夹角可以表示词语之间的相关性。现在,一

2016-06-22 16:04:03 11932 1

原创 我们常说的正则化防止过拟合是怎么一回事

从上周开始,突然想起了正则化这么个东西,一直都听到加个范数就可以防止过拟合,正则化为什么这么神奇呢? 断断续续地看了一周的相关书籍,博客,决定先来个短暂的总结,以后有了更深入的理解再来补充。什么是过拟合第一范数正则化项定义模型变化基于 Occams razor 的解释第二范数正则项定义模型变化现在我们给它加上一个一范数正则化项有condition number再遇贝叶斯

2015-10-04 19:21:34 12916 3

原创 HHKB 使用一月体验

小时候家里人为了防止开电脑打游戏,把鼠标键盘都藏起来了,为了能打游戏,那一年,和哥哥合资30大洋一起买了山寨的双飞燕。忆键盘之往昔:集训队实验室刷题那会,偶然得知机械键盘这么一类键盘,查了下价格,300起步,都够我半个月生活费了。去年百度之星决赛,目睹了其他选手自带的机械键盘,大早上等着会场开门的时候手里握着一把机械键盘的人真是让人羡慕不已。决赛的时候全场配套 cherry 的机械键盘,还贴

2015-10-03 19:07:56 8830 3

原创 致敬贝叶斯以及自己对贝叶斯的一些见解

记得大二的时候,概率论里面有全概率公式这么一个东西,可是当时仅仅为了应付考试并没有体会到贝叶斯的强大,接触机器学习之后,渐渐体会到贝叶斯的神奇,也能通过贝叶斯来解释更多的模型。贝叶斯由来与日常思维相似的推导过程由已知推导未知贝叶斯的应用朴素贝叶斯贝叶斯网络换个角度理解贝叶斯贝叶斯与正则化防止过拟合贝叶斯由来与日常思维相似的推导过程以下是火影忍者剧情中的某个日常: 第一集:某风和日

2015-10-01 01:16:34 2093 2

原创 GBDT(Gradient Boosted Decision Tree)

GBDT,全称Gradient Boosted Decision Tree,是一个由多棵决策树组成的模型,可用于分类,回归。GBDT的由来通俗的理解方式数学表达GBDT的由来决策树是常见的模型之一,它通过启发式搜索的方法来寻找划分特征的区间(划分特征向量的空间),划分的依据有好几种,比如信息增益,基尼指数之类的。决策树常见的一个问题就是过拟合(当然,这是所有模型都会出现的一个问题,这是在决

2015-09-16 11:51:51 4910 8

原创 Kaggle系列——Titanic 80%+精确度纪录

因为最近模型上线收益没有符合预期,一直都没有时间搞,而且感觉Titanic的数据量太少了,做起来没意思,暂且优化到0.8的precision,排名700+

2015-09-04 22:24:40 17399 8

原创 PCA-Principal Components Analysis数学原理

PCA-Principal Components Analysis最近自学的重点是特征工程,首当其冲的当然是PCA,可是看了好几篇国内搜索靠前的博客大部分都是做法而不是原理,为什么协方差矩阵的特征值最大就说明投影到这个特征向量上比其他的好呢?对于机器学习大部分时间都是调用别人写好的库就像是个用着黑盒子的感觉,特来一发原理,附上完整的数学推导。

2015-08-16 22:25:59 5429 5

原创 PageRank---Bringing Order to the Web

PageRank-----------------Bringing Order to the Web motivation——为什么有这个算法一个搜索引擎收录了全球的网页信息,可是这么多的网页,到底哪个网页才是优质的网站呢?作为一个查找信息的用户,肯定希望搜索得出的结果是有充实内容的而不是充斥着大量广告的页面。那么,如何在成万上亿的网页中给他们做个重要性排序呢?PageRank很好地解

2014-12-10 18:10:23 1462 1

原创 决策树小结----统计学习方法读书笔记

决策树是一种基本的分类与回归方法,在分类

2014-08-10 17:35:20 1815

原创 CF/257/B/图论

题意描述:

2014-07-21 01:48:28 911

原创 codeforces251/D/线段树

线段树对区间取模。考试前就想写的题目QAQ,cxlove点了一下之后知道是什么回事了,先说下做法,暴力更新就行了,维护区间的最大值,每次把要取模的区间的最大值取出来,暴力更新,由于取模的性质可以保证每次取模之后至少比原数的一半还少,所以整体复杂度还是比较低的。现在简单证明下a%b 首先我们先设b = ka , k属于(0,1]1.若k 2.若k > 0.5,

2014-07-04 11:12:07 1269

原创 BZOJ 1588 朴素TREAP,寻找前驱和后继

不得不吐槽比较坑的数据。。寻找前驱和后继,取差值较小即可#include #include #include #include #include #include #define LL int #define inf 2000000000;#pragma warning(disable:4996)#define _CRT_SECURE_NO_WARNINGSusing

2014-03-13 01:23:41 2446

原创 可合并的TREAP

艰难地A了这个题目。。。还是代码能力太弱了。主要思想:位置可以变换。。但是某个位置对应的内存地址是不会变的,沿着某个节点的父亲往上暴力统计就能知道他现在在什么位置了,注意先pushDown#include #include #include #include #include #include #pragma warning(disable:4996)#define _CRT_

2014-03-12 23:17:31 1487

原创 HDU 4125 NlogN查找二叉树的生成

题意:题目给定一颗二叉树,前序遍历二叉树的时候产生一个01的欧拉序列,输出某个01串在此序列中出现了几次。总结:真是弱。。。。我居然模拟查找二叉树的生成,这可能退化到N^2。。。,引用了一个结论:http://www.cppblog.com/hanfei19910905/archive/2012/07/02/181144.htmlnlogn的算法生成静态二叉树,mark一下:

2013-08-24 19:22:39 1166

转载 专注做好一件事

作者: JACK ALTMAN  来源: 36氪    英文原文:Your best option is to be the best“人们对机会的估值过高,这是我在下棋的时候学到的一点。你其实只需要一个好的选择就行,没必要同时去追求 A、B、C、D。”——Peter Thiel  是让你的选择尽可能开放,还是全心全意抓住一个选择,专心做好一件事情——可以说

2013-08-14 20:59:43 1136 2

原创 POJ 3261 字符串

题意:给定一个字符串,求最少出现K次的最长重复字串,这K个字串可以重叠。做法:1.hash(二分最大长度,这里要判断的是枚举起点,然后对该长度的字串求hash值,统计下该字串出现了几次,如果>=k,则满足条件)    2.后缀数组(论文经典题,详细看论文)code:1.#include #include #include #include #includ

2013-07-22 10:01:42 795

原创 ubuntu安装sublime 的配置

下载C++环境:sudo apt-get install build-essential配置代码:{ "cmd":["g++","${file}","-o","${file_path}/${file_base_name}"], "file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$", "working_dir

2013-07-05 13:44:05 1902 1

原创 HDU 1150 二分图匹配 最小点覆盖

题意:有一序列的工作需要完成,现在有两台机器A,B,机器A有N个模式,机器B有M个,每个工作可以在机器A上的a模式下完成,或者在机器B的b模式下完成,机器变换模式时需要重启机器,问你最少的重启机器次数思路:这个题目可以将两个机器的模式看做二分图,对于某一个工作的两个机器的模式连线,然后求二分图的最小点覆盖(用最少的点使所有的边至少与某个点相连 (最小点覆盖)  == 二分图的最大匹配),注

2013-01-07 10:21:56 807

原创 HDU 3639 强连通缩点优化

题意:有一群孩子正在玩老鹰抓小鸡,由于想当老鹰的人不少,孩子们通过投票的方式产生,但是投票有这么一条规则:投票具有传递性,A支持B,B支持C,那么C获得2票(A.B共两票),然后问你获得最多票数的人是谁,最多能获得的票数是多少张思路:原始思路是对每个点跑一次DFS,然后统计,但是由于case比较多,必然超时,所以我们得优化一下,这个题目可以转化为有X个点以自己为根,包含了I,输出最大的X以及相

2013-01-04 21:37:24 1153

原创 HDU 4009 最小树形图

题意:有一个村庄需要给每户人家提供水,有两个方法:1.自己凿井    2.从有井的人家引过来,不同的方式有不同的花费,问你解决每户人家供水问题的最小花费。思路:构建一个超级源点,丛源点引一条边到每个点(花费为 home.z * X)),可以引水的两个人家间构建一条边,然后对超级源点跑一次最小树形图即可(引用HH大牛的模板)。总结:这个题目如果不是看了最小树形图的专题的话,目测我是没有能力做

2012-12-26 19:55:44 1210

转载 【转】让人深思的退役贴

3xian退役贴---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------最后一天,漫天飘起了雪

2012-11-06 20:58:23 1803 1

原创 HDU 4295 状态压缩dp + KMP

链接:http://acm.hdu.edu.cn/showproblem.php?pid=4295题意:给你一个字符串和他的4个子串,将这4个子串放到原串里面(可以重叠),问你最多能覆盖多少个字符,最少能覆盖多少个字符解析:网赛的时候DP还是太水了,居然不敢想这个题目,现在看下,其实这个题目还是不难的,只是不好写,用KMP预处理子串可以插入的位置,dp【i】【j】【k】表示位置i,4个字符

2012-11-02 19:22:30 882

原创 POJ 1935 树形DP

比较好的一道树形DP,与POJ 2486 对比可以加深对树形DP的理解。题意:给你一棵树和它的根节点,然后给出一些需要遍历的点,问你遍历这些点至少需要多少时间。解析:dp【i】【0】表示从i节点出发遍历需要的点然后回到i节点,dp【i】【1】则表示不回来,状态想出来了,但是转移的时候并不像之前所做的树形DP一样,要求对于每个子节点都转移(因为有些子树中并没有要求遍历的点),这个怎么处理呢?

2012-10-31 11:41:48 732

原创 HDU 4433 类似于状态压缩的DP

这题卡了好几个小时,纠结,后来回想一下,其实是自己模型构建能力太弱了,想清楚的话就容易多了dp[i][j] 表示位置i,j表示i,i + 1,i + 2位置上的值,dp【i】【j】确保1-----i  - 1 的位置已经一一对应,然后转移的时候就分为上和下,上的话,注意一下,第一位上升A,第二位可以上升B(B 下的话,同理,转移的话,自己看下代码,应该蛮好理解的#i

2012-10-28 17:26:48 865

原创 HDU 3646 DP + 二分

链接:http://acm.hdu.edu.cn/showproblem.php?pid=3646题意:你有N把武器,每把武器可以对敌人造成一定的伤害(et:攻击力500,敌人血量为200,杀死敌人,攻击力剩余300),一共有K个敌人,你有M次魔法double武器的攻击力(加倍),使用武器是有规则的:武器有两个状态,一个状态为young,一个为old,新的武器状态为young,当你用它杀死一个

2012-10-26 11:10:16 739

原创 树形DP题集

更新。HDU 4340 Capturing a countryHDU 3586 Information Disturbing

2012-10-25 09:00:57 543

原创 zoj 3614 二维RMQ

链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4738题意:给你一个 n * m 的矩阵,然后有Q次询问,求一个a * b 的 子矩阵,使其方差最小(去掉子矩阵的最大值以后)分析:n 和 m 的范围是 0 - 300,q 最大为100,枚举的话是10 ^ 6,这就要求我们在O(1) - O(n^2) 内求出子矩

2012-10-23 20:27:59 767

原创 zoj 3644(关于最小公倍数的DP)

这个题目必须得记录一下,经典。dp【i】【j】 i表示现在在哪个点,j表示现在是第几个约数,记忆化搜索即可,做了一些题之后,发现这是个经典的设置状态方法。#include#include#include#include#define MOD 1000000007#define Max(a,b) ((a)>(b)?(a):(b))#define Min(a,b) ((a)<(b)

2012-10-16 21:18:00 769

原创 CF 176B - Word Cut (dp计数)

CF的每道DP题目都能让我回味良久,太经典了!!!!!!!!题意:给两个字符串A,B,每次操作能把A分为两部分C,D,组成DC,比如A是abcdefg,abc | defg ----->defg   |   abc,然后指定操作次数K,问在K步之内将A转化为B的方法数。链接:http://codeforces.com/problemset/problem/176/B解析:先暴力求出循环

2012-10-07 20:56:59 897

原创 HDU 3045 Picnic Cows(斜率优化DP)

这是个很明显的DP题目,排序之后容易想到DP方程为dp【i】 = dp【j】 + w【j + 1,i】然而4*10^5次方明显TLE,必须得优化,因为是一维的状态表示,所以四边形优化应该不可行(个人做题太少了,没见过一维的四边形优化)另外w函数和j有关,所以单调队列不可行了,只能往斜率优化想了,斜率优化证明还算容易吧,证出来之后就相当于模板了#include#incl

2012-10-07 12:52:41 1169

原创 cf 127 div .1 Fragile Bridges(dp 好题)

这个题目有必要标记下,和hdu的最大矩形面积一样,分为两类DP,最后枚举求解链接:http://www.cppblog.com/hanfei19910905/archive/2012/06/30/180831.aspx题意:有N个点,点与点之间存在通过次数被限定的桥,每通过一次桥,能获得一分,问你最多能获得多少分(起点自己决定)解析:从左边DP一次起,右边DP一次,dpl【i】【0】从

2012-10-06 11:44:53 804

原创 HDU 4274 spy work (树形DP)

相对水的一道树形DP,把父子关系想清楚了就容易多了题意:给出一部分节点的信息,问你这部分信息有没有冲突。大致题意。详细自己看。解题思路:我的想法是给通过两个数组表示各个节点的上下限,如果上限小于下限,那么这是冲突的,上限==下限,表明这点的工资是确定的。                     先输入各种关系,然后一遍DFS即可。我们得明白一件事,儿子只能够修改父亲的下限,不能修改父亲

2012-09-11 10:32:35 771

原创 双塔DP---- 一类以差值为状态表示的DP

从AOJ的塔,到POJ的ferry loading,ferry loading到浙江省赛的第7题Process the Tasks,发现这三个问题都是一类比较典型的dp,有必要好好总结一下,避免以后再出现就不会了这类题目比较原始的版本是AOJ的塔问题(题目链接)题意:给你一堆积木,选择其中的某些来组成两个相同高度的塔(对于某块积木,可以放在塔1,可以放在塔2,也可以都不放),问你最大组

2012-09-04 21:44:58 1861

原创 ZOJ 3471 状态压缩DP

比较明显的DP,由于数据比较小(maxn==10)所以状态压缩dp直接搞#include#include#includeusing namespace std; const int maxn=1025;int dp[maxn],pow[12][12],bit_mask[15];//0表示存活,1表示死亡int main(){ int n,i,j,k,newi,ans; b

2012-08-28 16:58:31 783

原创 poj 2609 动态规划

DP,注意单组输入,题目的进程无后效性,适合DP,由于当时没有估计出车子数量,用了滚动数组。现在来谈下DP状态的表示,比较容易想到的是DP【i】【j】【k】(现在的车子编号,队列1长度,队列2长度)明显MLE,其实我们只需要有前两维即可,因为最后一维可以从前面两维推知:k=sum【i】-j;问题转为存在性问题了,dp【i】【j】=dp【i-1】【j】|dp【i-1】【j-len

2012-08-27 00:13:32 1041

原创 poj 2844 多重背包

多重背包,二进制转化为01背包后可解存在性问题  dp【i】【j】=dp【i-1】【j】|dp【i-1】【j-coin【i】】;位运算#include#includeusing namespace std;const int maxn=100005;int bit_mask[30],nn;int coin[maxn],num[101],value[101];bool dp[

2012-08-25 00:50:12 658

原创 hdu 1506 dp思想的应用

我们要求最大矩形面积,那么我们应该求每个矩形向两边延伸的最大长度,最坏情况为0(n),必然TLE,那么我们可以应该DP的思想,用一个数组来保存一些结果。例如,dpl【i】表示从左边过来的最长,那么我们计算dpl【i】的时候,如果左边的比自己高,那么dpl【i】=dpl【i-1】,但是可能在前面还有更多符合情况的(比i-1低但是比i高),所以我们要用i-1-dp【i-1】,继续寻找,详情看代码

2012-08-24 20:36:11 1901

原创 个人DP训练(基础版)

题目链接    hdu 2955 Robberies01背包,转化为求被抓的概率。 题目链接       hdu   1864  最大报销额 01背包,每张发票的总额为容量和价值,注意预处理数据,对于浮点数,向大牛cxlove学了处理(%d.%d)接收小数 题目链接      hdu  1506 Largest Rectangle in a Histogram

2012-08-24 16:37:53 1856

空空如也

空空如也

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

TA关注的人

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