- 博客(98)
- 资源 (15)
- 收藏
- 关注
原创 分布式系统共识机制:一致性算法设计思想
以一个宏观的角度去总结 自己学习过的一致性算法。一致性算法的目标就是让分布式系统里的大部分节点 保持数据一致。区块链中的共识算法,pow、pos这类就属于这个范围,但他们仅仅是在区块链领域内应用的,下面介绍一致性算法是在分布式系统中 应用广泛的,当然也肯定适用于区块链,并且最后我总结了他们的设计思想,其实是有一定套路的。
2022-12-30 16:09:43 2371 1
原创 CSAPP实验五:动态内存分配(Malloc lab)
本系列文章为中国科学技术大学计算机专业学科基础课《计算机系统》布置的实验,上课所用教材和内容为黑书CSAPP,当时花费很大精力和弯路,现来总结下各个实验,本文章为第五个实验——动态内存分配(Malloc lab)。一、实验名称:Malloclab二、实验学时: 3三、实验内容和目的: 1. 目的 /afs/cs/project/ics/im/labs/malloclab/ 在该实验中,需要用C语言实现一个动态存储分配器(dynamic ...
2021-08-12 21:47:44 9784 5
原创 CSAPP实验四:性能优化实验(Perflab)
本系列文章为中国科学技术大学计算机专业学科基础课《计算机系统》布置的实验,上课所用教材和内容为黑书CSAPP,当时花费很大精力和弯路,现来总结下各个实验,本文章为第四个实验——性能优化实验(Perflab)。一、实验名称:perflab二、实验学时: 3三、实验内容和目的: 此次实验进行图像处理代码的优化。图像处理提供了许多能够通过优化而得到改良的函数。在此次实验中,我们将考虑两种图像处理操作:roate, 此函数用于将图像逆时针旋转90°;以及smooth,对图像...
2021-08-12 21:08:45 11718
原创 CSAPP实验三:缓冲区溢出炸弹(Buflab)
本系列文章为中国科学技术大学计算机专业学科基础课《计算机系统》布置的实验,上课所用教材和内容为黑书CSAPP,当时花费很大精力和弯路,现来总结下各个实验,本文章为第三个实验——缓冲区溢出炸弹(Buflab)。一、实验名称:buflab二、实验学时: 3三、实验内容和目的: 掌握函数调用时的栈帧结构,利用输入缓冲区的溢出漏洞,将攻击代码嵌入当前程序的栈帧中,使得程序执行我们所期望的过程四、实验原理: 溢出的字符将覆盖栈帧上的数据 特...
2021-08-12 09:02:52 8928 3
原创 CSAPP实验二:二进制炸弹(Bomb Lab)
本系列文章为中国科学技术大学计算机专业学科基础课《计算机系统》布置的实验,上课所用教材和内容为黑书CSAPP,当时花费很大精力和弯路,现来总结下各个实验,本文章为第二个实验——二进制炸弹(Bomb Lab)。一、实验名称:二进制炸弹二、实验学时: 3三、实验内容和目的 1.二进制炸弹包含若干个阶段,每个阶段需要输入特定的字符串,所有输入正确则炸弹被排除,否则….. 任务是找出这些字符串 字符串记录到文件中,可按下列方式验证: ...
2021-08-11 15:20:39 21131 3
原创 CSAPP实验一:位操作(Data Lab)
本系列文章为中国科学技术大学计算机专业学科基础课《计算机系统》(教师:吴俊敏)布置的实验,上课所用教材和内容为黑书CSAPP,当时花费很大精力和弯路,现来总结下各个实验,本文章为第一个实验——位运算。一、实验名称:位操作二、实验学时: 3三、实验内容和目的 1.了解各种数据类型在计算机中的表示方法 2.掌握C语言数据类型的位级表示及操作 3.本实验总共包括有关位操作的15个编程题 4.你们的目标就是实现这15个编程题...
2021-08-11 11:38:01 5409
原创 USTC算法设计与分析-总结
这门课是中国科学技术大学的研究生学科基础课,黄刘生老师讲概率算法和近似算法,汪炀老师讲分布式算法,因为课程内容繁杂且难度较大,所以结合了上课所做笔记和期末复习总结成思维导图,梳理下思路,最后附上习题课说的考试题型。 说明:因为是在ipad上手写版本,只能转成图片格式。EX表示在这个知识点处布置作业。...
2021-08-10 09:34:56 2134
原创 深入浅出零知识证明(二):zkSNARKs基本原理
前言 本文开始对零知识证明应用最广泛的技术——zkSNARKs进行介绍,本文主要介绍其原理与流程,其中应用到的密码学知识和工具很多,本人能力有限,尽量做到阐述清晰,如有错误欢迎讨论。 零知识证明学习起来难度就很大,是数论、密码学、抽象代数的综合应用,它引入的概念、符号会让人眼花缭乱。V神在一篇介绍零知识证明的文章中就提醒读者看不懂也不要怀疑自己的智商,因为“它实在是太难了!” 因此,能坚持搞懂的,一定是意(固)志(执)力有异常人。所以在学习过程中要保持耐心,慢慢来。...
2021-08-06 18:13:17 7432 6
转载 密码学基础:Pedersen Commitment
介绍 Pederson承诺是密码学中承诺的一种,1992年被Torben Pryds Pedersen在“Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing”一文中提出。目前Pedersen Commitment主要搭配椭圆曲线密码学使用(当然也可以结合指数运算)。具有基于离散对数困难问题的强绑定性和同态加法特性的密文形式。 以结合椭圆曲线为例来说明,Pedersen承诺核心...
2021-08-06 13:55:38 5217
转载 密码学基础:群、环、域概念总结
群 简而言之,群的概念可以理解为:一个集合以及定义在这个集合上的二元运算,满足群的四条公理,封闭性、结合性、单位元、反元素。具体理解为:封闭性:在集合上作任意二元运算,不会诞生新的运算,这个集合已经经过充分的完美拓扑。结合性:组合一个二元操作链,之间没有先后运算的区别,这种操作是平坦的(区别交换律)。单位元:具有单位的属性,单位元和任何一个元素操作等于那个元素本身。反元素:集合中任何一个元素,存在一个称为反元素的元素与那个元素进行操作后,最后的结果为单位元。...
2021-08-02 17:08:45 9279
原创 深入浅出零知识证明(一):Schnorr协议
最近在学习零知识证明,因为内容很多并且难度也大,想根据自己的学习路线做一系列总结,这是第一篇文章,主要介绍零知识证明的一些重要概念和思想,可以对零知识证明有直观的理解,然后讲解一个经典简洁的零知识证明安全协议Schnorr协议。 本篇文章主要包含四个方面,首先来总体介绍一下零知识证明,然后以地图三染色问题为例,体现零知识证明思想,然后分析交互式Schnorr协议和非交互式Schnorr协议。1.零知识证明概述 ·简介 零知识证明(Zero-Kno...
2021-07-22 15:53:29 19716 8
原创 区块链隐私保护(二): 网络层的隐私保护机制
区块链隐私威胁 在上篇文章中,我们将区块链隐私威胁分为三个方面: ·网络层的隐私威胁 ·恶意节点可以轻易接入网络,监听网络层的通信数据。 ·通道隔离机制 ·交易层的隐私威胁 ·交易隐私威胁。 ·身份隐私威胁。 ·应用层的隐私威胁 ·用户行为和区块链服务商导致的隐私泄露。...
2021-05-27 16:37:42 4679 4
原创 区块链隐私保护(一): 交易层的隐私保护机制
区块链自带隐私保护机制 假名机制 用户可以独立生成任意数量的区块链地址,不需要通过注册或认证,并且同一用户生成的不同地址可以单独使用,彼此间不存在任何关系。仅通过地址无法关联到用户的真实身份,该机制能够隐藏用户在区块链上不同操作的记录。广播机制 区块链系统通过 P2P 网络传输数据,采用flooding广播协议传播消息。接受节点是无法判断消息来源是直接发起者还是转发者,从而保护真实发起者的身份。 假名机制和广播机制能够在一定程度上保...
2021-05-14 11:26:54 8987 10
原创 以太坊 Merkel-Patricia Tree(MPT)学习总结
Merkel-Patricia Tree总体描述 ·Merkel-Patricia Tree中文名称梅克尔-帕特里夏树 ·MPT提供了一个基于密码学验证的底层数据结构,用来存储键值对(key-value)关系 MPT主要是什么呢,是一个基于密码学验证的底层数据结构,这个基于密码学验证其实就是梅克尔树的特性:可以进行数据校验,防止篡改,然后mpt的目的是用来存储键值对关系,这就跟梅克尔树有点不一样了,因为梅克尔树存的就是hash,所有的hash两两算一个父hash,一...
2021-05-12 15:50:14 3724 1
原创 THE SWIRLDS HASHGRAPH CONSENSUS ALGORITHM:FAIR, FAST, BYZANTINE FAULT TOLERANCE 学习总结
DAG简介 · DAG(Directed Acyclic Graph):“有向无环图” DAG使得区块链从单链进化到树状和网状、从区块粒度细化到交易粒度、从单点跃迁到并发写入,是区块链从容量到速度的一次革新。 · 传统区块链和DAG的区别: 1. 单元:区块链组成单元是Block(区块),DAG组成单元是TX(交易); 2. 拓扑结构:区块链是由区块组成的单链,只能按出块时间同步依次写入;DAG是由交易单元组成...
2021-05-12 14:57:15 2467 10
原创 Ouroboros:A Provably Secure Proof-of-Stake Blockchain Protocol 学习总结
背景 Ouroboros首次在论文《Ouroboros:A Provably Secure Proof-of-Stake Blockchain Protocol》中提出,中文名称是乌洛波洛斯,它ADA项目的共识算法,由卡尔达诺(Cardano)团队设计开发,这个共识机制呢,以严谨的学术性以及发表在顶级密码学会议上而闻名,是第一个被工业界采用的 学术界证明是安全和健壮的POS算法。 常见共识机制 首先总结一下目前的共识机制,主要有三类:分别是...
2021-05-12 14:23:38 2838 2
原创 矿池数据可视化调研
Poolin(https://www.poolin.com/) 主要显示主流币的矿池情况(附带各个币种的减半倒计时)和矿机收益排行榜。主流币的矿池情况: 币印的矿池信息最为丰富: 简略信息主要展示挖矿日收益(¥/T),比特币价格(¥),矿池算力(单位:EH/s),全网算力(单位:EH/s)和矿机数;还会显示各个币种的减半倒计时,这是其他矿池没有的。 详细信息会显示算力的走势图,根据不同收益算法计算出的参考日收益,当前难度,预计下次难度,距...
2021-05-11 16:52:23 435
转载 区块链浏览器调研
定义:提供用户浏览与查询区块链所有信息的工具。 用户(这往往与该区块链所处的阶段相关,以公链为例): 在测试网阶段区块链浏览器的用户主要为开发者; 当公链上主网之后,持币者、DApp 使用者、矿工等逐渐需要使用区块链浏览器; 当公链影响力越来越大,监管,对区块链感兴趣的用户也会使用。区块链浏览器的设计要则:链核心指标、原始数据、衍生数据。 1.区块链浏览器首先需要摸清你所设计的区块链想要解决的问题,找到能够衡量区块链的核心指标。...
2021-05-11 16:16:12 1374 4
原创 机器学习_Python中Gradient Boosting Machine(GBM)学习笔记
原文地址:https://www.analyticsvidhya.com/blog/2016/02/complete-guide-parameter-tuning-gradient-boosting-gbm-python/翻译出处:http://blog.csdn.net/han_xiaoyang/article/details/52663170 看的是大神寒小阳(hanxiao...
2018-09-24 21:58:28 965
原创 ACM中的java应用
1.java中大数类(包含大整数类和大浮点数类)常用函数:函数:add, subtract, divide, mod, compareTo等,其中加减乘除模都要求是BigInteger(BigDecimal)和BigInteger(BigDecimal)之间的运算,所以需要把int(double)类型转换为BigInteger(BigDecimal),用函数BigInteger.valueOf()...
2018-05-07 22:10:39 219
原创 训练总结报告
首先先补一道今下午卡了我好长时间的水题: 新疆大学ACM-ICPC程序设计竞赛五月月赛(同步赛)Red Rover One of our older Mars Rovers has nearly completed its tour of duty and is awaiting instructionsfor one last mission to explore the Ma...
2018-05-01 21:42:40 1180
原创 北京师范大学第十六届程序设计竞赛决赛-重现赛&补题
今天打了北师的校内比赛?官方说是个人赛,我们组队打才过5个。。。北师果然强。 今天他需要补的题很多,主要是: D雷电爆裂之力;F汤圆防漏理论;E可以来拯救吗; 首先是D雷电爆裂之力(比赛的时候没什么思路,就交给队友了,赛后看题解发现真的不难。。。) 链接:https://www.nowcoder.com/acm/contest/117/D来源:牛客网题目描述 听说导体切...
2018-04-28 22:03:02 362
原创 省赛练习2——第八届福建省大学生程序设计竞赛 &补题
这场比赛还是比较遗憾的,有两道大数题是我负责用java写的。分别是FZU 2278 YYS 和 FZU 2281Trades ,yys主要是卡在大数类不同类型的运算问题上,以前一直没注意,临近比赛结束才调出来,好险好险;trades是贪心+java大数,思路是没问题的,用c++写可以过样例,但是数字太大就过不了,所以用java写,但怎么改都改不对,java跟c++在数组边界问题上还...
2018-04-27 21:27:17 379
原创 省赛练习1——SDKD 2018 Spring Team Contest E&补题
今下午组队打了一场省赛训练赛,感觉没发挥好,最终只A了4题,还有两题当时没能A,赛后补题的时候发现思路都对,只是代码处理有些小问题,当时跟队友怎么改都改不出来,一直是以为思路错了,没想到思路很对就是程序有点小瑕疵。。。 首先是HDU - 6026 Deleting Edges(最短路径) Little Q is crazy about graph theory, and...
2018-04-26 21:44:54 281
原创 RMQ&线段树复习
如标题,今天主要复习了RMQ和线段树,整理了一下模版: 首先是RMQ: #include #include #include using namespace std; const int MAXN=50000+100; int dmax[MAXN][20]; int dmin[MAXN][20]; void initmax(int n,
2018-02-27 17:17:51 194
原创 AC自动机&后缀数组复习
昨天和今天主要复习了AC自动机和后缀数组,更深一层的理解倒是没有,只是复习回忆以前的只是,感觉还是停留在入门级别,至于消化理解还是有一定差距,感觉这两天来收获不大,果然在家的效率不高,无心学习,明天静下心来好好看看其他内容。。。
2018-02-26 21:15:04 329
原创 刷题&比赛&复习
今上午做了两道后缀数组的题目,依然套模版。 今下午打了场比赛,感觉比较简单,大多数是水题。 今晚上看了牛客网的图论的直播,复习了Prim算法,Kruskal算法,了解了匈牙利算法。 总之,今天还挺充实的
2018-02-07 21:36:19 167
原创 后缀数组专项训练
昨天把AC自动机的简单题都做得差不多了,今天上午主要做了AC自动机+DP,做得非常吃力,实在做不下去了。所以下午和晚上把后缀数组专题里面挑了几道简单的的模版题做了,因为是模版题,直接把模版套上再加以简单运用就A了,感觉还不错,明天再在这两个专题之间游走吧。。。
2018-02-06 21:19:02 164
原创 AC自动机专题训练
今天在做AC自动机的题目,虽然前几天看了AC自动机的一些知识,看懂了一些题目,觉得掌握了一些方法和模版,但是真正做的时候,还是很不熟悉,尤其是AC自动机跟DP结合,感觉思路很难想到,代码实现的也很巧妙,自己还是没能完全掌握AC自动机这个知识点,明天再接着做吧。
2018-02-05 21:29:17 157
原创 后缀数组应用
今天看了后缀数组的应用,整理一下:例 1:最长公共前缀给定一个字符串,询问某两个后缀的最长公共前缀。算法分析:按照上面所说的做法,求两个后缀的最长公共前缀可以转化为求某个区间上的最小值。对于这个 RMQ 问题(如果对 RMQ 问题不熟悉,请阅读其他相关资料),可以用 O(nlogn)的时间先预处理,以后每次回答询问的时间为 O(1)。所以对于本问题,预处理时间为 O(nlogn),
2018-02-03 20:50:16 446
原创 后缀数组模版代码解析
今天看了后缀数组的模版代码,终于看懂了模版的每个部分所实现的功能,但是具体细节还没完全理解,看来暂时只能套模版了,下面是模版及注释; /*sa[i] : 表示 排在第i位的后缀 起始下标rank[i] : 表示后缀 suffix(i)排在第几RANK表示你排第几 SA表示排第几的是谁 (记住这个就行)height[i] : 表示 sa[i-1] 与 sa[i] 的LC
2018-02-02 21:02:18 207
原创 后缀数组
今天看了后缀数组,看到怀疑人生,原理和思想懂了,但是代码就。。。实在看不懂了。看了很多博客,发现其主要内容无非是对倍增算法的运用,原理看了一天终于看懂了,实现的代码今天没看懂,明天再看!很多号称详解后缀数组的博客的内容和思路都来自罗穗骞《后缀数组——处理字符串的有力工具》,连接如下:(https://files.cnblogs.com/files/newpanderking/后缀数组——处理字
2018-02-01 21:45:06 132
原创 依然AC自动机
今天还是看AC自动机,难度很大,题目很难懂,看了AC自动机的不同应用,总结一下: 首先是最基本的应用:模式匹配问题,比如统计文本串中包含多少个给定的单词,方法是把需要被匹配的单词依次插入到一个树里,再用AC自动机的方法去匹配文本串。这种问题,只是围绕着文本串与模式串之间的关系出题,还没牵扯到别的知识。 然后是与DP相结合,难度就上来了,今天主要看了概率DP+AC自动机
2018-01-31 20:24:00 130
原创 AC自动机模版代码解析
今天还是看AC自动机,终于把模版代码看懂啦,总结一下: AC自动机,应用于模式匹配问题,尤其是长文本多模版问题较于KMP算法和字典树更具有优势。方法是把所有模版建成一个大的状态转移图,而不是每个模版各建一个图。KMP算法的状态转移图是线性的字符串+失配边组成的,而AC自动机是字典树+失配边组成的。字典树在判断一个单词是否属于字典时很有优势,但是字典树在判断一个文本包含多少个字典中的单词时就
2018-01-30 21:19:10 207
原创 AC自动机
今天看了AC自动机,原理大致理解,但是模版代码有些地方不了解,大致可以解决这类问题:给你一个字典(包含n个不重复的单词),然后给你一串连续的字符串文本(长为len),问你该文本里面的哪些位置正好出现了字典中的某一个或某几个单词?输出这些位置以及出现的单词。解决的是长文本的多模板匹配问题。它是KMP算法的推广,KMP算法专门解决长文本的单模板匹配问题,字典树专门解决单个单词(短文本)多模板匹配问
2018-01-29 23:22:25 260
原创 拓扑排序&关键路径&数位dp
今上午看了拓扑排序和关键路径,了解了基本原理,至于代码还只看了模版,题目还没有多看。 今下午和晚上,复习了数位DP,有了更加深入的认识,基础题型是计算一个区间(a,b)符合某个条件的数的个数。一般数位dp是一种暴力枚举的方法。它就是在数位上一位一位的枚举,使得这种枚举方式符合dp的定义,并且使用记忆化搜索,就会节省枚举的时间。换了一个模版,实用性更大,但是不怎么好理解,暂时可以理解个
2018-01-28 21:47:37 167
原创 总结&java大数
今天总结了一下并查集&字典树&KMP,做了总结ppt,感觉对这些算法熟悉了不少,但是综合运用还是有所欠缺。 今晚做了几道java大数的问题,感觉不是很难,只是作为一种工具来处理题目中的超大数。 明天再看看图论的知识和巩固一下那三个算法。
2018-01-27 21:36:56 182
原创 并查集&字典树&KMP练习_2
今天主要做了并查集的题目,一如既往的顺畅,主要是题目都看过而且可以用模版。 但是今晚做了牛客网的练习赛,做了一道字典树的题目,正是这几天专攻的算法,但是最后没能过,我想了一下原因:字典树这个算法我能写出来,但是具体到主函数里面调用却不知道怎么用字典树这个算法,造成这道题的失败,可能现在还是停留在理解原理的层面上,只会套用模版,对这个算法的综合运用还很不熟悉。这几天要多看算法的综合
2018-01-26 21:27:52 145
原创 并查集&字典树&KMP练习_1
今天主要做了字典树和KMP算法的练习题,感觉还不错,差不多都是模版题,没有太大的难度,做起来也比较流畅。我觉得是前几天一直在看相关博客,有了一些积累,对算法的原理和模版比较熟悉,所以做这些模版题就比较顺手,我觉得先看博客积累知识,再做题加以巩固,这种学习方法非常好。主要是题目都看过而且不难。。。 虽然题目难度适中,A了9道题,但现在还是有些疲劳,就先写这么多吧。
2018-01-25 21:33:30 200
原创 KMP算法
今天学了KMP算法,一开始看代码看不大懂,看了一上午教学视频总算是大致了解了,难度确实并查集和字典树大。 KMP算法主要应用于求出ex[i]数组,ex[i]数组表示主串S中以第i个字符(也即S[i-1]位置)为尾字符的后缀与模式串T的前缀的最长公共部分。 拿一道经典的kmp模版题来介绍模版: POJ 3461 Oulipo(KMP:统计一个串出现的次数)
2018-01-24 21:35:51 149
中科大_研究生_2021_高级计算机网络_实验报告及源码.rar
2021-10-11
中科大_研究生_2020_高级数据库系统_课后作业标准答案+讲解
2021-08-17
中科大_研究生_2020_计算机应用数学_作业答案.pdf
2021-07-22
中科大_研究生_2020_高级数据库系统大作业_实验报告+源码
2021-07-22
中科大_研究生_2020_高级数据库系统_作业参考答案.rar
2021-07-22
中科大_研究生_社会计算_作业答案.rar
2021-07-22
中科大-研究生-算法设计与分析-2020最新期末复习资料.rar
2021-03-13
中科大_研究生_算法设计与分析_2020课后作业答案.rar
2021-03-13
数学建模论文写作指导资料
2019-11-15
2013-2017(第四届-第八届)蓝桥杯B组C/C++题目及答案源码
2019-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人