- 2024-10-27[rCore学习笔记 031] SV39多级页表的硬件机制
看到这个题目就知道上一节提到的RISC-V手册的10.6节又有用武之地了.这里只需注意,RV32的分页方案Sv32支持4GiB的虚址空间,RV64支持多种分页方案,但我们只介绍最受欢迎的一种,Sv39。:RISC-V的分页方案以SvX的模式命名,其中X是以位为单位的虚拟地址的长度。虚拟地址和物理地址
- 2024-06-12TimerWheel(计时轮)在Rust中的实现及源码解析
计时器轮(TimerWheel),模拟时钟格式组成的高效计时器TimerWheel算法原理环形数据结构:TimerWheel,即时间轮,是一个环形的数据结构,类似于时钟的面,被等分为多个格子或槽位(slot)。槽位时间间隔:每个槽位代表一个固定的时间间隔,例如1毫秒、1秒等。这个时间间隔决定了定时器的精度。
- 2024-06-02左/右移模版
//左闭右开fnreverse(s:&mutString,i:usize,j:usize){letmutp=unsafe{s.as_bytes_mut()};letmutj=j-1;letmuti=i;whilei<j{p.swap(i,j);i+=1;j-=1;}}//左移fnleft_rotate(s:
- 2024-05-25螺旋矩阵
leetcode:59题给你一个正整数n,生成一个包含1到n2所有元素,且元素按顺时针顺序螺旋排列的nxn正方形矩阵matrix。C#:publicclassSolution{publicint[][]GenerateMatrix(intn){int[][]result=newint[n][];for(intp=0;p<n;p++)
- 2024-04-12Rust教程 – 学习天文图像的多尺度处理
最近,人们投入了大量精力开发新颖的图像处理技术。其中许多技术都源自于傅里叶和小波变换等数字信号处理方法。这些技术不仅使得各种图像处理技术如降噪、锐化和动态范围扩展成为可能,而且还使得计算机视觉中使用的许多技术如边缘检测、目标检测等成为可能。多尺度分析是相对较新
- 2024-01-23Rust 中 数据类型的整型 取值范围
整数是一个没有小数的数组,在Rust中整数分为有无符号(-),代表数字能否负值,有符号数以补码形式存储。 长度有符号无符号8-bit i8u816-biti16u1632-biti32u3264-biti64u64128-biti128u128archisizeusize isize和usize类型依赖运
- 2023-12-27Rust error : usize 类型不能进行 - 操作
return(-low-1asisize)asisize;cannotapplyunaryoperator-Rust编写程序时候usize类型进行-1运算时报的错误写了下BinarySearch,对于if判断修正为平衡版本,同时解决了取得的midVal已经获取其下标,不必等其缩小完边界。以下是第一种较差的实现方式。fnbinar
- 2023-10-252023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(
2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100)对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N)现给出K(1<=K<=N)个方案,通过这些方案,能够支持将多个不同的产品进行整合(也可以对单个产品进行优化)形成新的产品。新的产品形成后,若用户
- 2023-10-06[题解] CF1245D - Shichikuji and Power Grid
CF1245D-ShichikujiandPowerGrid题目传送门题意在一个网格图中,有\(n\)个城市。目标是使得\(n\)个城市都通电。对于一个城市有电,要么选择在其位置建立发电站,要么和另一个有电的城市连线。对于城市\(i\),在其位置建立发电站的费用为\(c_i\),和另一个城市\(j\)连电
- 2023-08-042023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水。 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i -
2023-08-04:村里面一共有n栋房子我们希望通过建造水井和铺设管道来为所有房子供水。对于每个房子i,我们有两种可选的供水方案:一种是直接在房子内建造水井成本为wells[i-1](注意-1,因为索引从0开始)另一种是从另一口井铺设管道引水数组pipes给出了在房子间铺设管道的
- 2023-07-092023-07-09:给定N、M两个参数, 一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选, 当涂满N个格子,并且M种颜色都使用了,叫一种有效方法。 求一共有多少种有效方法。 1 <= N,
2023-07-09:给定N、M两个参数,一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选,当涂满N个格子,并且M种颜色都使用了,叫一种有效方法。求一共有多少种有效方法。1<=N,M<=5000。返回结果比较大,请把结果%1000000007之后返回。答案2023-07-09:这两种算法用于计算涂色的
- 2023-06-122023.6.12 树节点的第k个祖先
可以借鉴一下求LCA问题中的倍增思想。用fa[i][j]表示i号节点的第\(2^j\)个祖先。我们只需要用动态规划预处理出这个fa数组即可。求第k个祖先,可以将k用二进制拼凑的方法划分成若干个2的整数次幂,然后利用fa数组对应地进行若干次跳跃即可,单个询问的时间复杂度\(O(logn)\)。这里由
- 2023-05-272023-05-27:给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据
2023-05-27:给你一个只包含小写英文字母的字符串s。每一次操作,你可以选择s中两个相邻的字符,并将它们交换。请你返回将s变成回文串的最少操作次数。注意,输入数据会确保s一定能变成一个回文串。输入:s="letelt"。输出:2。答案2023-05-27:大体过程如下:1.定义结
- 2023-05-272023-05-27:给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据
2023-05-27:给你一个只包含小写英文字母的字符串s。每一次操作,你可以选择s中两个相邻的字符,并将它们交换。请你返回将s变成回文串的最少操作次数。注意,输入数据会确保s一定能变成一个回文串。输入:s="letelt"。输出:2。答案2023-05-27:大体过程如下:1.定义结构体Index
- 2023-05-222023-05-22:给定一个长度为 n 的字符串 s ,其中 s[i] 是: D 意味着减少; I 意味着增加。 有效排列 是对有 n + 1 个在 [0, n] 范围内的整数的一个排列 perm
2023-05-22:给定一个长度为n的字符串s,其中s[i]是:D意味着减少;I意味着增加。有效排列是对有n+1个在[0,n]范围内的整数的一个排列perm,使得对所有的i:如果s[i]=='D',那么perm[i]>perm[i+1],以及;如果s[i]=='I',那么perm[i]<perm[i+1]。返回有效排列
- 2023-04-252022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[j] 现在想为了i,选一个最
2022-04-25:给定两个长度为N的数组,a[]和b[]也就是对于每个位置i来说,有a[i]和b[i]两个属性ia[i]b[i]ja[j]b[j]现在想为了i,选一个最好的j位置,搭配能得到最小的如下值:(a[i]+a[j])^2+b[i]+b[j]我们把这个最小的值,定义为i的最in值比如:a={2,3,6,5,1
- 2023-04-252022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[j] 现在想为了i,选一个最
2022-04-25:给定两个长度为N的数组,a[]和b[]也就是对于每个位置i来说,有a[i]和b[i]两个属性ia[i]b[i]ja[j]b[j]现在想为了i,选一个最好的j位置,搭配能得到最小的如下值:(a[i]+a[j])^2+b[i]+b[j]我们把这个最小的值,定义为i的最in值比如:a={2,3,6,5,1
- 2023-01-01[leetcode每日一题]1.1
2351.第一个出现两次的字母难度简单给你一个由小写英文字母组成的字符串 s ,请你找出并返回第一个出现 两次 的字母。注意:如果 a 的 第二
- 2022-12-16TBB内存加速-windows
对TBB的工作原理没有特别深入的了解。windows默认的堆内存(后面统一内存)申请默认是单线程的,默认单线程是因为刚开始设计这个操作系统的时候就没有考虑到后面会使用多个线程,
- 2022-09-300044-Bytes-bytes源码阅读
环境Time2022-05-29Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/bytes目标Buf是一个trait,里面有几个方法需要实现,Bytes实现了Buf。re
- 2022-08-300041-Bytes-bytes源码阅读
环境Time2022-05-29Rust1.61.0Bytes1.1.0前言说明参考:https://github.com/tokio-rs/byteshttps://zhuanlan.zhihu.com/p/109977513目标之前阅读的部分,都
- 2022-08-290025-Rust-自实现迭代器
环境Time2022-05-21Rust1.61.0前言说明参考:https://doc.rust-lang.org/std/iter/trait.IntoIterator.html目标前一节自定义了一个类型来实现迭代器,并且自定义了