- 2025-01-23浅谈根号算法
前言本人在HL集训时爱上了根号算法,遂开此坑。所有根号算法都有一个共性:与暴力算法息息相关。但它们并不是拙劣的暴力,而是优美的暴力。所以根号算法也被称之为“暴力美学”。根号分治就是一个典型的根号算法。当题目性质与\(x\)和\(\frac{n}{x}\)都有关时,我们可以找到一个
- 2025-01-22从一个无序的整数数组中,找出最小和最大数之间缺失的数字,要求最小的时间复杂度
为了找出无序整数数组中最小和最大数之间缺失的数字,我们首先需要确定最小和最大的数字。这可以通过遍历数组一次来实现,时间复杂度为O(n),其中n是数组的长度。一旦我们有了最小和最大的数字,我们可以检查它们之间的所有数字是否都存在于数组中。但是,如果直接遍历检查每个数字,时间复
- 2025-01-22写一个方法实现“插入排序算法”,并解释下时间复杂度和空间复杂度
插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供
- 2025-01-21【轻松掌握数据结构与算法】动态规划
引言在本章中,我们将尝试解决那些使用其他技术(例如分治法和贪心法)未能得到最优解的问题。动态规划(DP)是一种简单的技术,但掌握起来可能比较困难。识别和解决DP问题的一个简单方法就是尽可能多地解决各种问题。“编程”一词与编码无关,而是源自文献,意思是填充表格,类似于线性规划。
- 2025-01-21贪心与动规(动态规划)
1.贪心与动规的区别贪心算法和动态规划的主要区别在于它们解决问题的方式、能否保证得到最优解以及算法复杂度。解决问题的方式:贪心算法:在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的。它通常不考虑未来后果,只关注当前的最优解。动态规划
- 2025-01-20莫队套分块-学习笔记
莫队套分块P4396[AHOI2013]作业题目翻译:给定一个长度为\(n\)的序列,\(m\)次询问,每一次给出\(l,r,a,b\)及求在区间\([l,r]\)间在值域\([a,b]\)的所有数的个数,和数的种数。算法理解:莫队套分块,显而易见就是在运用莫队的前提下,用分块来处理莫队的增减值。分块的复杂度
- 2025-01-20日记(练习)
为了分别OI与日常,这里只会放些我认为比较好的题,其他题应当在学习笔记中。todolist多项式杂烩(doing)LCT?仙人掌(2024.9.18)一些较难的DP构造与ad-hoc博弈论(不会打表找规律):(推式子练习计算几何?PAM,广义SAMKummer定理2025.1.7在平面直角坐标系求
- 2025-01-20【第一天】零基础入门刷题Python-算法篇-数据结构与算法的介绍(持续更新)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Python数据结构与算法的详细介绍1.基本概念2.Python中的数据结构1.列表(List)2.元组(Tuple)3.字典(Dictionary)4.集合(Set)5.字符串(String)3.Python中的常用算法1.排序算法2.搜索算法3.递
- 2025-01-20做题记录
【N】新本格魔法少女好题分享1月6日好题分享-安师大附中-VirtualJudgeP11365[Ynoi2024]新本格魔法少女りすか-洛谷记录详情-洛谷这是一道卡常分块题。直接对序列分块,则计算贡献分为如下情况:(不妨设块长为\(B\))散块对散块:直接用树状数组统计顺序对,复杂度\(O(nB\l
- 2025-01-192024网安数据结构恐龙提纲
2024网安数据结构
- 2025-01-19Java中的算法优化与复杂度分析
1.算法优化的重要性在Java开发中,算法优化至关重要。高效的算法不仅可以提升程序运行速度,还能降低资源消耗,改善用户体验。优化算法需要综合考虑时间复杂度和空间复杂度,以找到最佳的解决方案。2.时间复杂度时间复杂度表示算法运行时间随输入规模变化的增长率。常见的时间复杂度
- 2025-01-19LeetCode:78.子集
LeetCode:78.子集解题思路要求:1、所有子集;2、没有重复元素。网信2268731有出路、有死路。考虑使用回溯算法。解题步骤用递归模拟出所有情况。8731保证接的数字都是后面的数字。收集所有到达递归终点的情况,并返回。时间复杂度:O(2^N),因为每个元素都有两种可能(存在或不存在)空间复
- 2025-01-19寒假前半ACM训练总结
基础算法方面:充分认识到了二分、贪心、双指针等基础算法的重要性,在CF、ATC等中的题和ACM中的题(听说)大多都仅考次类基础算法但是需要运用熟练,在此前我一直忽视了此类算法的重要性并且也忽视了思维的提升,导致比赛有时甚至会在此类基础算法题中卡住以往也忽视了对于思考程序
- 2025-01-18LeetCode题练习与总结:下一个更大元素 Ⅲ -- 556
一、题目描述给你一个正整数 n ,请你找出符合条件的最小整数,其由重新排列 n 中存在的每位数字组成,并且其值大于 n 。如果不存在这样的正整数,则返回 -1 。注意 ,返回的整数应当是一个 32位整数 ,如果存在满足题意的答案,但不是 32位整数 ,同样返回 -1 。示例1:
- 2025-01-18LeetCode题练习与总结:反转字符串中的单词 Ⅲ -- 557
一、题目描述给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例1:输入:s="Let'stakeLeetCodecontest"输出:"s'teLekatedoCteeLtsetnoc"示例2:输入:s="MrDing"输出:"rMgniD"提示:1<=s.length<=5*10^
- 2025-01-18WC 记录
P1224:给定\(n\)个\(d\)维向量\(A_i\),判断存在\(i,j\)使得\(A_i\)与\(A_j\)的内积为\(k\)的倍数,构造方案。\(n\le10^5,d\le30,k\in\{2,3\}\)。题解:考虑\(k=2\)的情形。构造矩阵\(M=A_1|A_2|...|A_k\),\(E=M\cdotM^T\)那么\(A_i\)与\(A_j\)的内积等于\(E_{
- 2025-01-18Resolve 01 Solution
SolutionsT1P6571[BalticOI2017]PoliticalDevelopment看到数据范围,复杂度应该是$O(nk\cdot2^k)$。简化题面就是给一个图,满足对于任意点导出子图,存在一个节点的度数小于$k$,求原图的最大团。最大团,参考OIWiki,得到这是一个NP算法。说明这道题肯定有Trick。首先,这道题
- 2025-01-18分块莫队学习笔记
优雅的暴力。引入link。这道题显然可以用线段树、树状数组做,但如果我偏不用这些数据结构呢?我们知道,暴力修改和查询最坏是\(\mathcal{O}(n)\)的,这样肯定会挂掉。那该怎么办呢?正题分块考虑将序列分成若干块,我们设每块长为\(B\)。对于每次查询\(\left[l,r\right]
- 2025-01-182024 11~12 月 做题记录(待更新)
CF2047DMoveBackataCost要使字典序最大,每次都要找到最小的数,把它前面的数都后移.因为可以钦定后移的顺序使得后移的数按升序排列,所以每个数最多被移位一次.定序后开两个队列模拟即可.CCPC2024上海F羁绊大师将羁绊相同的英雄相连,因为英雄至多\(2\)个羁绊,所以度数不超
- 2025-01-17华为2024嵌入式研发面试题
01你认为最好的排序算法是什么?在实际的编程中,最好的排序算法要根据实际需求和数据规模来选择,因为每种排序算法都有其优势和劣势。以下是一些常见排序算法及其优缺点:冒泡排序冒泡排序是一种简单直观的排序算法,它的时间复杂度是O(n^2)。虽然它的时间复杂度比较高,但它的实现方
- 2025-01-172025.1 做题记录
A.环覆盖条件等价于每个点度数都是偶数,不难写出恰好保留\(k\)条边时的答案:\[[x^{\varnothing}y^k]\prod_{(u,v)}(1+x^{\{u,v\}}y)\]其中\(x\)这一维是xor卷积,\(y\)这一维是加法卷积。考虑经典套路,\((1+x^Sy)\)FWT之后每位都是\((1\pmy)\),乘起来之后
- 2025-01-17NOIWC2025 实录
Day1报道日。前情提要:结束了PKUWC,前往龙山书院参加NOIWC。今天没有安排讲课,选择了一些经典的题目完成。[ABC387G]PrimeCircuit原题链接:https://atcoder.jp/contests/abc387/tasks/abc387_g简要题意:对于\(n\)个点、有标号、每个环长度均为奇质数的仙人掌计数。考虑Pr
- 2025-01-17数组的算法
逆序算法时间复杂度n选择排序算法 时间复杂度n^2冒泡排序算法 时间复杂度n^2原地插入排序 时间复杂度n^2二分查找法 前提是数组有序一维字符数组:初始化charc[5]={'H','e','l','l','o'};花括号里的元素个数必须小于数组长度,大于会造成越界访问;小于则会
- 2025-01-17算法的时间复杂度和空间复杂度
算法效率如何衡量一个算法的好坏如何衡量一个算法的好坏呢?比如对于以下斐波那契数列longlongFib(intN){if(N<3)return1;returnFib(N-1)+Fib(N-2);}斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?算法的复杂度算法在
- 2025-01-17轻量级卷积神经网络 (OL-CNN)
优化后的轻量级卷积神经网络(OL-CNN)目录优化后的轻量级卷积神经网络(OL-CNN)一、模型背景及动机二、模型创新点1.深度可分离卷积2.动态学习率调整3.网络架构优化三、模型网络结构四、代码实现五、实验结果与结论一、模型背景及动机随着