常用算法模板与知识点

NOIP实用算法模板(C++) 线段树(区间修改,区间和):#include <cstdio> #include <iostream> #include <cstring> using namespace std; int c[1000000],n,m; char s;void update(int p,int l,int r,int x,int add) { int m=(l+r) / 2; if (l==r) 阅读详情

1.循环

def recursion(level,p1,p2...):
    #终止条件
    if level>Max_Level:
        return
    
    #处理当前层的问题
    process(level,p1,p2,...)

    #进入下一层
    recursion(level+1,p1,p2,...)

    #恢复当前层状态(if needed)
    recover(level,p1,p2,...)

2.DFS

def DFS(node,visited,p1,p2,...)
    #终止条件
    if node is end_node:
        return

    #处理当前node
    process(node,p1,p2,...)
    visited.add(node)

    #进入子节点
    for node_child in node.children():
        if node_child not in visited:
            DFS(node_child,visited,p1,p2,...)
    
    #恢复当前节点状态(if needed)
    recover(node,p1,p2,...)

3.BFS

def BFS(node,p1,p2,...)
    from collection import deque
    quene=deque([])
    visited=[]

    quene.append(node)
    
    while quene:
        cur_node=quene.popleft()
        
        if cur_node not in visited:
            process(node,p1,p2)
            visited.append(cur_node) #一般用于图

        for child in node.children():
            quene.append(child)

        #恢复当前节点数据(if needed)
        recover(node,p1,p2,...)

1. 判断质数

    def isPrime(self,num):
        if num<=3:
            return num>1

        # 不在6的倍数两侧的一定不是质数,必要非充分条件,如25就不是质数
        if num % 6 != 1 and num % 6 != 5:
            return False
        
        # 加上这段,就是充分条件了
        sqt=int(math.sqrt(num))
        for i in range(5,sqt+1,6):
            if num % i == 0  or num % (i + 2) == 0:
                return False
        return True

1. 三角形面积

    def area(self,pa,pb,pc):
        ab = sqrt((pa[0]-pb[0])**2 + (pa[1]-pb[1])**2)  # 直线ab长度
        ac = sqrt((pa[0]-pc[0])**2 + (pa[1]-pc[1])**2)  # 直线ac长度
        bc = sqrt((pb[0]-pc[0])**2 + (pb[1]-pc[1])**2)  # 直线bc长度
        
        # 海伦公式
        q = (ab + ac + bc) / 2 
        s = round(sqrt(q * (q - ab) * (q - ac) * (q - bc)), 3)  # 保留3位小数
        print(pa,pb,pc,s)
        return s

   def area2(self,p, q, r):
       # 行列式
       return .5 * abs(p[0]*q[1]+q[0]*r[1]+r[0]*p[1]-p[1]*q[0]-q[1]*r[0]-r[1]*p[0])

1. 判断两线段相交:

 def intersect(p_left, p_right, q_left, q_right):
            return min(p_right, q_right) > max(p_left, q_left) # 最小右端大于最大左端

1. 最大公约数:

# 辗转相除法也可以用来求两个数的最大公约数。
#更相减损术和辗转相除法的主要区别在于前者所使用的运算是“减”,后者是“除”。从算法思想上看,两者并没有本质上的区别,但是在计算过程中,如果遇到一个数很大,另一个数比较小的情况,可能要进行很多次减法才能达到一次除法的效果,从而使得算法的时间复杂度退化为O(N),其中N是原先的两个数中较大的一个。相比之下,辗转相除法的时间复杂度稳定于O(logN)

    def gcd(self,a,b):
        r=a%b
        if r!=0:
            return self.gcd(b,r)
        else:
            return n

AcWing算法题常用代码模板 一、基础算法 1、常用代码模板 快速排序算法模板 —— 模板题 AcWing 785. 快速排序 算法步骤: ​ ①确定分界点 ​ ②调整区间 ​ ③递归处理左右两段 Tips: ​ ①如果输入数据量比较大的话,用scanf输入更快,不要使用cin。 ​ ②只要背诵一种万能模板即可避开所有边界问题。 ​ ③考试时一般不会用到快排,面试时喜欢考察。 ​ ④ #include<bits/stdc++.h>包含了目前c++所包含的所有头文件 。 ​ ⑤分治一般用不到,只要掌握快速排序和归并排序就行。 阅读详情

相关推荐

ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用)

萌新常用的都在这了,本萌新的模板集。

张天枭の博客 5万+

常用算法模板——汇总

本篇文章主要包含了算法与数据结构的一些常用模板,可适用于算法小白学习,也适用于有一定基础的同学用来复习!!

m0_66689823的博客 7023

高校ACM竞赛资料与算法模板大全

ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest, 简称ACM-ICPC或ACM)起源于1970年,是世界上公认的规模最大、水平最高的大学生计算机竞赛。它以团队形式参赛,每队最多三名成员,共用一台计算机解决问题。经过半个多世纪的发展,ACM竞赛不仅推动了计算机教育的普及,还为全球信息产业培养了大量的人才。ACM模板在编程竞赛中的重要性不言而喻。它能够帮助编程者快速搭建问题解决方案的框架,从而专注于问题本身的逻辑实现。

weixin_35756637的博客 648

常见算法模板

文章目录快速幂快读马拉车最小生成树最短路字典树优先队列中国剩余定理线段树唯一分解定理网络流之最大流完全背包贪心拓扑排序约瑟夫环欧拉函数树状数组三分区间查质数强连通分量欧拉回路记忆化优先搜索字符串哈希哈希表割点二分图最大匹配多重背包01背包kmpRMQ倍增求LCA并查集尺取法叉乘差分约束系统uowei 快速幂 //求a^k的前三位和后三位 #include <cstdio> #include <cmath> #include <cstring> #include <a

Conqueror_demons的博客 720

研发工作量科学量化评估模型:从多维系数到等级落地指南

摘要:本文提出了一套基于多维系数的科学量化评估模型,用于精准评估软件开发工作量。该模型从需求复杂度、技术难度、质量要求和依赖风险四个核心维度进行量化评估,通过系数乘积计算综合工作量。文章详细说明了各维度的系数区间划分标准,并演示了从基础工作量估算到综合系数计算的具体步骤。该模型通过结构化评估过程,将主观经验转化为客观量化指标,帮助团队提高工作量评估的准确性,增强项目交付的可预测性。其价值在于使评估过程透明化、结构化和可追溯,从而减少项目延期风险,优化资源规划。

友莘居士的博客 1684

Matlab激活失败?手把手教你解决License checkout failed问题(附详细截图)

本文针对Matlab激活后出现“License checkout failed”错误的常见问题,提供了详细的解决方案。核心在于精准定位并正确填写Windows系统用户名,而非计算机名或账户全名。文章通过分步截图和命令指引,手把手教你使用`whoami`命令获取正确信息,并重新运行激活程序,从根本上解决因用户名填写错误导致的许可检查失败问题。

weixin_29062823的博客 574

常用算法模板

常用算法与数据结构 文章目录常用算法与数据结构1. 树先序遍历中序遍历后序遍历前缀树并查集2. 图拓扑排序最短路径DijkstraBellman-FordFloyd最小生成树primkruskal3. 单调栈4. 链表快慢指针翻转链表5. 十大排序算法冒泡排序选择排序插入排序希尔排序归并排序**快速排序**堆排序计数排序桶排序基数排序 1. 树 先序遍历 // 递归 void preOrder(Node * root){ if(!root){ visit(root);

m0_46200713的博客 1159

从电商平台到微信私域:构建合规跳转链路的技术实现

在互联网营销与用户增长领域,链接跳转是连接不同平台、引导用户流量的基础技术。其核心原理是通过服务器端路由与参数解析,实现用户请求的接收、处理与重定向。这项技术的价值在于能够突破平台间的生态壁垒,实现流量的合规、可控迁移,尤其适用于跨平台营销、私域沉淀等场景。在实际应用中,常需处理微信环境限制、参数传递与动态内容生成等挑战。本文聚焦于电商平台(如淘宝)到微信生态的跳转需求,详细阐述了如何利用Node.js、Express框架及二维码生成技术,构建一个包含环境检测、参数传递与动态落地页的完整跳转系统,以解决微信

weixin_33889665的博客 323

算法模板——常用方法(未完待更)

常用方法1. 双指针1.1 快慢指针1.1.1 有环链表的问题1.1.2 无环线性表1.1.3 Reference 1. 双指针 1.1 快慢指针 快慢指针的核心思想就是: 慢指针每次移动一格,快指针每次移动两格 1.1.1 有环链表的问题 最典型的就是弗洛伊德的龟和兔子 bool hasCycle(ListNode *head) { ListNode *tortoise = head; ...

Aries_young的博客 1623

告别死记硬背!用实际案例带你玩转UE5编辑器界面(附场景搭建练习)

本文通过实际案例教学,带你轻松掌握Unreal Engine5编辑器界面的核心功能。从创建基础场景到添加光源和可交互对象,逐步讲解内容浏览器、模式面板、世界大纲等模块的协同工作方式,告别死记硬背的学习模式。附场景搭建练习,助你快速上手UE5开发。

weixin_30566063的博客 729

1、网站可靠性工程(SRE):原理、实践与转型指南

本文深入探讨了网站可靠性工程(SRE)的核心原理、实践方法以及组织转型策略。从SRE的基本概念如服务水平指标(SLI)、服务水平目标(SLO)和错误预算入手,详细解析了如何通过SRE实现产品开发、运营和管理团队的高效协作。此外,还涵盖了SRE的实施步骤,包括现状评估、组织认同、基础设施建设、事件响应、错误预算政策制定以及组织结构设计等内容。最后,文章展望了SRE的未来发展,强调了服务目录、合规监管及SRE文化建设的重要性,为企业的现代化运营体系转型提供了全面指南。

xk7n92h3p5m的博客 145

最全算法模板-更新ing

笔记

weixin_40446266的博客 830

2024年下半年网络规划设计师论文真题

3、深入论述自身参与的工业网络是如何实施的,为实现制造业的智能化,如何实现数据的跨系统互通,促进各种工业数据的充分流动和无缝集成以及数据安全。3、结合自身参与的网络建设,详细叙述针对该网络“去NAT”的规划和设计方案。4、在实施过程中遇到的问题以及如何处理,项目实施后的效果和评价。2、大型园区网络“去NAT”改造和业务融合的整体架构。1、“网络去NAT”对推进ipv6演进和应用的意义。4、改造过程中遇到的问题及解决方案。2、简要叙述自身参与的制造网络建设。1、网络规划在智能制造中的意义。

鹿鸣天涯 2366

Python算法模板实战:蓝桥杯必备技巧总结

实际测试这些算法模板时,发现其代码编辑器响应很流畅,特别适合快速验证算法片段。不需要配置本地环境就能运行各种Python代码,对于算法学习非常友好。这种即写即得的方式,比传统本地开发更高效,特别适合算法竞赛的赛前练习。记忆化装饰器有效减少重复计算。逆元计算需要保证模数为质数。注意时区转换等边界情况。离散化处理大数据量映射。线段树的懒标记传递机制。

SilvermistFalcon67的博客 399

YOLO数据集实现数据增强的方法(裁剪、平移 、旋转、改变亮度、加噪声等)

数据集样本太少怎么办?数据集优质图像不够怎么办?如何做到更好的数据预处理?一文带你学会数据增强,还可实现带标签的扩充。

路人贾的博客 4万+

超越防抖:索尼CXD5254GG芯片如何重新定义电子影像稳定

索尼CXD5254GG芯片通过融合6轴IMU与图像传感器数据,重新定义了电子影像稳定技术。其核心突破在于实时地平线校正、抑制果冻效应和镜头畸变校正,并搭载智能画质控制器提升画面细节。该芯片适用于广播制作、体育娱乐、安防监控和机器人视觉导航等专业领域,提供开箱即用的优化参数配置,大幅缩短开发周期。CXD5254GG不仅实现稳定成像,更通过姿态感知与智能优化,为专业影像应用提供了完整的稳定解决方案。

致力于lidar应用开发 114

ACM之路——算法模板(数学)

在说正事之前,先说说题外话,进集训队也有将近八个月,感觉这就是一个靠数学吃饭的地方,另外还需要努力,每一道题目你解决它所花的时间跟你的进步是成正比的,路还有那么长,不过今年就要参加省赛了,剩下的时间不多,赶紧补题去!!!数学在比赛中占的比重比较大,主要是数论、公式、递推、组合、概率、矩阵、博弈等等,目前更新一部分的模板,另外一部分会马上更新,请大家不要着急。一、简单数论、特殊公式(1)素数判定boo

HJ 2434

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STL 常用算法(四) - 算术 & 集合算法

概述 STL常用算法主要分布在<algorithm>,<functional>和<numeric>中 <algorithm>定义了比较、交换、查找、遍历、复制、修改等操作。 <numeric>定义了简单数学运算的模板函数。 <functional>定义了模板类,用以声明函数对象。 常用算法 1.accumulate...

万里归来少年心 300

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

各种各样的模板……

基础 语法 变换函数模板 #include<bits/stdc++.h> using namespace std; template <class T1,class T2> T2 sum(T1 a,T1 b){ return (T2)a+b; } int main(){ cout<<sum<double,float>(1.11111111,2.22222222)<<endl; return 0; } 快读模板 inline int re

qq_45698847的博客 230

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C++算法基础系列(四)

本文介绍了基础算法中的前缀和和差分,并解释了其中思想,给出了模板题帮助算法的背诵和理解。

jfiehvis的博客 998

常用算法代码模板与题单 | G - 数学(更新于2026.10.7)

这篇文档其实是我自己学习路上的一份“复习笔记”。之前看了不少教程,零零散散记了一堆代码片段和小技巧,时间久了就容易忘,翻起来也麻烦。所以干脆花时间整理了一下,把常用的模板、容易踩的坑、还有一些个人觉得挺实用的小技巧都归到了一起。 如果你也在学类似的东西,或许能帮你省下一些翻找的时间;如果有哪里写得不清楚或不对,也欢迎随时指正交流。 希望这份整理也能对你有一点点帮助~ ✨

团爸讲算法 245

蓝桥杯考前必看知识点【python 代码详解】

最近一直在准备蓝桥杯,看了很多知识点及模板,考前几天就来个总结笔记巩固一下吧。写的还是比较全面的,希望也能帮助到其他备考的小伙伴呀>_

指尖动听知识库 1175

紫书知识点记录(持续更新)

开一篇帖子记录一下看书时觉得重要的知识点吧,想起来的话就加进来,总比没有强… “一等公民”指既可以作为参数传递,又可以从子程序中返回,还可以直接赋给它变量的类型,“二等公民”指尽可以作为参数传递的类型,“三等公民”指三者都做不到的类型。 getchar()可用来读取包含空格、换行符的字符串。 乘以2也可以写成“<<1”,意思是左移一位。(感觉有点复杂,还没掌握) 回车换行符:Linu...

qq_21606413的博客 185

知识点整理总结

TCP/IP部分:协议森林 linux相关:linux系统linux命令 数据结构:排序算法红黑树 各种面经:C++岗笔试经验(转)

Zoe_liuxy 205

蓝桥杯知识点汇总:基础知识和常用算法

此系列包含蓝桥杯(软件类)所考察的绝大部分知识点,算法,和写算法题必备的JAVA的基础语法,API,对想从C/C++转到JAVA组以及初学算法的同学会有帮助。

GD_ONE的博客 12万+

【2025蓝桥杯Python备赛】知识点/算法模板整理

这篇笔记给大家系统整理了蓝桥杯python组竞赛所需的【核心知识点】,涵盖从基础语法到高级算法的各个方面,希望帮助大家高效备赛。包括输入输出处理、数据结构应用、算法模板、数学知识等。通过系统性地学习和练习这些知识点,再加上适量的真题训练,建议每天保持3-5小时的专注练习时间,省一等奖乃至国奖都还是非常有希望的。

Magnolia_He的博客 6759
上一篇: Beautiful Soap 使用注意事项
下一篇: spark常用模板
Code_LT
博客等级 码龄10年 307粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值