分支git笔记pro

2023.4 做题笔记

出于一些原因,只有 4.21 往后的题。 LOJ6481 Visual Python++ 考虑贪心。非常容易想到,从左往右扫,每次扫到一个右下角时就匹配一个在它上面但是高度差最小的左上角,如果有多个同一高度的可以不用考虑顺序,因为边界重合的情况是不合法的。 对于一种匹配方案,怎么判断它合不合法呢?我 ......
笔记 2023.4 2023

git stash解决冲突

git 提交时或拉取时,出现冲突很麻烦 可以采用git stash先将本地修改存储起来 git add .git stash 然后拉取 git pull 然后再讲存储的本地修改顶出栈 git stash pop 此时编辑器会提示有冲突,按照提示修改冲突即可 修改好即可重新commit push gi ......
stash git

「学习笔记」SPFA 算法的优化

与其说是 SPFA 算法的优化,倒不如说是 Bellman-Ford 算法的优化。 栈优化 将原本的 bfs 改为 dfs,在寻找负环时可能有着更高效的效率,但是最坏复杂度为指数级别。 void dfs_spfa(int u) { if (fg) return; vis[u] = true; for ......
算法 笔记 SPFA

【学习笔记】光速幂

哦哦哦今天才了解到这个神秘科技 只有在底数和模数相同的情况下才能用。 预处理出$a^1,a^2,a^3...a^s$和$a^{2s},a^{3s},a^{4s}...$那么类似BSGS可以$O(1)$出结果。 预处理复杂度$\sqrt{p}$。 ......
光速 笔记

读SQL进阶教程笔记14_SQL编程要点

1. 消灭NULL 1.1. NULL惹人讨厌的原因 1.1.1. 进行SQL编码时,必须考虑违反人类直觉的三值逻辑 1.1.2. 指定IS NULL、IS NOT NULL的时候,不会用到索引,SQL语句执行起来性能低下 1.1.2.1. 1 + NULL = NULL 2- NULL = NUL ......
进阶教程 要点 SQL 笔记 教程

Git的相关学习1

Git的相关学习 版本控制器的方式 git在实际开发场景中的相关概述 1、备份 2、代码还原 3、协同开发 4、进行代码错误追责 版本控制的相关方式 1、集中式版本控制工具 多台电脑同时开发同一个项目,这时就需要一个中央服务器进行记录各台主机对项目进行修改的记录、版本号, 2、分布式版本控制工具 g ......
Git

django笔记

**主流web框架总结:** a socket b 路由关系 c 模板字符串替换(模板语言) django a用别人的 b自己写的 c自己写的 flask a用别人的 b自己写的 c用别人的(jinja2) tornado a自己写的 b自己写的 c自己写的 另一个维度: django 其他 创建D ......
笔记 django

pwn刷题笔记(格式化字符串)

攻防世界:CGfsb checksec查看保护机制,开启了NX和Canary,32位ELF。 反汇编代码如下: int main(){ char buf[0x7E - 0x76]; ebp-7E short int anonymous_0; ebp-76 char s[0x74 - 0x10]; e ......
字符串 字符 格式 笔记 pwn

四月读书笔记3

四月读书笔记3 流程图是被吹捧得最过分的一种程序文档。事实上,很多程序甚至不需要流程图,很少有程序需要一页纸以上的流程图。”“现实中,流程图被鼓吹的程度远大于它们的实际作用。没有一个有经验的编程人员,在开始编写程序之前,会例行公事地绘制详尽的流程图。在一些要求流程图的组织中,流程图总是事后才补上。” ......
笔记

构建之法阅读笔记3

服务化架构:随着系统复杂度的提高,单体应用已经无法满足业务需求,因此需要将系统拆分成多个小的、自治的服务,以提高系统的可扩展性和灵活性。去中心化思想:在设计系统时,应该避免单点故障,采用去中心化的思想,将负载分散到多个服务器上。同时,要考虑数据的一致性和复制策略。弹性设计:系统必须具备弹性,能够自动 ......
笔记

OpenResty学习笔记02:为服务增加waf功能

一. WAF简介 Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。 目前国内的几大云服务商都提供了企业级的WAF产品,且均价格不菲。 好消息是,在 OpenResty 生态中,有一款开源的WAF可供我等学习,开源万岁! 二 ......
OpenResty 功能 笔记 waf

「学习笔记」Floyd 的应用

求最短路 for (int k = 1; k <= n; ++ k) { for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= n; ++ j) { f[i][j] = min(f[i][j], f[i][k] + f[k][j]); } } } ......
笔记 Floyd

人月神话阅读笔记3

第十三章涉及软件开发中普遍性的问题。尽管每个软件项目都有其独特之处,但是软件开发中也存在许多普遍性的问题,如进度管理和技术选型等。作者提出了一些建议,如制定标准的进度计划和技术选型标准等,用以避免类似的问题在未来出现,并使软件开发工作变得更加高效、可靠和可预测。第十四章提出了两种软件开发文化之间的对 ......
神话 笔记

树上启发式合并学习笔记

最近几天了解到一个很神奇的算法——dsu on tree,看上去没多快实际上很快,这叫低调。 好久不更了,至于反演,5 月再更吧,4 月的最后一天分享一下 dsu on tree。顺便闲话一句,4/26 是我生日,也是历史二模。 重链剖分 dsu on tree 这类 dsu on tree 适用于 ......
笔记

构建之法阅读笔记

读完《构建之法》这本书,深感其中所承载的思想和方法对于现代软件开发具有极大指导意义。这本书不仅让我们认识到复杂系统构建过程中的挑战,更提供了一种可行的应对方式——构建之法。这个方法的核心是奉行简单、健壮、可维护、可升级的设计准则,强调用集成测试的方式逐步构建高度模块化、可重用性的代码,从而优化整个系 ......
笔记

数学学习笔记

学习了基础的数学,发现我的数学还(fei)算(chang)可(la)以(ji),不多说了,开启美妙的数~~xiao~~学之旅吧。 进制转换 首先是我们熟悉的进制转换,就是n进制转m进制。 要把n进制数转化十进制数,再把十进制数转化为m进制数。把n进制数转换为十进制数要先模再除,具体过程就不赘述了,把 ......
数学学习 数学 笔记

构建之法阅读笔记2

《构建之法》这本书有哪些优点?又有哪些不足之处? 优点:1、语言生动有趣,采用情景式、对白式的方式对在软件工程相关的学习中重现场景,更好的解决了读者所遇到相类似的问题。 2、注重实践。在大部分时候,大学的计算机专业,理论和实践是分离的,甚至只注重理论,讲一堆概念,定义,然而这本书与现实项目接轨,既讲 ......
笔记

构建之法读书笔记03

第二章 个人技术和流程 2.1 单元测试 ①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。 ②好的单元测试的标准: 在最基本的功能/参数上验证程序的正确性 单元测试必须由最熟悉代码的人(程序的作者 ......
笔记

构建之法读书笔记-4月-2

《构建之法》一书共分四部分,详细介绍了具有创新性、高度可靠性的软件架构设计的方法及工具, 这里主要介绍第三部分和第四部分的内容。 第三部分介绍了如何针对不完美的现实环境进行系统设计,并以适应环境变化和不确定性为目标,最大限度地减少风险并提升可靠性。 本部分重点关注于“鲁棒性”的概念,在深入分析现实环 ......
笔记

构建之法阅读笔记03

软件架构是什么?软件架构是指对软件系统的整体结构和组织方式的定义。它包括系统的各个组成部分、它们之间的关系、以及系统的行为和性能等方面。软件架构的重要性软件架构是软件开发的基础,它决定了系统的可维护性、可扩展性、可靠性和安全性等方面。良好的软件架构能够降低系统维护的成本,提高开发效率,同时也能够为系 ......
笔记

堆与二叉搜索树学习笔记

部分内容来自 OI-WIKI。 1. 堆 堆的定义 堆是一棵二叉树,满足每个节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。每个节点的键值都大于等于它的父亲节点的叫小根堆,每个节点的键值都小于等于它的父亲节点的叫大根堆。 优先队列是一种抽象数据类型,它是一种容器,里面有一些元素,这些元素也 ......
笔记

字符串-Runs学习笔记

runs学习笔记 学习链接 定义 Run 有一个三元组run=(l,r,p),其中l,r表示在字符串的s[l,r]区间,p表示在s[l,r]中字符串的字串的最小循环节 注意: 不存在扩展性,也就是说s[l-1]!=s[l+p-1],s[r+1]!=s[r-p+1],如果成立的话整个三元组会整体右移或 ......
字符串 字符 笔记 Runs

嵌入式学习笔记汇总

本文整理STM32、STM8和uCOS-III的所有文章链接。 STM32学习笔记目录 源码:mySTM32-learn STM32学习笔记(1)——LED和蜂鸣器 STM32学习笔记(2)——按键输入实验 STM32学习笔记(3)——时钟系统 STM32学习笔记(4)——NVIC中断优先级管理和外 ......
嵌入式 笔记

Vulnhub靶机笔记2——matrix-breakout-2-morpheus

一、介绍 一个以《黑客帝国》为背景的靶场 涉及内容 主机发现 端口服务扫描 1.2不用工具实现 ffuf目录爆破 一句话木马 反弹shell msf,蚁剑使用 图片隐写 CVE-2022-0847漏洞利用 二、环境 攻击机:kali 靶机:matrix-breakout-2-morpheus 三、过 ......

基于C#的excel笔记

一、引用的excel库 1、Microsoft.Office.Interop.Excel库 效果不好,代码繁琐。 在执行语句时出现不能解决的BUG, using Excel = Microsoft.Office.Interop.Excel; ... Excel.Workbook workbook = ......
笔记 excel

外设驱动库开发笔记53:MAX31856热偶变送器驱动

在我们的产品中经常有需要温度检测的地方,而热电偶温度检测电路是我们常用的。热电偶温度检测的方法很多,有时出于简单方便的考虑我们会选择热偶温度变送器来实现,这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测。 1、功能概述 MAX31856可以对任何类型热电偶的信号进行冷端补偿和数字 ......
变送器 外设 笔记 31856 MAX

树分治学习笔记

一、 点分治 一、概述 前置知识:数的重心。 假设我们要统计一棵有 $n$ 个节点的树上所有点对之间距离是 $k$ 的有多少对。注意树上的边有长度。 $n\le 10^5,k\le 10^6$。 一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。 时间复杂度 $O(n^2)$。 考虑 ......
笔记

笔记本自带的office哪去了?

登录office官网 点击右上角头像 点击我的Microsoft账户 点击上方导航栏的 服务与订阅 点击已购买的产品 点击安装,选择版本中选择脱机安装程序 下载后右键装载,双击出现的setUp.exe ......
笔记本 笔记 office

软构笔记-Java Swing学习

Java Swing 教程 Java Swing 是 Java 平台的一个 GUI 工具包,提供了各种组件和工具类,用于创建漂亮的用户界面。 安装 Java Swing Java Swing 是 Java 标准库的一部分,因此无需安装额外的软件包。只需要安装 Java 开发工具包(JDK),就可以开 ......
笔记 Swing Java

《代码大全》阅读笔记

做任何事情都需要前期准备,在软件开发中更是如此,尽管如此,还是有很多程序员接到任务后就是想着尽快编码,很多老板不重视软件开发的前期准备。要想保证一个软件的质量,在前期准备,需求分析,架构设计,编码,测试,维护等每一个环节都要重视质量。具体程序员接到任务的时候要检查一下在你之前的那些软件活动有没有准备 ......
代码 笔记 大全