XOR
shell常见传递参数
shell常见参数 $1, $2, ... 对应第1个、第2个等参数,shift [n]换位置$0 命令本身,包括路径$* 传递给脚本的所有参数,全部参数合为一个字符串$@ 传递给脚本的所有参数,每个参数为独立字符串$# 传递给脚本的参数的个数注意:$@ $* 只在被双引号包起来的时候才会有差异 使 ......
2023年 1月 Tita 升级|绩效流程节点支持签名确认
升级快速一览: 点击免费领取绩效考核模版等资料 · 【考核模板】绩效流程节点支持签名确认; 绩效流程节点支持签名确认 使用场景:考核执行过程中,在指标确认、绩效面谈、绩效结果确认节点需要执行人的签名确认,并将签名进行留存 当前仅支持在指标确认、绩效面谈、绩效结果确认节点进行签名确认操作 ......
Windows提权总结(转)
Windows提权总结(转) 0x01 简介 提权可分为纵向提权与横向提权:纵向提权:低权限角色获得高权限角色的权限;横向提权:获取同级别角色的权限。 Windows常用的提权方法有:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、WEB中间件漏洞提权、DLL劫持提权、滥用高 ......
内网攻防技术备忘录
内网攻防技术备忘录 0x01 信息搜集 Copy #nmap扫描实时存活的ipnmap 10.1.1.1 --open -oG scan-results; cat scan-results | grep "/open" | cut -d " " -f 2 > exposed-services-ips ......
从汇编的角度理解 C/Cpp 的函数调用过程
代码 测试代码内容如下,定义了一个 add 函数,用来求两个函数的和。 int add(int a, int b) { return a + b; } int sum(int a, int b) { return 10 + add(a, b); } int main() { int res = su ......
完全背包问题
问题描述 完全背包问题 有$N$件物品和一个容量是$V$的背包,每件物品都有无限件可用。 第$i$种物品的体积是$v_i$,价值是$w_i$。求解将哪些物品装入背包,可使这些物品总体积不超过背包容量,且总价值最大。 解题思路 内层嵌套循环 01背包问题 每样物品只能使用一件,而针对完全背包问题,我们 ......
git 使用技巧
设置默认编辑器为 vim git config --global core.editor vim 问题fatal: in unpopulated submodule 'xxx'的解决 出现这个问题的原因clone的别人的项目之后,删除项目里的.git文件就直接添加到了自己的版本控制里面,解决方案,执 ......
快速幂与快速乘
定义 快速幂,二进制取幂(Binary Exponentiation,也称平方法),是一个在 $\Theta(\log n)$ 的时间内计算 $a^n$ 的小技巧,而暴力的计算需要 $\Theta(n)$ 的时间。 这个技巧也常常用在非计算的场景,因为它可以应用在任何具有结合律的运算中。其中显然的是 ......
C++ 模板类编译过程中出现“undefined reference to”问题
问题描述 C++在使用模板(template)类的时候,如果将类的成员函数的声明和实现分别放在.h头文件和.cpp源文件中,编译时会报错undefined reference xxx,找不到对应成员函数。 起因 .h文件中类的声明为: // 线程池,定义成模板类,为了代码的复用 template < ......
ABAP】发送文件至企业微信机器人(EXCLE)
外部传输内表内容,转换成EXLCE文件流至企业微信机器人,并获取MEDIA_ID。 IV_KEY为企微机器人KEY, IV_FIELD_NAME为定义的文件名 https://blog.csdn.net/weixin_65625611/article/details/128204931 FUNCTI ......
MONGODB4安装后配置
网上一堆旧的文章,服了。 参考 https://www.jianshu.com/p/238783312677 参考 https://blog.csdn.net/zouchangan/article/details/109324828 修改配置文档mongod.cfg(位置:安装目录\bin 下) 首 ......
二进制下的补码、反码、原码——适用于有符号整数
简单定义 简单起见,我们这里只考虑三位二进制数所能表示的范围,即${-4, -3, -2, -1, 0,\ 1,\ 2,\ 3}$。 机器数和真值 一个数在计算机中的二进制表现形式,就是这个数的机器数(相当于数的原码)。 例如,$-3$ 的机器数即为 $111$,$2$ 的机器数为 $010$。 机 ......
位运算
异或(XOR) /Applications/STM32CubeIDE.app/Contents/Eclipse/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.macos64_1.0.10 ......
PROXMOX及CEPH笔记2
1、关于物理磁盘 服务器有硬件阵列卡并且卡上有电池和缓存,一定要为每个VirtralDisk打开Write Back和Read ahead,如有有Cache也打开 2、提高CEPH修复的速度,这个我觉得也挺重要的,保证资料完整性 https://www.modb.pro/db/220671 在任一节 ......
Luogu P2606 [ZJOI2010]排列计数
# [ZJOI2010]排列计数 ## 题目描述 称一个 $1 \sim n$ 的排列 $p_1,p_2, \dots ,p_n$ 是 Magic 的,当且仅当 $$\forall i \in [2,n],p_i > p_{\lfloor i/2 \rfloor}$$ 计算 $1 \sim n$ 的 ......
C++ 虚函数与动态绑定
多态与动态绑定 为了实现 C++ 的多态,C++ 使用了动态绑定技术,该技术的核心是虚函数表(简称虚表)。 类的虚函数表 每个包含了虚函数的类都包含一个虚表,一个子类如果继承了包含虚函数的父类,那么这个类也拥有自己的虚表,例如 class A { public: virtual void vfunc ......
质因数分解
朴素算法 从$[2, \sqrt(N)]$进行遍历 vector<int> GetFactor(int N) { vector<int> res; for (int i = 2; i * i <= N; ++i) { if (N % i == 0) { while (N % i == 0) { N ......
单调栈
问题描述 简述 单调栈(monotone stack)是指栈内元素(栈顶到栈底)都是(严格)单调递增或者递减的栈。 单调递增栈(从栈顶到栈底):只有比栈顶小的才能入栈,否把栈顶元素弹出,直到栈为空或者或者待处理的元素小于栈顶元素,将元素入栈,适用于求解第一个大于某元素的数的情况; 单调递减栈,与递增 ......
monotone stack
Description brief Monotone stack is a stack whose elements(from top to bottom) are (strictly) monotonically increasing or decreasing. Monotone increas ......
kmp 算法
问题描述 kmp算法解决的是字符串匹配问题,即:字符串P是否是字符串S的子串?如果是,它出现在s的哪些位置?这里我们称 S 为主串,P 为模式串。 思路 首先是暴力匹配算法(Brute-Force算法),代码如下: void BruteForce(string s, string p) { int ......
Cmake 基础教程
介绍 CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。 它用配置文件控制建构过程(build process)的方式和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。CMake并 ......
线段树
引入 线段树是算法竞赛中常用的用来维护区间信息的数据结构。 树状数组可以在 $O(\log n)$ 的时间内实现单点修改、区间查询(求和、求最值、求异或等);而线段树还可以在 $O(\log n)$ 时间内实现区间修改操作,例如将 $[L, R]$ 区间范围内的值都加上一个常数,乘以一个常数,或者都 ......
数组形式组织的树
引入 在 LeetCode 中,二叉树一般是以链表结点的形式组织的,定义如下: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x): val(x), left(nullptr), right(null ......
CPU 缓存一致性:MESI
概述 MESI(也称伊利诺斯协议)是一种广泛使用的支持 write-back 策略的缓存一致性协议。 MESI 状态 我们假设 CPU 中共有 $k$ 个核; CPU 中每个 cacheline 使用 $4$ 种状态进行标记: 状态 介绍 所有核中该状态的个数 MODIFIED 实际上是 exclu ......
跳表
跳表介绍 跳表是一种数据结构,使得包含 $n$ 个元素的有序序列的查找和插入操作的平均时间复杂度都是 $O(\log n)$,与红黑树、AVL 性能类似。 跳表的快速查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)的链表元素相比,每一层链表中的元素的数量更少,一开始,算法在最上层(也 ......
数位 DP
引入 数位是指把一个数字按照个、十、百、千、万等等一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 $0\sim 9$。 数位 DP 一般是用来解决一类特定问题,以 1012. Numbers With Repeated Digits (Hard) 为例,这一类问题的特征 ......
Leetcode常见报错的原因分析
问题1 问题描述 Line 522: Char 69: runtime error: applying non-zero offset 18446744073709551615 to null pointer (basic_string.h) 报错原因 string res = 0 报错分析 这里报 ......
二分答案
概述 二分答案即利用二分查找来得到答案,一般情况下,左边界 $left$ 是 $0$ 或者 $1$;右边界 $right$ 则视题目条件而定,取一个很大的数,然后利用二分查找的思想,来找到答案。 二分答案的要求 如果题目能够使用二分答案的思想来解决,那么 $[left, right]$ 范围内,要满 ......
LRU 算法与 LFU 算法
算法介绍 LRU LRU 全称是 Least Recently Used,即最近最久未使用算法。 LRU 根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高,它是页面置换算法的一种,也常用于缓存设计。 LFU LFU 全称是 Least Freque ......