自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Miracle_ma的专栏

马天猫重新起航

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

原创 MIT 6.824 lab3 KVRaft

lab3比lab2更加自由一点,主要是没有论文参照以及太多的资料可以查,而且调试难度也比较大。lab3A主要是实现基于Raft的kv server,client给server发送请求,然后server通过底层Raft来保持log的一致性,操作存储在内存中。lab3B主要是实现给内存快照,然后持久化到persister中。我的代码:MIT6.824lab3Aclient首先是实现...

2018-05-03 18:45:08 3960 1

原创 Go语言入门笔记

格式化Go语言中为了防止格式化问题引发争论,制作了一个格式化工具gofmt,在写完代码之后只需要gofmt -w *.go就可以用统一的格式(比如对齐,缩进)来重写你的代码,-w参数是重写你的文件,不加的话只会打印你的文件内容命名一个包里面的变量如果要在包外可以被使用,首字母就必须是大写使用RPC调用的结构体里的参数也都需要首字母大写包名需要都小写Go 中约定使用驼峰记法 ...

2018-04-23 19:00:15 647

原创 MIT 6.824 lab2 Raft

话不多说,先做下Raft的学习笔记吧学习资料论文:Raft 中文翻译:Raft 一致性算法论文译文 动画解释:Raft动画 我的代码:MIT6.824Raft理解Raft最重要的内容就是论文的Figure2,如下: 读懂这张图,就能大概理解Raft的具体流程,我开头读paper的时候以为弄懂了,但是真的做lab的时候发现又不是那么理解,有非常多的地方很晕。更多细节还...

2018-04-21 16:08:09 2111

原创 密码学基础知识

密码学算法主要分为两种:对称加密和非对称加密。对称加密就是使用了一样的密钥来加密,需要在只有通信的双方知道密钥的情况下才安全。非对称加密在非对称加密算法中,有公钥和私钥两种密钥,其中,公钥是公开的,不需要保密,私钥由个人持有,必须妥善保管和注意保密。加密和解密使用两种不同的密钥,用公钥加密,只有私钥能解密,用私钥加密,只有公钥能解密。RSA就是一种常见的,应用很广的非对称加密算法。...

2018-04-17 19:04:32 763

原创 CSAPP lab1-6总结贴

由于比较难搬家,直接链接到我的知乎吧。(简书写公式麻烦,知乎怕被师兄点草,vps搭博客懒得续费,evernote代码片巨搓,折腾了一年多又回归csdn了,反正主要是给自己做个笔记,也算缅怀逝去的acm生涯了)lab1: Data Lab笔记 lab2: Bomb Lab笔记 lab3: Attack Lab笔记 lab4; Cache Lab笔记 lab5: Shell Lab笔记 ...

2018-04-17 01:30:17 10060

原创 Git学习笔记

以前一直没有系统的学习一遍git,导致每次使用都会有各种奇怪的问题。这次一定要把git学明白了。学习资料主要参考廖雪峰的git教程,git官方文档 其中git官方文档有手册也有书,非常适合查看git是一个分布式的版本控制系统,每个人的机器都可以当做一个代码仓库。git保存的是文件的修改,而不是每次修改后的文件,所以非常适合回溯到之前的版本。git只能管理文本文件的修改,像视频,图片,wo...

2018-04-17 01:12:09 628

原创 MIT6.824 Lab1 MapReduce

lab1是在单机上实现mapreduce库,因为没有分布式环境,所以只能实现序列化操作和用并行操作代替分布式操作。首先看一下流程,主函数在src/main/wc.go里,自己提供的map和reduce函数,这次做的主要是wordcount,所以map和reduce函数为:func mapF(filename string, contents string) []mapreduce.Ke...

2018-04-17 01:09:45 491

原创 TensorFlow小试牛刀(2):GAN生成手写数字

TensorFlow入门实战第二弹,今天是自己写了一个GAN,实现了一下生成手写数字。以前读了不少GAN的源码,感觉风格都比较接近,今天就用我最喜欢的代码风格实现了一遍。 理论参考我知乎的文章:GAN原理学习笔记 首先数据集使用的是著名的MNIST,每一张图片的大小为[28, 28, 1],训练集有60000张,测试集有10000张,共有70000张可以使用来训练GAN使用的GAN的种类是...

2017-10-21 20:12:42 3849 4

原创 TensorFlow小试牛刀(1):CNN图像分类

深度学习不能只是一味的看paper,看源码,必须要亲自动手写代码。最近好好学了下TensorFlow,顺便自己写了一个简单的CNN来实现图像分类,也遇到了不少问题,但都一一解决,也算是收获满满。重在实现,不在结果。 首先我使用的数据集是CIFAR-10IDE使用的是ipython notebook(并不好用,建议少用ipynb)模型结构层数比较少,因为我的笔记本并跑不快。 两个卷积层,两个全

2017-10-21 20:05:35 4654 1

原创 深度学习框架TensorFlow学习笔记(1)

本文为学习TensorFlow时的一些笔记和注意事项。1.TensorFlow的基本使用使用图来表示计算任务在被称之为会话(Session) 的上下文中执行图使用张量(Tensor)来表示数据通过变量(Variable)维护状态使用feed和fetch可以为任意的操作赋值或者从其中获取数据上面这些话是copy的极客学院的tf的中文文档。我对此的理解是,tf这个框架的运行方式,不同于以往

2017-10-21 19:55:55 576

原创 机器学习实战读书总结

机器学习实战读书总结 蒟蒻退役ACMer 1403mashaonan终于读完了新买的Machine Learning in Action(机器学习实战) 立的年前读完这本书的flag没有完成(主要是19-25号水了个美赛然后一周没读,不然应该能完成任务的QAQ,总的大概花了两周时间读完) 本文的目的旨在作为个人的读书总结,总结一下各个算法的核心部分,并不是详尽的笔记 以前写在作业部

2017-05-02 14:26:10 6358 2

原创 3月12日训练赛题解(大工软院出题)

大工软院周赛题解

2017-03-12 17:36:57 1664

原创 51nod 1244 莫比乌斯函数之和(积性函数前缀和)

关于积性函数前缀和的问题,可以关注糖老师的博客关于积性函数前缀和的问题,可以关注糖老师的博客 http://blog.csdn.net/skywalkert/article/details/50500009 推导不写了推导不写了 结论是M(n)=∑ni=1u(i)结论是M(n)=\sum_{i=1}^nu(i) M(n)=1−∑ni=2M(ni)M(n)=1-\sum_{i=2}^nM(\f

2016-10-13 16:09:49 1661

原创 Codeforces 3D Least Cost Bracket Sequence(贪心)

给你一个括号序列,还包含一些?给你一个括号序列,还包含一些? 对于每个?,变成(和)有不同的花费,问你,变成一个合法序列并且花费最小对于每个?,变成(和)有不同的花费,问你,变成一个合法序列并且花费最小 考虑dp,但是复杂度降不下去,要记录第几个,和几个(,n2考虑dp,但是复杂度降不下去,要记录第几个,和几个(,n^2 考虑贪心,开头考虑位置花费大小,往里面填,但是这样也不好,感觉会影响一些

2016-10-13 16:02:17 647

原创 HDU 5527 Too Rich(dfs贪心)

你有10种面值的货币,每个有ci个,然后让你正好凑p元,并且货币个数最多你有10种面值的货币,每个有c_i个,然后让你正好凑p元,并且货币个数最多 以前做过类似的贪心就是取最少的大的,然后用小的去凑大的以前做过类似的贪心就是取最少的大的,然后用小的去凑大的 但是这题不一样,因为50和20不整除,200和500也是但是这题不一样,因为50和20不整除,200和500也是 怎么办呢。考虑到100被

2016-10-11 13:08:50 550

原创 HDU 5528 Count a * b(线性筛+积性函数)

去年长春赛区的B题,金牌数论题去年长春赛区的B题,金牌数论题 我用了比较丑陋的方法过的,其实这题可以推导我用了比较丑陋的方法过的,其实这题可以推导 但是看了人家推的,除了叉姐的我看得懂,其他人的我都看不懂但是看了人家推的,除了叉姐的我看得懂,其他人的我都看不懂 先打个表看下里面0和非0元素的个数把先打个表看下里面0和非0元素的个数把 很快就发现,如果一个数字不是全是一个因子的次方的话,拆成两

2016-10-11 12:52:58 706

原创 HDU 5531 Rebuild(三分)

剧毒题,可以其他半径都用第一个半径表示剧毒题,可以其他半径都用第一个半径表示 然后求出范围,在范围内三分找极值点然后求出范围,在范围内三分找极值点 有两个trick,要讨论n的奇偶有两个trick,要讨论n的奇偶 如果n是奇数,那么一个等式,可以画出两个r0,然后就直接求出了r0的值如果n是奇数,那么一个等式,可以画出两个r_0,然后就直接求出了r_0的值 直接就能算直接就能算 如果n是偶

2016-10-09 23:18:32 546

原创 HDU 5534 Partial Tree(考虑树性质的dp)

告诉你度数为d的点价值是f(d),让你求一棵树,让他所有点的价值之和最大告诉你度数为d的点价值是f(d),让你求一棵树,让他所有点的价值之和最大 开头考虑是一个背包,取n个东西,有n−1个东西,每个无限,价值f(i)开头考虑是一个背包,取n个东西,有n-1个东西,每个无限,价值f(i) 取2n−2的重量要求价值最大取2n-2的重量要求价值最大 然后复杂度是O(n3)的,并且没有什么好方法优化然

2016-10-09 23:03:03 478

原创 Codeforces 724D Dense Subsequence(贪心)

给你一个字符串,然后给你一个m,让你选出一些字符,让所有的[j,j+m−1]的区间内都至少有一个被选字符给你一个字符串,然后给你一个m,让你选出一些字符,让所有的[j,j+m-1]的区间内都至少有一个被选字符 同时要求选出来的字符,重组之后的串字典序最小同时要求选出来的字符,重组之后的串字典序最小 水题,随便贪心长度m的区间里最小的,选一下水题,随便贪心长度m的区间里最小的,选一下 记录一下最

2016-10-09 14:57:58 753

原创 Codeforces 724C Ray Tracing(模拟)

给你一个光纤,45度射出,然后求碰到每个球的第一次的时间给你一个光纤,45度射出,然后求碰到每个球的第一次的时间 模拟可搞,因为墙上就40W个点,然后对于墙上每个点,有2个方向过来的模拟可搞,因为墙上就40W个点,然后对于墙上每个点,有2个方向过来的 预处理墙上每个点每个方向来的第一次时间预处理墙上每个点每个方向来的第一次时间 然后对于每个点,直接往四周看就行了然后对于每个点,直接往四周看就行

2016-10-09 14:54:52 855

原创 51nod 1769 Clarke and math2(线性筛+dp)

克拉克是一名人格分裂患者。某一天他变成一名数学家,在研究奇怪的东西。 他突然想算这么一个式子,给出 f(i),1≤i≤n ,要求算 g(i)=∑i1∣i∑i2∣i1∑i3∣i2⋯∑ik∣ik−1f(ik) mod 1000000007 (1≤i≤n,ij∈N+) ∣ 是整除的意思,比如 i1=5,i2=10则i1∣i2 样例解释:g(i) = sum(i1 | i) sum(i2 | i

2016-10-09 14:36:57 4064

原创 51nod 1719 数值计算(二分)

1719 数值计算 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 令 F(x)=∑wk=1(Ak+sin(k)sin(x+k)+Bk+cos(k)cos(x+k)) 求F(x)=0的前n小的正根的和。 n<=3e6,A<=1e3,B<=1e3 其中w是定值,为1e4 保留到小数点后3位 Input 三个数 A B n Outpu

2016-10-09 14:22:12 672 1

原创 poj 3597 Polygon Division(dp递推)

一个多边形,通过对角线切割,分割后,只包含三角形或者四边形一个多边形,通过对角线切割,分割后,只包含三角形或者四边形 卡特兰数,是分割后只包含三角形卡特兰数,是分割后只包含三角形 这题类似,考虑1−n这条边,它要么在三角形里,那么就和卡特兰数一样递推这题类似,考虑1-n这条边,它要么在三角形里,那么就和卡特兰数一样递推 要么它在四边形里,考虑与n相邻的另一条边在哪里,然后还是类似卡特兰数要么它

2016-10-08 15:42:59 590

原创 poj 3731 Escape(找规律+组合数学)

给你一个方格图,你在(0,0),最大是(x,y),x是横坐标,y纵坐标给你一个方格图,你在(0,0),最大是(x,y),x是横坐标,y纵坐标 你的基地在(sx,sy),然后你开头是面朝y轴正方向,你每次只能往前走一格,或者右转一格你的基地在(sx,sy),然后你开头是面朝y轴正方向,你每次只能往前走一格,或者右转一格 问你有多少种不同的方法到达基地问你有多少种不同的方法到达基地 画画图发现,只

2016-10-08 14:55:43 783 1

原创 Codeforces 632E Thief in a Shop(FFT+快速幂)

n种物品,每个无限个,价值ai,让你选k个,所有可以获得的价值输出n种物品,每个无限个,价值a_i,让你选k个,所有可以获得的价值输出 构造一个多项式c,价值是指数,如果出现过,系数就是1,否则是0构造一个多项式c,价值是指数,如果出现过,系数就是1,否则是0 然后再搞一个多项式d,里面0的系数设为1然后再搞一个多项式d,里面0的系数设为1 然后快速幂,c每次乘d,d每次乘自己然后快速幂,c每

2016-10-08 12:52:07 509

原创 HDU 5730 Shell Necklace(dp+cdq分治+FFT优化)

一串项链是n个珠子组成,如果i个珠子连续,可以被认为是模式i,贡献是ai一串项链是n个珠子组成,如果i个珠子连续,可以被认为是模式i,贡献是a_i 对于一串珠子,如果用了模式b1,b2,...bk,贡献就是∏mi=1abi对于一串珠子,如果用了模式b_1,b_2,...b_k,贡献就是\prod_{i=1}^m a_{b_i} 求n长度的项链,所有情况的贡献和求n长度的项链,所有情况的贡献和

2016-10-08 11:30:06 1025

原创 HDU 4609 3-idiots(FFT)

给你n个木棍,长度都是10W以内,问你选三根构成三角形的概率给你n个木棍,长度都是10W以内,问你选三根构成三角形的概率 数据范围小的话应该有各种n2的姿势数据范围小的话应该有各种n^2的姿势 但是现在给10W,考虑母函数,长度作为指数,系数是这个长度的个数但是现在给10W,考虑母函数,长度作为指数,系数是这个长度的个数 然后先考虑任选两根,能组合出的长度有多少种然后先考虑任选两根,能组

2016-10-08 10:57:32 416

原创 HDU 1402 A * B Problem Plus(FFT模版题)

10W长度的大数A∗B,直接n2会T,用FFT优化nlogn过10W长度的大数A*B,直接n^2会T,用FFT优化nlogn过代码:#include <map>#include <set>#include <stack>#include <queue>#include <cmath>#include <string>#include <vector>#include <cstdio>

2016-10-08 10:50:37 608

原创 bnuoj 52326 Just Convolution(暴力)

给你一个n2的程序,告诉你用a,b数组,按照程序模拟出c给你一个n^2的程序,告诉你用a,b数组,按照程序模拟出c 但是时限n2肯定过不去,必须要优化到nlogn但是时限n^2肯定过不去,必须要优化到nlogn 但是看不出什么正解,因为如果两个完全有序的数列,就需要n2才能构造出c但是看不出什么正解,因为如果两个完全有序的数列,就需要n^2才能构造出c 再次读题发现数据完全随机生成,所以一般不

2016-10-06 14:27:39 590

原创 bnuoj 52317 As Easy As Possible(预处理+倍增法)

求区间里,一个字符串的easyeasy子序列最多出现多少次easy求区间里,一个字符串的easyeasy子序列最多出现多少次easy 就是区间里的序列可以组成多少个easy,不能相交就是区间里的序列可以组成多少个easy,不能相交 开头考虑的是类似线段那样,然后处理出所有互不覆盖的线段开头考虑的是类似线段那样,然后处理出所有互不覆盖的线段 然后考虑线段的相交性,离线用线段树维护区间里easy的

2016-10-06 14:24:12 598

原创 HDU 5919 Sequence II(主席树)

这题是强制在线,求区间里不同数字的个数,然后对于每个数字都要求是区间里第一个出现的位置这题是强制在线,求区间里不同数字的个数,然后对于每个数字都要求是区间里第一个出现的位置 然后这个k个数字位置排序后,第k2个位置是多少然后这个k个数字位置排序后,第\frac{k}{2}个位置是多少 主席树套路题主席树套路题 主席树维护后缀[i,n],然后对于每次碰到一个数字,就把它以前的位置−1,新位置+1

2016-10-05 10:24:26 899

原创 HDU 5917 Instability (ramsey定理)

给你n个点,m条边,然后告诉你选择一个点集S给你n个点,m条边,然后告诉你选择一个点集S 如果里面有一个子集A,A里面的点都不相连,或者都相连,则这个点集不稳定如果里面有一个子集A,A里面的点都不相连,或者都相连,则这个点集不稳定 求不稳定的个数求不稳定的个数 子集A的大小是大于等于3,所以考虑到6个点的图,里面肯定有3个点,互相有边,或者互相没边子集A的大小是大于等于3,所以考虑到6个点的图

2016-10-05 10:20:56 1117

原创 Codeforces 723F st-Spanning Tree(连通性乱搞)

给你一个n点m边的图,要求你求一个生成树,s点的度数不超过ds,t点的度数不超过dt,输出选择的边给你一个n点m边的图,要求你求一个生成树,s点的度数不超过ds,t点的度数不超过dt,输出选择的边 首先去掉s,t两点,然后把其他点求连通,然后对于这几个互相不连通的块,看它们和s,t是否连通首先去掉s,t两点,然后把其他点求连通,然后对于这几个互相不连通的块,看它们和s,t是否连通 然后把只能和s

2016-10-05 10:14:42 714

原创 Codeforces 723E One-Way Reform(欧拉回路)

给你n点m边的图,然后让你确定每条边的方向,使得入度=出度的点最多给你n点m边的图,然后让你确定每条边的方向,使得入度=出度的点最多 猜想所有偶数度数的点都能做到入度=出度猜想所有偶数度数的点都能做到入度=出度 如何确定方向呢,考虑到里面奇数度数的点一定是偶数个如何确定方向呢,考虑到里面奇数度数的点一定是偶数个 假设他们是v1,v2....,v2k假设他们是v_1,v_2....,v_{2k}

2016-10-05 10:06:51 860

原创 2016年四川省赛H题 Around the World(BEST定理||树形dp)

给你一棵树,然后每条边其实有2ci条边组成,问你从1出发回到1,走过所有边的欧拉回路个数给你一棵树,然后每条边其实有2c_i条边组成,问你从1出发回到1,走过所有边的欧拉回路个数 欧拉回路个数,BEST定理欧拉回路个数,BEST定理 考虑对于每对2ci条边来说,肯定ci条是入边,ci条是出边考虑对于每对2c_i条边来说,肯定c_i条是入边,c_i条是出边 然后点有10W个,不能用矩阵求基尔霍夫

2016-10-03 11:34:30 1321

原创 CSU 1805: Three Capitals(BEST定理)

给你A,B,G三个点,AB之间有a条边,AG之间有b条边,BG之间有c条边给你A,B,G三个点,AB之间有a条边,AG之间有b条边,BG之间有c条边 问你从A出发然后回到A,走过所有的边,欧拉回路的个数问你从A出发然后回到A,走过所有的边,欧拉回路的个数 求有向图的欧拉回路个数,是BEST定理求有向图的欧拉回路个数,是BEST定理 ec(G)=ts(G)⋅deg(s)!⋅∏v∈V, v≠s(d

2016-10-03 11:22:29 1126

原创 bzoj 1901 Zju2112 Dynamic Rankings(动态区间第k大,主席树)

动态区间第k大,就是有修改的区间第k大,不能只用主席树了动态区间第k大,就是有修改的区间第k大,不能只用主席树了 需要树状数组套主席树来搞,时间复杂度O(nlognlogn)需要树状数组套主席树来搞,时间复杂度O(nlognlogn) 空间复杂度O(nlogn+mlognlogn)空间复杂度O(nlogn+mlognlogn) 因为对于修改操作,每一次插入一个数字,要给这个位置的树状数组维护一

2016-09-29 15:22:30 694

原创 Codeforces 718C Sasha and Array(线段树维护矩阵)

线段树上区间加和,求和时候值变成斐波那契数列下标,对斐波那契数列求和线段树上区间加和,求和时候值变成斐波那契数列下标,对斐波那契数列求和 首先想到循环节,但是应该很大,所以GG首先想到循环节,但是应该很大,所以GG 然后就是想到对于斐波那契数列啊,有矩阵递推然后就是想到对于斐波那契数列啊,有矩阵递推 比如这里是x,值就是f(x),那么然后加a,就是f(x+a)比如这里是x,值就是f(x),那么

2016-09-29 14:48:07 884

原创 主席树 专题

poj2104poj 2104 静态区间第k大,没有修改,所以时间是O(nlogn),空间也是O(nlogn)静态区间第k大,没有修改,所以时间是O(nlogn),空间也是O(nlogn) 模版,主席树可以做减法运算,区间第k大就是root[r]−root[l−1]模版,主席树可以做减法运算,区间第k大就是root[r]-root[l-1]模板:#include <map>#include <

2016-09-28 23:39:44 686

原创 Codeforces 715B Complete The Graph(dijkstra+heap)

n点m边的图,有些边权值是0,让你把所有的0权改成正整数,能否s到t最短路是Ln点m边的图,有些边权值是0,让你把所有的0权改成正整数,能否s到t最短路是L n1000,m10000,开头想着直接搜一边就搞出来,结果一直wa,其实这题的数据范围n 1000 ,m 10000,开头想着直接搜一边就搞出来,结果一直wa,其实这题的数据范围 O(nmlogn)都能过,所以直接暴力一点就好了,很巧妙的贪

2016-09-22 14:58:17 735

空空如也

空空如也

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

TA关注的人

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