记录一次宿舍NAS的搭建 前期准备 起因与需求 为了不被叔叔恶心,同时简化自己的追番流程,另外还考虑到可以整点homelab,故选择了在宿舍搭建自己的第一台nas,主要目的当然是方便自己进行高画质追番,次要的目的就是随时可以搞点奇奇怪怪的东西来玩。 既然是宿舍装机,那需求和限制都非常明确 7 * 24h 运行 静音 小体积 功率低于3200w 可用容量至少有个8T 2023-02-21
MPI_Cart_Create 使用方法 在使用MPI的过程中可能会涉及到一些针对特定的拓扑关系的模拟情况,如FOX算法求矩阵乘积。此时需要涉及到如何简便地模拟出特定的方阵以及元素之间的关系。MPI提供了一套简便地API可以快速地创建出携带所需要的拓扑关系的MPI_Comm。 2022-12-25 #MPI,并行编程
中科大2019.5 题目描述 给出一个二叉排序树的层次遍历,求从它的一个叶子结点到另一个叶子结点的路径,要求路径上经过结点的数值之和最大。二叉树的层次遍历序列从文件expr.in中读取,结点数值大于0,将结果输出到标准输出中。 样例 input: 125 15 40 5 20 30 50 10 35 output: 1170 算法思路 本题对应模板:求树的直径。 树的直径指的是对于树的任意两个叶子节点最远的距离,即可 2022-03-02 #算法学习 #树
AcWing 343.排序 算法思路 本题的基本思路为基于floyd算法实现传递闭包,即将所有的大小关系进行传递,得到一个全局的大小关系,基于该大小关系判断是否存在矛盾的情况。 矛盾的情况有两种 A < A && A > A A < B && B < A 二者可以在构造整个大小关系图的过程中被逐渐排查出来,即可以一边建图一边检查,当其中出现了任何一个冲突的时候便会终 2022-02-21 #算法学习 #AcWing #floyd #传递闭包
Rust 异步与多线程 该文档为个人学习记录,可能存在大量错误 概述 Rust中std库实现异步与多线程的方式包括了async/await和thread,二者在官方文档中分别对应了high-level和low-level的场景。 2022-02-18 #Rust #程序语言 #异步
AcWing 181.回转游戏 算法思路 该算法基本大体框架同AcWing.180,但是题目中涉及到的8种操作需要一定的处理技巧 八种回转操作 首先可以考虑对八种操作进行硬编码,此处采用顺时针从0到7。然后由于题目中传入的数字序列并非便于操作的方式,我们可以进行一个打表操作,提前确定会被影响到的位置。 123456789 A B 0 1 2 3H 4 5 6 2022-02-06 #算法学习 #AcWing #DFS #IDA*
AcWing 180.排书 算法思路 IDA* 该算法为A*和迭代加深的结合,其中相对于A*的估价函数额外增加了基于估价函数超过迭代层数的剪枝。 排书交换 本题中由于可以一次性将连续的一串书本直接插入到后面的某个位置,故可以考虑从遍历长度入手。 交换的过程可以如下所示 12-----|-----|------|-------- l r k 整个交换过程可以分为下面几步 首先将原始的数组b复制 2022-02-06 #算法学习 #AcWing #DFS #IDA*
LeetCode LCP33.蓄水 算法思路 基于给出的操作,即每次操作可以让所有的水桶进行一次注水或者升级一个水桶,我们可以考虑使用贪心的思路。 由于总共倒水的次数取决于需要倒水次数最多的水桶,我们可以考虑采用一个堆,每次取出需要倒水次数最多的那个水桶进行升级,从而最小化倒水的次数。通过不断遍历直到最大的倒水次数只有一次的时候即可跳出升级循环。 另外,由于本题中存在容量为0的水缸,为了避免不必要的判断,可以考虑直接进行跳过处理。 2022-02-06 #LeetCode #LCP
AcWing 170.加成序列 算法思路 迭代加深实际上是DFS中常用的一种剪枝方法。针对某些DFS的情况,其完整DFS的树非常深,但是答案却在较浅的位置时可以使用。常见的命题思路为求一个最短路。 本题采用迭代加深的算法进行,不断扩大搜索范围(深度),最终得到最短路径。 算法实现 123456789101112131415161718192021222324252627282930313233343536373839404142 2022-02-05 #算法学习 #AcWing #DFS #迭代加深
LeetCode LCP30.魔塔游戏 算法思路 在本题中每次只能将一个负数移动到数列的最后,我们可以考虑维护一个大根堆保存所有的负数,优先移动所有较大的负数可以使得结果最优。 算法实现 123456789101112131415161718192021222324252627class Solution {public: int magicTower(vector<int>& nums) { 2022-02-05 #LeetCode #LCP #优先队列