10 2020 档案

摘要:欧几里得算法 在«几何原本»中,欧几里得提出了用辗转相除的方法求解两个整数$a,b$的最大公约数的算法: gcd(a, b) if (0 == b) return a else return gcd(b, a mod b) 定理:若整数$a,b$的最大公约数为$gcd(a,b)$,那么$gcd(a, 阅读全文
posted @ 2020-10-20 21:46 HachikoT 阅读(310) 评论(0) 推荐(0) 编辑
摘要:Base64 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法 代码实现(C++) /* base64.cpp and base64.h base64 encoding and decoding with C++. Mo 阅读全文
posted @ 2020-10-20 15:23 HachikoT 阅读(140) 评论(0) 推荐(0) 编辑
摘要:常系数线性齐次递推关系 设 \(h_0,h_1,h_2,\cdots ,h_n,\cdots\) 是一个数列,称这个数列满足k阶线性递推关系是指存在量$a_1,a_2,\cdots ,a_k$和量$b$,使得 \(h_n=a_1h_{n-1}+a_2h_{n-2}+\cdots+a_kh_{n-k} 阅读全文
posted @ 2020-10-20 00:11 HachikoT 阅读(1368) 评论(0) 推荐(2) 编辑
摘要:堆(heap) (二叉)堆是一种用数组表示的完全二叉树,并且任意节点满足$A[PARENT(i)]\geq A[i]$的大小关系(最大堆): 完全二叉树:对于高度为h的二叉树,除了h层以外,其余0到h-1层的节点都是满的,且h层的节点都靠左边。 完全二叉树高度:对于n个节点的完全二叉树,高度为$\l 阅读全文
posted @ 2020-10-18 17:32 HachikoT 阅读(390) 评论(0) 推荐(0) 编辑
摘要:算法描述 插入排序的过程和平时打牌的时候给手里的牌排序差不多: 从牌桌上抽一张牌 把抽到的牌从右到左(或者从左到右)挨个和手里的牌进行比较,当发现左边的牌大一些,右边的牌小一些,就将牌插入到该位置 重复执行步骤1,直到牌抽完了 参考动画:visualgo.net 代码实现(C++) #include 阅读全文
posted @ 2020-10-17 18:40 HachikoT 阅读(104) 评论(0) 推荐(0) 编辑
摘要:CountDownLatch 用于等待其它线程都处于就绪状态: #include <mutex> #include <condition_variable> class CountDownLatch { public: CountDownLatch(uint32_t count) : m_count 阅读全文
posted @ 2020-10-16 22:50 HachikoT 阅读(1002) 评论(0) 推荐(0) 编辑
摘要:ConcurrentQueue 用C++11提供的多线程类实现一个线程安全的队列: #include <queue> #include <mutex> #include <condition_variable> #include <utility> template<typename T, type 阅读全文
posted @ 2020-10-16 21:10 HachikoT 阅读(1699) 评论(0) 推荐(0) 编辑
摘要:split C++标准库中没有提供split分隔字符串的函数,哎。 实现一 下面的实现需要指定分隔符的集合delimiters,以及是否将连续的分隔符看作同一个分隔compress : enum class TokenCompress { On, Off }; /** * 分隔字符串 * @para 阅读全文
posted @ 2020-10-15 21:57 HachikoT 阅读(330) 评论(0) 推荐(0) 编辑
摘要:容斥原理 容斥原理:在集合S中,对不具有性质$P_1,P_2,\cdots,P_m$的元素进行计数,令$A_i={x:x属于S且具有性质P_i}$,注意元素$x$可以同时具有多种性质,那么: \(|\bar{A_1} \cap \bar{A_2} \cap \cdots \cap \bar{A_m} 阅读全文
posted @ 2020-10-13 11:51 HachikoT 阅读(209) 评论(0) 推荐(0) 编辑
摘要:以太坊nonce 为了防止交易重复进行,以太坊要求每笔交易必须有一个nonce数值。nonce值从0开始递增,外部账户每发送一笔交易,nonce便加1。 以太坊处理nonce的规则: 当nonce太小(小于当前的nonce值),交易会被直接拒绝 当 nonce 太大,大于当前 nonce,交易会一直 阅读全文
posted @ 2020-10-12 17:15 HachikoT 阅读(436) 评论(0) 推荐(0) 编辑
摘要:localhost localhost其实是域名,一般系统默认将localhost指向127.0.0.1,但是localhost并不等于127.0.0.1,localhost指向的IP地址是可以配置的。 127.0.0.1 凡是以127开头的IP地址,都是回环地址(Loop back address 阅读全文
posted @ 2020-10-11 10:45 HachikoT 阅读(402) 评论(0) 推荐(0) 编辑
摘要:asio asio是C的准标准网络库,并且C20标准库的网络部分将基于ASIO,需引入头文件#include <boost/asio.hpp>。 ip地址 boost定义了表示ip地址的类型,支持ipv4和ipv6,提供ip::address和ip::address_v4以及ip::address_ 阅读全文
posted @ 2020-10-11 00:02 HachikoT 阅读(913) 评论(0) 推荐(0) 编辑