自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(556)
  • 收藏
  • 关注

原创 transformer

如果没有位置编码,transformer会把所有的token,一起放到模型里面去并行计算,这样的话,词语的前后顺序携带的信息就没办法体现出来,“我打你”和“你打我”用的字是一样的,但是意思完全不一样,意思完全反过来,所以要保证输入的一组词向量在并行计算的同时,还能体现出他们的先后顺序,这个先后顺序在矩阵乘法的过程中是体现不出来的,所以关于词向量先后顺序,就需要额外操作,对词与词组合后的语义进行理解,靠的是注意力机制,也就是橙色的部分,就是解决许多词组合在一起之后,整体体现的那个词义,

2025-08-09 22:32:35 141

原创 区块链 和 一致性哈希的结合(二)

现在来验证一下可行性,就是说如果我的区块链存储的是 服务器列表,那么每一个节点运行的时候就会拉取最新的服务器列表,然后本地构建完一致性哈希环以后才进行后续的数据查找操作(算出数据的哈希后判断是哪一个区,这个区对应到哪一个服务器)如果当前需要进行10000个数据的查询任务,当前我肯定是先查询最新的服务器列表,那么如何保证这个期间服务器列表的状态的即使更新呢?背景交代完了,现在要测试一下速度问题,我们每次进行数据查找的时候都要进行查询区块链?

2025-08-06 17:02:01 84

原创 区块链 和 一致性哈希的结合

它是通过确定性算法计算出来的:partitions 的内容是根据成员列表、虚拟节点哈希环和有界负载等参数,通过 distributePartitions() 方法计算得出的。如果这个映射也需要从区块链上获取,那么每次键的定位都会变成一个慢速的区块链查询,这会彻底破坏系统的性能。我们每次增加服务器都会修改sortedset以及ring(虚拟节点和服务器的映射),但是如果我们能够得到服务器列表,那么是可以在本地构建sortedset和ring。下面就可以去部署网络,部署链码。接着我们运行我们的客户端代码。

2025-08-04 23:16:36 269

原创 最小栈 常数时间查找

就是说要另外维护一个栈,当一个元素进来的时候,判断和这个最小栈的顶部元素的大小关系,如果是大于,那么这个新进来的元素对最小值就不会有影响,反之,如果是小于等于,就要入栈。前言:这个题目的设计还是很巧妙的,如果在栈的基础上维护一个最小栈。

2025-08-04 10:36:38 129

原创 螺旋矩阵 大模拟

前言: 这个题目看起来就很难,呃呃呃呃,其实是我比较害怕模拟的题目。

2025-08-01 10:16:10 103

原创 轮转数组 原地修改

正常的思维就是开一个临时的数组来存储,但是原地修改怎么实现还是很巧妙的。前言:这个题目太巧妙了。

2025-08-01 09:03:27 176

原创 最小覆盖子串 优化版

前言:写这个题目的时候,想到了类似滑动窗口的思路,但是每次check的复杂度太高了,可以优化。主要就是增加一个变量来记录还缺几个字母没有达到要求。

2025-07-31 14:26:01 214

原创 logtrick 按位或最大的最小子数组长度

前言:好久没写算法了,今天写一下每日一题,今天就是一个或运算。

2025-07-29 22:20:11 149

原创 buraksezer/consistent 库笔记

库提供了一个健壮且高效的一致性哈希实现,其独特的有界负载功能使其在处理动态负载和避免热点方面表现出色。通过合理配置虚拟节点数量、负载因子和选择高性能哈希函数,您可以在分布式系统中构建出更具弹性、更均衡的组件。

2025-07-28 16:43:49 693

原创 fabric搭建基础的测试网络

我们将使用 Fabric CLI 来手动测试,并建议使用 Go SDK 或 Node.js SDK 编写脚本进行批量测试。可以去organizations/peerOrganizations/org1.example.com/下创建一个env.sh,内容就是上面的代码。然后环境配置完了,就可以运行脚本进行测试,我们脚本的本质就是调用命令进行查询或者提交提案。我们将创建一个简单的 Go 链码,实现 Put (写入) 和 Get (读取) 方法。创建 basic-kv.go 文件,并将以下内容粘贴进去。

2025-07-24 19:48:04 307

原创 Hyperledger Fabric

背书是指一个或多个背书节点 (Endorsing Peers)对一个交易提案进行模拟执行,并根据预设的背书策略 (Endorsement Policy)对其结果进行签名确认的过程。背书节点通过模拟执行链码,验证交易的逻辑是否正确,以及是否符合链码中定义的业务规则。在模拟执行过程中,背书节点会记录链码读取了哪些数据(读集)以及打算修改哪些数据(写集)。这些读写集是交易后续验证的关键。背书节点用自己的私钥对读写集和交易结果进行数字签名。这个签名证明了该节点已执行并批准了该交易。

2025-07-17 10:31:10 855

原创 移动零 leecode

另外一个是双指针,但是有一点不好处理就是前面可能会出现好几个0或者好几个非0的,这种怎么特判。前言:之前写过类似的题目,但是没有认真总结,今天来看看怎么写。可以从栈和双指针的角度来考虑。怎么去考虑这个问题呢?

2025-07-13 10:26:52 204

原创 字母异位词分组

写这个题目的时候知道是要弄一个哈希表,但是不知道怎么把value设置为列表。要注意的就是sort一个字符串出来的是一个list。

2025-07-12 21:34:39 143

原创 macbook开发环境的配置记录

好多东西不记录就会忘记。

2025-06-30 11:44:07 238

原创 找不到 xxx 的DNS地址,现在正在诊断问题macbook

今天打开一个网页,平时能打开的,但是今天显示找不到服务器,怀疑是dns污染,网上尝试了好几个命令都不行,试了下面的命令才ok

2025-06-30 00:16:05 132

原创 kaggle如何提交notebook到竞赛

这里进入后点击output,点击submission.csv,然后就可以点击submit to compatition就可以正式提交了,注意,正式提交的时候还会再次运行一次。kaggle提交可以直接提交文件,但是如果是一些正式的比赛,只会让你提交notebook,然后它会运行你的代码来跑隐藏的测试集。我们写好代码以后直接点击save version,然后系统会先运行一次你的代码,确保没有报错,会出现下面的界面。接着我们到code那里创建notebook。下图中展示了一些注意事项。下面来讲一下如何提交。

2025-06-24 10:49:05 179

原创 茶文化部分答案

最后一题真不知道写啥。

2025-06-14 21:37:24 307

原创 跳跃游戏 dp还是线段树优化

这个题目还是比较经典的,题目给的数据量如果是动态规划的思路来写的话刚刚好能过。如果数据量更大呢,题目保证了一定可以到达n-1,所以我们就可以采取贪心的思路。如果数据量变大咋办,感觉可以用线段树来优化一下。

2025-06-07 17:13:04 302

原创 分糖果 两次遍历处理左右

这个题目本来打算两次遍历来写,但是细节处理上出了问题,我想的是距离两个1的距离最大值,但是其实并不是这样的,只有值递增的时候才能递增。

2025-06-02 09:35:24 222

原创 系统赛数据库的一些记录

当你的程序需要读取或写入一个磁盘文件时,它首先会向操作系统请求打开这个文件。如果操作系统成功打开了该文件,它不会直接把整个文件都交给你的程序,而是会创建一个特殊的数据结构来代表这个打开的文件,并返回一个唯一的标识符给你的程序,这个标识符就是文件句柄。文件句柄 (File Handle) 简单来说,就像一个指向打开文件的“门票”或者说是一个“代号”。

2025-05-28 23:56:08 283

原创 c++lambda表达式

摘要:C++11引入的Lambda表达式是一种匿名函数对象,允许内联定义函数而无需命名。其基本语法为[捕获列表](参数)->返回类型{函数体},支持值捕获、引用捕获及混合捕获。Lambda广泛应用于算法参数(如排序、过滤)、回调函数等场景,并支持递归(需std::function)、泛型(C++14的auto参数)和移动语义(初始化捕获)。注意事项包括生命周期管理、性能权衡及类型限制。Lambda显著提升了代码简洁性与灵活性,是现代C++开发的重要工具。

2025-05-28 10:17:15 458

原创 图论 判断是否有环

如果是一个无向图,其实可以直接dfs,加上一个vis数组来一起判断。前言:有点忘记是怎么判断一个图中是否是有环。

2025-05-26 11:01:44 447

原创 socc 19 echash论文部分解读

在论文中,“节点 (nodes)” 和 “服务器 (servers)” 是可以互换使用的。因此,当 ECHash “将所有 M 个节点划分到 n 个隔离的区域 (n isolated hash rings)” 时 ,它指的是所有的 M 台物理服务器被分配到这 n 个哈希环中。论文还澄清说:“一个哈希环至少包含一个用于存储对象的节点”

2025-05-23 23:51:23 818

原创 零数组变换 二分+查分数组||线段树lazy

前言:其实这个题目用二分来写才比较合理,但是好久没写二分了,没想到。查分+二分的话比较好理解。

2025-05-21 19:22:27 247

原创 socc 19 echash 部分代码讲解 三 chunk,stripe,hashnode

元素内容关系chunk存储 key-value 的基本单元多个 chunk 组成一个 stripestripe纠删码单位(N 个 chunk)包括 K 个数据块和 N-K 个校验块,分布在不同 ring 上hash_nodekey -> chunk+offset 的索引key 写入 chunk 后,用 hash_node 保存位置信息一个 key 写入过程就是:➤ 写入 chunk(buffer) → 达到阈值形成 stripe → 纠删码编码 → 分布存储 → 更新 hash_node。

2025-05-18 10:44:05 527

原创 socc19 echash部分代码讲解 二 hashtable

使用 Jenkins 哈希函数;支持插入、查找、删除;value 被编码为位置、长度等信息;在 ECHash 框架中作为元数据索引使用;用于追踪某个键在哪个 chunk 中、在哪个偏移、长度多少等关键信息。

2025-05-18 10:42:25 346

原创 更新本地编译的链接库

如果已经对下载的源码进行了修改,并希望更新系统中的库链接。

2025-05-15 11:02:46 357

原创 socc19 echash部分代码解释

/ RS(N,K): K个数据块,N=K+冗余块数(即总块数)#define N5// 总块数(数据 + 冗余)5// 哈希环数量(即存储节点组数)#define K3// 数据块数量(剩下的N-K是冗余块)4ll<<10// 每个 chunk 的大小,4KB0.95// 当 chunk 达到该比例后可封存0.75// 小于该比例的 chunk 将被删除10000// 初始 chunk 列表大小1000// 初始 stripe 列表大小1000003。

2025-05-15 09:39:00 751

原创 libmemcached库api接口讲解五

是一个用于主动断开当前所有 Memcached 服务器连接并重置连接状态的函数。是一个低层级的手动连接控制工具清空所有当前连接并重置状态。你只有在需要重连、取消当前操作、刷新连接配置时才需要它,正常用 set/get 根本不用管它。

2025-05-14 20:01:37 521

原创 libmemcached库api接口讲解零

才能让你的客户端程序与它进行交互。

2025-05-14 19:55:07 299

原创 libmemcached库api接口讲解四

_by_key是 libmemcached 提供的一类函数,用于通过一个“主键” (group_key来决定哈希路由位置(即数据该存到哪台 Memcached 服务器),而不只是根据实际操作的key决定。应用场景是否使用_by_key普通缓存键值❌ 用普通set/get逻辑上属于同一“用户”、“session”、“商品”等的数据要存在一起✅ 强烈推荐使用_by_key分布式系统中缓存命名空间隔离✅ 可作为逻辑 namespace如果你想让。

2025-05-14 19:47:16 1002

原创 libmemcached库api接口讲解三

讲解一下如何删除数据。

2025-05-14 19:37:10 462

原创 libmemcached库api接口讲解二

setaddreplace我们来学一下怎么存数据。

2025-05-14 19:07:18 214

原创 libmemcached库api接口讲解一

好多接口的用法都不怎么会,得学习一下具体的用法。

2025-05-14 18:24:26 893

原创 libMemcached 库下载记录

表明在memflush.cc文件中存在指针与布尔值比较的类型不匹配问题,大致原因就是我现在的g++版本太高了,所以得修改 上面的false为null。,这样我们刚刚下载的ibmemcached-1.0.18就可以删除了。前言:简单记录一下libMemcached下载使用的一些问题。后面再次执行make的时候,就只出现一些编译的警告了。然后我们需要先启动我们的memcached服务器。执行make指令的时候,出现了报错。后面我们开始写一个简单的测试代码。如果没下载的可能还得下载一下。我们得创建一个新的用户。

2025-05-13 19:46:25 1164

原创 矩阵快速幂优化dp 从朴素dp到快速幂

前言:这是一场周赛的第四题,第二题也是类似的题目,但是这题不可以暴力,所以我们得用快速幂来优化,因为这题符合我们说的有递推公式,且递推的数量特别大,符合快速幂的使用条件。注意在矩阵运算的时候取模。

2025-05-13 10:27:12 298

原创 巧妙暴力枚举 找出三位偶数

前言:一开始看的时候还以为是枚举digits里面的数,但是其实这样是不符合的,digits里面的数字其实是可以重排的,所以我们得换种思路,直接枚举三位数,然后判断是否符合。

2025-05-12 08:05:37 158

原创 bfs搜索改最短路

前言:写这个题目一看,感觉就是一个简单的bfs嘛,但是写完后超时了,感觉还得是采取堆优化的dijistla算法才行。

2025-05-08 13:49:52 240

原创 kmp算法总结

我们可以先看看别的博主是怎么讲kmp的,核心思想很简单,就是需要我们预备弄一个nxt数组,这样当我们匹配的不符合的时候能跳过一些无谓的匹配。只要记住一点,我们被匹配的字符串只需要遍历一次,我们回退的是我们的匹配字符串。前言:之前一直都没有时间来学习kmp算法,现在有空来看看。那么我们有了这个nxt数组要怎么快速遍历呢?我们怎么暴力得到我们的nxt数组呢?怎么快速求出我们的nxt数组呢?

2025-05-07 15:15:05 173

原创 字符串哈希专题

字符串哈希是一种将一个字符串映射为一个整数的方法,常用于快速比较字符串是否相等。如果两个字符串的哈希值相等,它们很可能是相等的(有哈希冲突的风险,但通常可以通过双哈希避免)。

2025-05-05 19:20:29 1072

空空如也

空空如也

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

TA关注的人

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