分量 算法 笔记tarjan

python如何利用算法解决业务上的【分单问题】

分单是很多企业日常工作中非常典型的一项内容,它非常复杂,但同时又极为重要,如何合理的分单是企业管理中一个很重要的课题。 之所以说分单很复杂,是因为影响单据该分给谁,分多少量这个事儿本身就有太多的影响因子;一旦管理者在分单的公平性上出现大的问题,厚此薄彼了,往大了讲,员工的做事积极性有可能都会被挫伤。 ......
算法 业务 python 问题

es笔记六之聚合操作之指标聚合

> 本文首发于公众号:Hunter后端 > 原文链接:[es笔记六之聚合操作之指标聚合](https://mp.weixin.qq.com/s/UyiZ2bzFxi7zCGmL1Xf3CQ) 聚合操作,在 es 中的聚合可以分为大概四种聚合: * bucketing(桶聚合) * mertic(指标 ......
指标 笔记

「学习笔记」略谈点分治

> 点分治适合处理大规模的树上路径信息问题。 ## 引入 > 给定一棵 $n$ 个点树和一个整数 $k$,求树上两点间的距离小于等于 $k$ 的点对有多少。 对于这个题,如果我们进行 $O_{n^3}$ 搜索,那只要 $n$ 一大,铁定超时。 所以,我们要用一个更优秀的解法,这就是我们的点分治。 ~ ......
笔记

*【学习笔记】(9) 分块

# 分块思想 引用一下 oi-wiki 的话: > 分块的基本思想是:通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 # 数列/序列分块 ## 引入 ### [#6280. 数列分块入门 4](https://loj.ac/p/6280) > ......
笔记

【学习笔记】(15) Kruskal 重构树

前置知识:kruskal 求最小生成树,倍增。 ## 1. 算法简介 以下所有讨论基于 最小生成树。 在 Kruskal 求最小生成树的过程:将所有边按照边权排序,若当前边 $(u,v)$ 两端不连通,则往生成树边集 $E$ 中加入 $(u,v)$ 并连接 $u,v$。使用并查集维护连通性。 如果能 ......
Kruskal 笔记 15

GitlabCI学习笔记之三:GitLabRunner pipeline语法之tags allow_faillure when retry timeout parallel

1.tags 用于从允许运行该项目的所有Runner列表中选择特定的Runner,在Runner注册期间,您可以指定Runner的标签。 tags可让您使用指定了标签的runner来运行作业,此runner具有ruby和postgres标签。 示例 给定带有osx标签的OS X Runner和带有w ......

各种排序算法的快速了解

冒泡排序 算法描述 重复地比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素。 比较相邻的元素,如果前者比后者大,则交换两个元素。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 针对所有的元素重复以上的步骤,除了最后一个。 快速排序 快速排序算法通过多次比较和交换来实现 ......
算法

我的软考复习笔记【中级软件设计师】

[TOC] # 内聚与耦合 我们常说,为系统划分模块时,要做到高内聚、低耦合。 ## 内聚 定义: 度量一个模块内部各个元素彼此结合的紧密程度。 内聚类别(内聚性由低到高排列) 偶然内聚:指一个模块内的各处理元素之间没有任何联系。 (类似于把一推不相关的代码都组合在一个类里) 逻辑内聚:指模块内执行 ......
设计师 笔记 软件

五月读书笔记二《人件集》

继续阅读《人件集》后,体会到软件开发团队如果想要在项目中获得最大限度的成功,取决于团队中的成员能否形成技术性一致意见。 但为什么这点如此重要呢?是不是团队成员只要在诸如目录表格的布局上达成一致,或者建立一个很好的错误汇报机制就行了呢? 技术性一致意见指的并不是与同事打成一片就可以了,当然,这也不是说 ......
笔记

算法day1

暴力解 二分查找 直接fast遍历数组,不要用for循环i遍历, ......
算法 day1 day

LaTeX 的学习笔记

摘自我的[洛谷博客](https://www.luogu.com.cn/blog/SunnyYuan/latex-di-xue-xi) 该文章被打开的次数(包括洛谷平台): ![](https://www.free-website-hit-counter.com/c.php?d=9&id=15077 ......
笔记 LaTeX

Linux学习笔记

Linux目录结构 bin -> usr/bin 用于存放二进制命令 boot 内核及引导系统程序所在的目录 dev 所有设备文件的目录(如磁盘、光驱等) etc 配置文件默认路径、服务启动命令存放目录 home 用户家目录,root用户为/root lib -> usr/lib 32位库文件存放目 ......
笔记 Linux

Unity工具开发教程笔记(1/4)

[toc] 源视频教程地址为[Youtube](https://www.youtube.com/watch?v=pZ45O2hg_30) ### 什么是Unity工具开发程序员 工具开发程序员目标客户是项目组里其他成员,它们创造出unity原本没有的功能,优化项目的流程。并且你只需要会C#就能搞定这 ......
笔记 工具 教程 Unity

《软件需求模式》读书笔记1

书中简单的将需求定义为:需求就是定义系统需要做什么而不是怎么做。 需求也是有一些原则的, 1)定义问题而不是解决方案, 2)定义系统而不是项目, 3)区分正式和非正式部分, 4)避免重复,在几种需求流程中,我们了解到每种需求流程都有自身的优点和缺点,传统需求流程比较规规矩矩,这样可以使项目需求分析有 ......
需求 模式 笔记 软件

Graph Embedding:LINE算法

背景 如上图所示,结点6和7是相邻结点,他们应该是相似结点,结点5和6虽然不是相邻结点,但是它们有共同的相邻的结点,因此它们也应该是相似结点。 基于词观察,LINE算法提出了一阶相似性算法和二阶相似性算法 First-order 我们首先如如下公式来计算结点i和j的联合概率分布: 其中ui,uj​分 ......
算法 Embedding Graph LINE

06人月神话阅读笔记

第11章 未雨绸缪不变只是愿望,变化才是永恒。——SWIFT。 普遍的做法是,选择一种方法,试试看;如果失败了,没关系,再试试别的。不管怎么样,重要的是先去尝试。——富兰克林 D. 罗斯福。 11.1 化学工程师很早就认识到,在实验室可以进行的反应过程,并不能在工厂中一步实现。一个被称为“实验性工厂 ......
神话 笔记

002 Python 学习笔记

# 通过:f"内容{变量}" 的格式,实现快速格式化,如下示例 print(" 字符串快速格式化 ") name ="sunwugang" age=18 print(f"my name is {name},age is {age}") print("my name is {},age is {}". ......
笔记 Python 002

04人月神话阅读笔记

第7章 为什么巴比伦塔会失败?7.1 巴比伦塔项目的失败是因为缺乏交流,以及交流的结果——组织。他们无法相互交谈,从而无法合作。当合作无法进行时,工作陷入了停顿。 7.2 因为左手不知道右手在做什么,所以进度灾难、功能的不合理和系统缺陷纷纷出现。随着工作的进行,许多小组慢慢地修改自己程序的功能、规模 ......
神话 笔记

05人月神话阅读笔记

第9章 削足适履9.1 程序有多大?除了运行时间以外,它所占据的空间也是主要开销。 当系统设计者认为对用户而言,常驻程序内存的形式比加法器、磁盘等更加有用时,他会将硬件实现中的一部分移到内存上。相反的,其他的做法是非常不负责任的。 由于规模是软件系统产品用户成本中如此大的一个组成部分,开发人员必须设 ......
神话 笔记

01人月神话阅读笔记

第1章 焦油坑1.1 编程系统产品(Programming Systems Product)开发的工作量是供个人使用的、独立开发的构件程序的九倍。 我估计软件构件产品化引起了3倍工作量,将软件构件整合成完整系统所需要的设计、集成和测试又强加了3倍的工作量,这些高成本的构件在根本上是相互独立的。 1. ......
神话 笔记

02人月神话阅读笔记

第3章 外科手术队伍3.1 同样有两年经验而且在受到同样的培训的情况下,优秀的专业程序员的工作效率是较差程序员的十倍。(Sackman、Erikson和Grand) 需要协作沟通的人员的数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不当所引起的不良结果(系统调试)。这一点 ......
神话 笔记

03人月神话阅读笔记

第5章 画蛇添足5.1 尽早交流和持续沟通能使结构师有较好的成本意识,以及使开发人员获得对设计的信心,并且不会混淆各自的责任分工。 面对估算过高的难题,结构师有两个选择:削减设计或者建议成本更低的实现方法——挑战估算的结果。后者是固有的主观感性反应。此时,结构师是在向开发人员的做事方式提出挑战。想要 ......
神话 笔记

Linux初级笔记

关于finalshell 运行ifconfig ,观察虚拟机ens33的代码,得出计算机IP,然后选择用SSH连接。 命令行基本格式: commmand -option(选填) parameters(选填) 选项 路径(参数) 路径:第一个/表示根目录,之后的/表示层级分隔符 命令行1:ls: 显示 ......
笔记 Linux

001 Python 学习笔记

# 安装开发工具(参考) # python-3.11.3-amd64.exe python.org.com # pycharm-community-2020.3.2.exe # coding test print("hello python aa") print("hello python bb") ......
笔记 Python 001

二分图匹配算法

匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法,它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点: 1. 匈牙利算法: - 实现方式:匈牙利算法使用深度优先搜索(DFS)来寻找增广路径,通过不断更新匹配的顶点对来找到最大匹配 ......
算法

mall学习笔记(6)

1. @Autowired和@Resource注解的区别 @Autowired和@Resource注解的区别和联系(十分详细,不看后悔)_莫小兮丶的博客 1. @Autowired注解是Spring提供的,而@Resource注解是J2EE本身提供的2. @Autowird注解默认通过byType方 ......
笔记 mall

刷题笔记:Luogu P3956 棋盘

[Problem](https://www.luogu.com.cn/problem/P3956) ### Solution DFS/BFS 需要注意去重的时候可以重复走(因为有限定条件),只要新的步数比原来的步数小就可以走,其余情况模拟即可 细节有点多,比如需要记录一下上一步的棋盘颜色(下一次搜索 ......
棋盘 笔记 Luogu P3956 3956

JUC:cas 算法、原子类、原子引用类

### 什么是 CAS + 全称是 Compare-And-Swap,对数据进行 **原子性** 操作,sun.misc.Unsafe 类的各个 native 方法实现的 + 比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则什么都不做或者重来一次,重来就是自旋锁了 [java各种锁 ......
原子 算法 JUC cas

C#学习笔记 - using语句

using语句 某些类型的非托管对象有数量限制或很耗费系统资源, 在代码使用完他们后, 尽快释放他们是很重要的using语句有助于简化这一过程, 并确保这些资源被适当的处理 (0)资源 指实现了System.IDisposable接口的类或结构. IDisposalbe接口中有个Dispose的方法 ......
语句 笔记 using

C#学习笔记 -- switch

switch case标签由关键字case和其后面的模式构成 模式可以是简单地值 也可以是简单值的表达式 也可以是一个类型 可以使用关键字when来包含一个过滤器 case Square square when square.Side > 3: Console.WriteLine($"多边形, 且边 ......
笔记 switch