BLOG

Josh's Blog

一些好用但鲜为人知的 Linux 命令

发布于 # 操作系统

系统监视 Uptime Uptime会返回服务器运行时长、当前时间、用户数量和内存使用平均数等信息。 $ uptime Wall Wall可以向当前登录到系统的每个人的终端发送消息 $ wall "Your message" Top 实时显示 CPU 和内存使用情况的进程列表。 $ top lsof lsof是一个单一的命令,用于一个基本的目的:List Open Files。这在遇到说文件被使用的挂载问题时特别有用。这个命令可以快速识别哪些文件被哪些进程使用。 $ lsof 网络 Netcat Netcat、nc主要用于端口扫描,但实际上是一个伟大的实用网络工具,可供系统管理员在他们的后袋中用于任何任务。Netcat可以支持端口扫描、文件复制、端口转发、代理服务器和托管服务器......可以说,它的功能非常全面。 # Example Usage: $ nc -vz <hos

转-HumanSystemOptimization

发布于 # 生活

原文: https://github.com/zijie0/HumanSystemOptimization 背景 去年 5 月曾经写了一篇文章介绍了下 Lex Fridman 大佬的日常生活安排,后续我也根据他的方法对自己的日常生活做了一系列规范和改进。这一年整体实行下来,效果还是非常显著的,本文的最后会对我的一些实践以及借助的工具做一些分享。 最近几个月,偶然在油管上看到了个 Rich Roll 采访 Andrew Huberman 的 podcast,介绍了如何提升我们日常工作,学习表现的相关神经科学原理与可以利用的“工具”,瞬间打开了一扇新世界的大门。后续又一连追了好几集 Huberman 自己的 podcast,从各个方面了解了一下跟我们日常生活,健康,学习,工作,锻炼等方面相关的知识。与其它很多讲“养生”的文章和视频最大的区别在于,Huberman 本身是斯坦福的神经科学教授

各种数据范围下的算法选择

发布于 # 算法与数据结构

数据范围 时间复杂度 算法 $n\le30$ $O(2^n)$ DFS+剪枝,状态压缩 DP $n\le100$ $O(n^3)$ DP,Floyd,高斯消元 $n\le1000$ $O(n^2)$, $O(n^2logn)$ DP,二分,朴素版 Dijkstra、朴素版 Prim、Bellman-Ford $n\le10^4$ $O(n*\sqrt{n})$ 块状链表、分块、莫队 $n\le10^5$ $O(nlogn)$ Sort、线段树、树状数组、Set、Map、Heap、拓扑排序、Dijkstra+Heap、Prim+Heap、Kruskal、SPFA、求凸包、求半平面交、二分、CDQ 分治、整体二分、后缀数组、树链剖分、动态树 $n\le10^6$ 常数较小的$O(nlogn)$ 单调队列、Hash、双指针扫描、并查集、KMP、AC 自动机、So

PTA-L3-003 社交集群(30 分)

发布于 # 算法与数据结构

题目链接:PTA-L3-003 社交集群(30 分) 题目背景 当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到具有相同兴趣爱好的潜在的朋友。一个“社交集群”是指部分兴趣爱好相同的人的集合。你需要找出所有的社交集群。 输入格式 输入在第一行给出一个正整数 $N(\le1000)$,为社交网络平台注册的所有用户的人数。于是这些人从 $1$ 到 $N$ 编号。随后 $N$ 行,每行按以下格式给出一个人的兴趣爱好列表: $$ K_i: \ h_i[1] \ h_i[2]\ ...\ h_i[K_i] $$ 其中 $K_i(>0)$ 是兴趣爱好的个数,$h_i[j]$ 是第 $j$ 个兴趣爱好的编号,为区间 $[1, 1000]$ 内的整数。 输出格式 首先在一行中输出不同的社交集群的个数。随后第二行按非增序输出每个集群中的人数。数字间以一个空格分隔,行末不得有多余

矩阵快速幂

发布于 # 算法与数据结构

引例(洛谷P3390) 题目描述 给定一个$n \times n$的矩阵$A$,求$A^k$。 输入格式 第一行两个整数 $n,k$ 接下来 $n$ 行,每行 $n$ 个整数,第 $i$ 行的第 $j$ 的数表示 $A_{i,j}$。 输出格式 输出$A^k$ 共 $n$行,每行 $n$ 个数,第 $i$ 行第 $j$ 个数表示 $(A^k)_{i,j}$,每个元素对$10^9+7$取模。 输入输出样例 输入 #1 2 1 1 1 1 1 输出 #1 1 1 1 1 数据范围 对于 $100$% 的数据:$1 \le n \le 100,0 \le k \le 10^{12}, |A_{i,j}| \le 1000$ 完整代码 import java.io.*; /** * P3390 【模板】矩阵快速幂 */ @SuppressWarnings("all") public cl

一文搞懂树状数组

发布于 # 算法与数据结构

<meta name="referrer" content="no-referrer"/> 介绍 树状数组是由Peter M. Fenwick提出的二叉索引树(Binary Indexed Trees)结构,最初用于数据压缩。在算法竞赛中,常用于区间操作。 类似的数据结构还有线段树,线段树可以实现树状数组所有的操作,甚至更多。而树状数组代码简洁,运行速度也线段树快,占用内存空间也比线段树少,如果是一个单点修改的问题,树状数组绝对是一个不二选择。 接下来我们引入一个问题: 已知有 $n$ 个箱子 ,你需要进行以下两种操作: 将 $k$ 个大理石放入第 $i$ 箱子中 求第 $l$ 到 $r$ 个箱子中大理石总共有多少个 假设我们要进行 $m$ 次操作。 对于这个问题,很容易想到朴素的做法:直接修改数组、遍历求和。 朴素做法对于操作 1 的时间复杂度为:$O(1)$。操作

CSS 常用属性总结

发布于 # 前端

下表为平时常用的 CSS 属性 属性 描述 可选值 color 元素颜色,一般用于设置字体颜色 background-color 背景颜色 background-image 设置背景图片 display 元素的显示类型 {block, inline-block, inline, none, flex ...} width 元素的宽度 height 元素的高度 min-width 最小宽度 min-height 最小高度 max-width 最大宽度 max-height 最大高度 margin 外边距 padding 内边距 border 边界属性 border-color 边框颜色 border-width 盒子模型的边框宽度 border-style 边框样式 {none, sol

git 常用命令

发布于 # 常用工具

仓库 # 显示当前的Git配置 $ git config --list # 编辑Git配置文件 $ git config -e [--global] # 设置提交代码时的用户信息 $ git config [--global] user.name "[name]" $ git config [--global] user.email "[email address]" 增加/删除文件 # 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file

发布于 # 算法与数据结构

图的基本概念 图是一种复杂的非线性结构。 在线性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个)只有一个直接前趋和一个直接后继; 在树形结构中,数据元素之间有明显的层次关系,并且每个数据元素只与上一层中的一个元素(parent node)及下一层的多个元素(child node)相关; 而在图形结构中,节点之间的关系是任意的,图中任意两个数据元素之间都有可能相关。 图的定义 图G由两个集合V(顶点Vertex)和E(边Edge)组成,定义为G=(V, E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合。若$V={v_1, v_2, ..., v_n}$,则用 |V| 表示图G中顶点的个数,也称图G的阶, $E={(u,v)|u∈V,v∈V}$, 用 |E| 表示图G中边的条数。 无向图(undirected graph)

2021年度总结

发布于 # 生活

前言 写下此文的时候,2021已接近尾声,2022的钟声即将敲响,一年了,发生了什么呢,我又做成了什么呢... 月度 1月:创业园的师兄接到了个项目给我们做,起初这个项目叫维修小店,也就是做一个维修平台的小程序,于是学习了uni-app。 2月:根据产品原型图写前端... 3月:继续维修宝的前端;蓝桥杯选拔赛垫底orz 4月:维修小店开发 5月:维修小店改名为《维修宝》,这个月没少熬夜/通宵肝进度;学会了使用UniCloud实现微信支付/授权认证/...;在月末开始刷LeetCode了。 6月:我干了什么..? 7月:月初领到了《维修宝》杯水车薪工资,终于要结束了;月中学校的面向对象实训课,用Java网络编程的知识做了个基于TCP协议的聊天室;月末得知《维修宝》要大改,于是又开始了。 8月:终于把王道考研的数据结构都过了遍,但有些还是一知半解;迭代《维修宝》。 9月:LeetCode A