自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

taotao 的大学墓志

keep thinking! keep learning!

  • 博客(324)
  • 资源 (1)
  • 收藏
  • 关注

原创 信息检索(IR)笔记2: Rank: 基于概率的rank model

这是cs276 information retrieval & web search的笔记2,这里总结关于IR 系统中,rank的一些概率模型,BIM,BM25文章目录introductionBIM( binary independent model)Retrieval Status Valueestimate ciBM25(Best Match 25)approximationsa...

2019-10-07 11:25:03 1383

原创 信息检索(IR)笔记1: 倒排索引(Inverted Index)

建立索引是 information retrieval 的一个核心问题,这一节简单记录关于index的相关笔记.所有内容均来自 stanford cs276 information retrieval & web search文章目录text preprocessinginverted indexsimple constructionposional indexindex constr...

2019-10-07 10:58:29 2361 1

原创 Kick Start 2019 round E 题解

A. Cherries Mesheasycode : githubB. Code-Eat Switcher这题结束后想通了,可以贪心,将 (ci,ei)(c_i,e_i)(ci​,ei​) 按照 ci/eic_i / e_ici​/ei​ 排序,然后贪心.codegithubC. Street Checkers这题还是很容易的,首先翻译一下题意,对于一个数 XXX, 如果它的奇数因...

2019-08-25 21:18:30 1102

原创 c++中range-based for 的性能分析

这要是对以下几种在c++里的 for-range-loop做一个总结for(auto e : container)for(auto &e : container)for(const auto &e : container)for(auto && e : container)这里主要是参考 ref [1] stackoverflow里的类容,他总结的很好...

2019-08-23 16:11:55 770

原创 Kick Start 2019 round D 题解

整体来说这次的题不是很难,我都能自己想出来,并写完,但是这次马力有点大,C题写了2hrs…A.X or What?这题比较简单,重点在一个 xor的性质,与位的异或次序无关即两数A,BA,BA,B 共 KKK 位⋀iAi∧Bi=(⋀iAi)∧(⋀iBi)\bigwedge_i A_i \wedge B_i = (\bigwedge_i A_i)\wedge (\bigwedge_i B_i...

2019-08-22 22:45:52 688

原创 Kick Start 2019 round C 题解

A. Wiggle Walk难度 模拟,编码,hashtable这个题比较简单,可以直接模拟,用一个 hashtable 维护 dp[x][y][dir] [注意这里不是开数组], 因为只有 N≤5e4N \le 5e4N≤5e4 个点所以用hashtable维护就好,复杂度 O(n)O(n)O(n)code : githubB. Circuit Board难度 RMQ每一行都是独立...

2019-08-17 13:33:50 597

原创 Kick Start 2019 round B 题解

A. Building Palindromeseasycode : githubB. Energy Stonesknapstack 变种.题意nnn 块石头,每块石头有 3 个参数, 初始能量 eee, 每秒能量损失 lll, 吃完所需要的时间 sss, 若石头能量损失到0,或者负数,该石头能量为0. 求吃完说有石头所能够得到的最大能量值link :https://codingco...

2019-08-15 19:37:16 716

原创 Count Min Sketch: from Finding the Majority Element problem to heavy hitter problem,统计元素频率的利器

这是笔者学习 Stanford cs 168 课程的一些学习笔记lecture 2, 主要讲一个基于 hash 和独立试验思想,设计的一种数据结构 count min sketch,想法非常类似于 bloom filter,都是以牺牲准确率换空间和时间。heavy hitter problemFind majority element先来看一个简单的在面试中经常会遇到的问题,找主要元素...

2019-05-09 00:43:18 868

原创 consistent hash : 一致性hash 简单笔记

记得我人生第一次参加面试的时候,面试官问我的就是这样一个问题: 你有很多台服务器,每台服务器上都存放着很多数据,现在要加一台服务器,如何才能让数据搬迁尽可能的少,同时能让每台服务器经可能的负载均衡。现在才发现,这就是可一致性hash 问题,当时我答了个hashMap中的rehash操作,给糊弄过去了…具体的内容可见 reference,这里大致记录一下问题定义简化问题如下:有 mmm...

2019-05-04 01:40:41 491

原创 MIT 6.824 lab1: mapreduce 学习总结

这是 MIT 6.824 课程 lab1 的学习总结,记录我在学习过程中的收获和踩的坑。我的实验环境是 windows 10,所以对lab的code 做了一些环境上的修改,如果你仅仅对code 感兴趣,请移步 : github/zouzhitaomapreduce overview先大致看一下 mapreduce 到底是什么我个人的简单理解是这样的: mapreduce 就是一种分...

2019-04-06 14:55:05 1391 4

原创 kick-start 2019 round A: 题解

题目链接A. Training这题很简单,处理一下前缀和就完事儿,没什么好说的。当时就做出了这个题

2019-04-03 00:53:35 1815

原创 (co-,contra-,in-)variance in Scala, what is [+-A]

本文主要总结Scala中关于generic variance(泛型变化, 我也不知道该怎么翻译,以下称 GV),(co-,contra-,in)variance in Scala 的相关知识,什么是 generic variance 呢?我的感觉是一种泛型类型的类型系统,应该和 type system 比较相关,(PL专家就不要嘲笑我了)。比如: List<Integer>是 Lis...

2019-03-27 01:16:26 474

原创 tail recursion 尾递归

尾递归并不是函数式编程才有的特性,c++ 里面也是有的。第一次接触尾递归,是在 UW的coursera课程中,第二次是在sensetime的面试中,面试官问我了解尾递归吗,什么情况下编译器可以用尾递归优化。这里虽然使用 scala作为实例讲解尾递归,但请注意,这并不是scala语言中才有的特性先说定义,尾递归就是一种特殊的递归,这种递归编译器可以优化,怎么优化呢?如果递归的过程中可以用被调用...

2019-03-16 09:40:20 717

原创 如何 gitignore .gitignore

场景:有一个 repo,现在想要加一个文件,但不想被tracking,很自然的想法是将它放在 .gitignore 中,但是同时又不想 .gitignore被tracking 应该怎莫办呢?.gitignore 在被 tracking(commit) 之前 可以直接在 .gitignore 文件中将它自己加上如果 .gitignore 已经被tracking 了,那更好的方式是将 igno...

2019-03-07 11:31:10 765

原创 PAC与样本复杂度

这篇文章主要总结 PAC 学习框架以及样本复杂度相关的东西,大致来说就是:要保证以概率 1−δ1-\delta1−δ 使得 generalized error 小于 ϵ\epsilonϵ 需要多大的样本复杂度,以及时间复杂度才是好的。问题及约定符号约定两个 error 符号就是我们常说的 train error 与 true error接下来是定义我们要研究的问题简单的来...

2019-03-06 23:56:11 1852 1

原创 Adaboost & gradient boosting学习总结

纸上得来终觉浅,觉知此事要躬行。综上,我什莫都不懂.这仅仅是个人的学习防忘笔记Adaboost关于 Adaboost 的算法描述其实很简单,有趣的是的它的误差分析:algorithm其中KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲\epsilon_t &amp;amp;amp;amp;...

2019-03-05 00:49:39 1666

原创 kickstart 18 roundB Sherlock and the Bit Strings(状压dp/计数)

文章目录题目链接大意分析状态转移构造解code总结小技巧题目链接kickstart 18 roundB Sherlock and the Bit Strings大意寻找一个长度为 nnn 的字符串,满足以下条件:满足 kkk 个条件: ∑j=AiBisj=Ci,i∈{1,2,…,k}\sum_{j=A_i}^{B_i}s_j=C_i,i\in \{1,2,\dots,k\}∑j=Ai​...

2019-02-28 10:56:50 561

原创 kickstart 2018 roundB A.no nine(digit dp)

文章目录题目链接分析code题目链接kickstart 2018 roundB A.no nine(digit dp)就是问: [a,b] 中不包含 9,不是9的倍数的数有多少个分析很裸的数位dp只要前面放的位数和相同,他们的结果应该是相同的好久没写了,中间出了一个bug, 注意状态 这里dp[pos][sum%9][state]超出范围和没有超出范围的结果完全不一样,将状态d...

2019-02-26 17:40:40 543 5

原创 kickstart 2018 :Scrambled Words(hash+complexity)

以我面试多次大厂的经验,无论是笔试还是面试,大厂的算法题目都不会考非常难实现的数据结构或者算法模板,通常喜欢的还是偏思维的 hash, 复杂度,dp,这样一些简单算法题目链接google kickstart 2018 Scrambled Words分析分析在题目网站有,首先需要想到的就是不同串的长度只有 O(∑wordsi)O(\sqrt{\sum words_i})O(∑wordsi...

2019-02-21 23:07:20 536

原创 凸优化简单学习笔记

本文来源于个人的凸优化学习笔记参考cs229 cvxoptnote,写成笔记的原因仅仅是想通过个人的笔记自己讲述与推导一下这些数学公式,内容可能会很简单,强力建议想得到一手资料的人好好学习文末参考资料凸集合定义就直接跳过了,这里简单写一些常见的凸集凸集的交, 设 Ci,i=1,2,3,...,nC_i,i = 1,2,3,...,nCi​,i=1,2,3,...,n 是凸集,那么我们有...

2019-01-24 23:21:04 557

原创 点到超平面的距离简单证明

这是一个简单的问题,定义如下:设, y(X)=WTX+b,X∈Rn,b∈Ry(X) = W^TX +b, X \in R^n,b \in Ry(X)=WTX+b,X∈Rn,b∈R, 是一个 affine function(这个不重要,是个函数就行),超平面为 h:WTX+b=0h:W^TX +b=0h:WTX+b=0, 证明: RnR^nRn 中任意一点 XXX 到 hhh 的距离为 ∣y(X)...

2019-01-23 01:21:15 3066 2

原创 商汤AI平台开发工程师实习面试总结

面试距今应该已经过去一个月了,一直没有总结,这里还是简单总结一下问题,其实感觉问的挺简单的.我面的是 AI平台开发工程师,就是做应用落地的,智能安防部门。做的是视频安防,offer get一面一面先是简单聊了一下简历,问的相当简单,(PS:尽然被吐槽简历太简单了[捂脸…]),这边应该用的是 c++ 为主,所以问了很多c++的东西。先问了一些计算机基础:并行与并发的区别进程通信的方法...

2019-01-20 23:14:26 1509 5

原创 牛顿法总结

这里总结一个利用二价导数来求最优解的方法-牛顿法:设: f(X)f(X)f(X) 是一个多维函数,由taylor 二阶展开,我们有,f(X)≈f(X0)+(X−X0)∇f(X0)+(X−X0)∇2f(X0)(X−X0)2f(X) \approx f(X_0)+(X-X_0)\nabla f(X_0) + \frac{(X-X_0)\nabla^2 f(X_0)(X-X_0)}{2}f(X)...

2019-01-20 23:02:20 379

原创 AI 玩2048

最近写了个AI 玩2048 的小游戏,简单记录一下过程项目地址 : https://github.com/DylanFrank/Learn/tree/master/CSMM101AI/project/2048-game核心代码是这一块儿 :playerAI_3.py其他代码都是系统给的核心逻辑最开始我是想 写一个alpha-beta剪枝来着,但是效果不好,后面我改了一下逻辑,变成期望最...

2018-11-16 23:53:34 2478

原创 NOIP 普及组 04 对称二叉树

题目链接测评地址得一课二叉树,问: 兑换所有子节点左右子树,让其树不变(意思是兑换了后还是一样的树),求能做此操作的最多的节点数目分析其实就是求中序遍历后最大的回文串,不过由于这是一课二叉树,如果不知道 manacher 算法(O(n) 求每个回文)可以直接求出中序后暴力判断回文。可以想想最坏情况每个点都判断,那么这棵树肯定高度平衡,树高 O(logn)O(logn)O(logn),所以最...

2018-11-15 22:16:57 446

原创 MIT 6.031 Software Construction 学习笔记:(四) Avoiding Debugging

这章Reading 9: Avoiding Debugging给了我很大的收获,以前一些 ACMer 的不好的代码习惯(当然是为了快速coding)都在这里暴露无遗First Defense: Make Bugs Impossible主要是前面讲的一些内容的结合,一方面是编译器做足工作,另外一方面则是人要做足工作static checkingdynamic checking 这里主要是编...

2018-11-10 16:51:30 752

原创 MIT 6.031 Software Construction 学习笔记:(三) Mutability & Immutability

这节主要是讲 可变对象给编程带来的危害,所谓不可变对象,就是整个生命周期中不可变的对象(废话), e.g. : String具体来说参见 Basic Java when we discussed snapshot diagramsRisks of mutationrisk1:passing mutable values看以下两段代码:/** @return the sum of the ...

2018-11-10 15:00:31 857

原创 MIT6.031Software Construction学习笔记:(二)Specification

首先,什么是 Specification? Specification,就是我们平时看到的API文档的说明,比如java BigIntegerwhy SpecificationSpecification 其实是作为用户(调用这个API的人)和实现者(实现API的人)的一条分界线。Specification structureA specification of a method cons...

2018-11-06 10:49:05 667

原创 CF 1073E. Segment Sum(digit DP)

题目链接E. Segment Sum分析可以说很经典了,数位 dp,关于数位dp我也才学数位dp这个题目与 仅统计个数有点不同的地方在于,它要求值的和,而对于整数来说每个位是可以独立相加的,可是如果仅仅用一个状态 dp[st][pos][0/1] 表示吃状态下的最终结果的话,可能不行,因为比如1232**1233** 这两种情况其实是在一个 dp 状态下的 st = 111,pos ...

2018-10-30 22:45:57 429

原创 MIT6.031学习笔记:(一)code review

写在前面:这门课程有点像国内的软件工程课程,而国内的软件工程课程,一般是讲一些软件工程的哲学…这门课程是将软件工程的哲学放在 reading 中而项目作业分开。个人认为软件工程哲学就是一种认同 ,即信则有,不信则无。更多的其实可以在今后工程项目中验证。所以我的笔记其实就是我所认可的软件工程哲学goal这门课所有的软件工程哲学都围绕着3个目标:safe from bugseasy t...

2018-10-30 08:57:18 938

原创 leetCode 932 Beautiful Array(分治)

题目链接LeetCode 932分析分治,将偶数和奇数分开就好了codeclass Solution { public int[] beautifulArray(int N) { if(N==1)return new int[]{1}; else if(N ==2)return new int[]{2,1}; int [] ret...

2018-10-29 14:11:13 1017

原创 CF 1075E. Train Hard, Win Easy(前缀和+ 二分)

题目链接E. Train Hard, Win Easy分析只需要做少量的数学计算就可以得出结果官方题解code#include&lt;bits/stdc++.h&gt;using namespace std;#define MAX_VAL 1004#define MAX_ARRAY_SIZE 300005#define ms(x,v) mem...

2018-10-29 13:27:33 421

原创 CF 1073C. Vasya and Robot(二分)

题目链接C. Vasya and Robot题目分析二分,之前想多了,想成两个方向没有关系了,其实因为题目没有问怎么更改,可是我们可以想一下,我们判断它无法到达的根据n&amp;lt;abs(x)+abs(y)∣∣(n−abs(x)−abs(y))%2==1n &amp;lt; abs(x) + abs(y) || (n - abs(x) - abs(y))\%2 ==1n&lt;abs(...

2018-10-27 21:59:14 296

原创 [APUE ch3 note] file IO

author : fighter(zzt)edit date: 10/18/2018License: 转载请注明出处

2018-10-21 22:34:40 244

翻译 File System, Kernel Data Structures, and Open Files(文件系统,内核数据结构,与打开文件)

写在前面本文来自 USNA(美国海军学院)系统编程课的讲义,现将其翻译在此,由于没有版权所以 谢绝任何转载,如果你能拿到版权,当我没说本人英文水平较弱,有错误请大家帮忙指出关于内核结构,我没有看过最近的 Linux 系统内核,所以是否真如文章说的那样,有待验证, 不过测试程序是可以用文中内核结构解释的译者: fighter(tt)回顾: 什么是文件系统回忆一下,文件系统是一种放...

2018-10-21 11:46:34 474

原创 LeetCode 907 minimize-malware-spread(连通分量)

坑点:不是删除一个顶点,是将一个顶点去除颜色题目链接minimize-malware-spread分析了解上面的坑点之后就简单多了只有当且仅当一个 initial 点在连通分量中,我们擦除它的颜色才有收益codeimport java.util.*;class Solution { public int minMalwareSpread(int[][] graph, ...

2018-10-19 23:46:00 375

原创 leetcode 907. 子数组的最小值之和()

题目链接907. 子数组的最小值之和分析直接DP就好了,求两个数组: left,right,分别表示left[i] :比i小的左端点,(注意,为避免相等时重复统计,计左不计右)codeclass Solution { private static final int MOD = 1000000007; private void debug(int [] pri) { for...

2018-10-16 23:55:07 908

原创 CF 1065F F. Up and Down the Tree( 树形dp)

文章目录题目连接分析code题目连接F. Up and Down the Tree分析官网题解个人翻译:可以分两步dp:dp[u] : 以 uuu 为根的节点访问完所有能访问的叶子节点并回到 uuu 所能获得的最大叶子数目,low[u], 这种情况下所能获得的最低的叶子深度(dep最小),这两个东西是完全独立的可以一起弄ans[u]: 以 uuu 为根的节点所能获得的最大叶子数目...

2018-10-16 21:53:11 608

原创 《understanding the linux kernel》笔记: 2. Memory Addressing(内存地址)

remark:《understanding the linux kernel》笔记第二篇,对应原书第二章。x86 内存地址MMU (the Memory Management Unit) 内存管理单元Segmentation in Hardware 硬件分段机制segmentation descriptor 段描述符Fast Access to Segment Descript...

2018-09-09 15:44:51 364

原创 《understanding the linux kernel》笔记: 1. linux开机发生了什么?

remark: 本笔记来自《understanding the linux kernel》一书,所参考内核是linux 2.6,由于笔者能力有限,对其中内容不负任何责任。the BIOSbootloadersetupthe startup_32( )the start_kernel书中这部分附在全书附录中,题目非常的 romantic 分了5个阶段:A.1....

2018-09-09 11:28:53 759

空空如也

空空如也

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

TA关注的人

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