来波最近刷题的总结=w=

【算法】DFS 刷题总结 这可是个大工程,慢慢学,以后把刷到的相关题全部总结下来,写下思路和教训,供以后复习使用。 深搜染色 例题1:单词方阵 给一n×nn \times nn×n的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 888 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用*代替,以突出显示单词... 阅读详情

寒假刷题记录

2018.2.10更新  刷的题的题解慢慢补充

菜鸡趁着假期,搞了10天图论和数据结构

目前学习方法:从简单到困难一步步深入,看各路大神博客,看白书,理解思路,跟着敲多几遍模板题,

A多几题就背一下模板  刷题去vjudge搜kuangbin  

WA点:数组开错,模板错误,数组初始化,scanf,行内空格,卡STL,long long

目前:图论新手,请多指教

图的表示方法:邻接表vector,邻接数组,前向星w

拓扑排序:

算法:队列实现,DFS实现,拓展:判有向图的环

刷题:POJ2367,hdu4324

图的最短路:

算法:Dij+heap,SPFA+queue/stack ,Floyd,(小图:DFS,BFS)

拓展:查分约束,次短路,第k短路(未学,需先修A*),判负环(SPFA),传递闭包(Floyd)

刷题:hdu1874 poj2387 poj2253 poj1797 poj3268 poj1860 poj3259 poj1502 poj3660 

poj1511 poj3159 poj3255 hdu1142

并查集:

算法:DFS  拓展:路径压缩,求连通分量

刷题:

最小生成树:

算法:Kruskal(需先修并查集),Prim(未学)

拓展:最大生成树,次小生成树,第k小生成树(未学)

刷题:hdu1863 hdu1162 poj1215 hihocoder 1109 bzoj1821

//BZOJ1821  题意:给N<=1e3点坐标 任意分成K份 一种分法使得K份之间的最短距离最大 输出该最短距离 
//思路:最小生成树,边从小到大排序,合并时计数(祖先一样说明同一连通分量,不要管),当ans=n-k时,此时已经分成k份,
//下一条最小生成树合并的边长度就是答案 
//假设K=4,且A~D已经是最小生成树了,E F G 还是没边的点 假设下一条最小的边是BE,那么这条就是答案,因为不管是EF FG EG AG ...都比BE大
//选这些边就不满足最短距离最大了,因为AG不是最短距离,如果选AB BC这种 确实最最短距离,但是!不是最大的最短距离 
//Kruskal遍历边时每次都会尝试选一个最短边的俩端点合并到同一连通分支,最后只会剩一个连通分支,否则返回-1  

树上最近公共祖先LCA:

算法:倍增+DFS(二进制逼近),ST表+RMQ+DFS(重要,且好学)

Tarjan(离线,需先修并查集)

拓展:树上两点最短距离(查询多)

刷题:POJ1330 hdu2586 CF832D (每种都A一遍)

线段树:(目前14道)

算法:数组实现,向下更新儿砸推lazy,向上更新儿砸向上更新父亲

维护满足区间加法的快速区间查询,区间修改

注意:4倍空间,多标记的处理,有什么操作?单点代表什么信息?区间维护什么信息?满足区间加法吗?

(题量不足)

刷题://hdu1754点更+查 区间信息:最大值 点信息:int 修改:=a  1076ms

//hdu1698区更+查 区间信息:加法和 点信息:int 修改:=a  1014ms
//hdu1166点更+查 区间信息:加法和 点信息:int 修改:+=a 608ms
//hdu1556区更+查 区间信息:出现次数和 点信息:覆盖次数 修改:+=1  1263ms 
//POJ2777区更(替换颜色)+查颜色状态 区间信息:区间内颜色状态 点信息:一种颜色状态 修改:替换颜色 391ms
//查到区间内颜色状态就可以 用1位1位导出有多少种颜色了 状态压缩颜色种类<30种颜色 
//BZOJ1012 插入+查 m个操作 那么最多插入m个元素,每次build不刷新val,找到叶子节点后更新值,每次递归需要向上更新 
//区间信息:最大值 920ms 点信息:值  ,cnt=2  1,6 ->  1,3√ 4,6    1,3-> 1,2√ 3  2,2√ 更新val,pushup上面的1,3 1,2
//BZOJ3038 查询区间和,区间修改:(int)sqrt(a)  维护区间和,暴力修改叶子,剪枝:维护最大值,最大值>=1才递归下去 
//落谷   查询区间和 区间修改 1,x=a 2,+=a 双标记 ,维护sum lazy1:mul lazy2:add  mul标记初始化是1  注意取模,开 longlong  

//POJ3468 检验板子的时候到了 

////hdu1166again 866ms 
////hdu1754again 964ms 
////poj3468again 2614ms(G++) 1750ms(C++)

//hdu2528 修改:颜色覆盖,查询整段区间颜色数 +离散化,query不太会 区间维护col  离散化技巧get

//hdu1698again 939ms

//ZOJ1610: 8000条线段的线段树,N次修改,区间修改l r c ,l r是点,c的修改的颜色下标 0<=l<=8000  c++,30ms 
//一般对线段进行建树,所以左端点加1即可 ,
//区间信息(非leaf):区间的颜色,比如某个节点表示【1,4】的值可能是3:即线段【1,4】都是颜色3
//注意:这个值要么是-1要么区间内都是一种颜色,如果这时候我输入3 4 2,此时区间【1,4】内有多种颜色,update会先递归root【1,4】 
// 由于有pushdown的力量,【1,2】=3,【3,4】=3,【1,4】=-1 ,然后update递归到root【3,4】时 将【3,4】置于2; 
//这样就能lazy动态区间修改并维护 区间内的颜色分布了!(没有颜色也是颜色) 

//最后一次性pushdown所有lazy标记到叶子 ,暴力查询到叶子 tem数组记录出现次数

//POJ3264 区间查询2e5 最大最小值的差 分别维护最大值,最小值即可 2219ms  

//hdu4027  区间修改:区间内所有数开根号下取整,区间查询:加法和
//思路:维护sum 暴力修改叶子,回溯时pushup修改其他非叶子节点,
//剪枝:修改时若当前sum为numr-numl+1(每个数都是1)且当前区间是修改区间的子区间,那么可以不递归下去 

//或者多维护一个区间最大值mx,最大值为1的时候就不递归下去 

//CF920F 线段树 区间查询和,区间修改ai变d(ai) d(x)返回x的因子数
//思路:d(2)=2 d(1)=1; update暴力修改叶子,update剪枝即可
//小心:long long 不能用sum<=2*(numr-numl+1)剪枝hack: 1 3
//所以维护多一个区间最大值mx,来剪,mx<=2即可剪枝 

树链剖分:

算法:DFS DFS (树序哈希成线性序)+线段树(目前只会这个= =)

刷题:SPOJ-QTREE bzoj4034 

//SPOJ-QTREE 190ms  (对边操作)
//题意: 给一颗树n<=10000 若干查询 点l到点r的路径的最长边的长度 若干修改:
//按输入序第i条边的值修改为c; 
//
//轻重链剖分 裸题 两遍DFS  +线段树维护区间最大值+区间单点更新 
// 
//概念:点u的重儿砸v:子树数目最多的儿砸v 重边:u->v  重链:重边连成的路径  
//fa[u]:点u的爸爸,siz[u]点u的子树数目(包括自己) son[u]重链的儿砸 

//这题修改是通过输入序的边下标修改边权值,所以建边表+邻接表比较合理 前向星倒序输入反而不好处理 
//当然,不同题目不同建图 
 
//树剖其实就是将树节点序列 转为 同一重链连续 的 序列 
//通过id[i]将图论域的点下标转换为线段树域的下标

//第一个DFS 维护 fa,dep,son,siz(跟倍增LCA的第一个DFS思路一致)      
//第二个DFS 维护 top id (需要用到son) 利用 top[u]=top[son[u]] (轻链的top就是自己) 
// 2个DFS均是对当前点u的邻接点进行遍历  
//build query updateone 是线段树常规操作

//light(u,v) 是核心查询: 代码思路:第一步:将u v转至同一重链:u转top 并fa之,
//转top来到重链首,fa之跳到下一条重链尾 
//u v但不可同时转top fa之,可能会错过,一般是深度大的u转top fa之 
//过程中需要不断维护ans,线段树查询u所在的整条重链的最大值
//第二步:此时已经在同一重链了,就可以直接线段树查询了


//记住:深度小的图论下标对应的线段树下标较小 
//且点x的子树x1x2x3...xn 对应的线段树下标是连续的 x->y  x2->y+1 x8->y+2...(由于DFS序,同样满足重链连续) 


//其实这题是对边操作,强行将其转为对点操作 ,那么规定
//深度大的点u 指向 深度小的点v 的边权值 看成u的权值 
//比如输入的u(下标1,深度大)->v(下标2,深度小) 边uv=3 那么将u的权值定为3 
// 
//ans=max(ans,query(1,num,id[son[u]],id[v],1)); 
//这也是为什么light第二步同一重链的查询是id[son[u]]到id[v]了
//这样不会乱!
//另外,这题有行中多空格,s数组开大点就不会RE了 


搜索:

算法:DFS BFS

刷题:POJ1321 POJ2251 计蒜客20695 hiho1191判断二分图

其他:

hdu1263 二维map 

POJ1064 小数二分 

hdu5778 简单数论 

hdu1848 SG函数博弈模板题

hdu2582 规律+线性筛预处理最小质因子

POJ3104 思维+整数二分


小技巧:

1:离散化:数的映射,缩小范围,0 3 5 66->1 2 3 4

思路:排序后遍历去重(必要时还可以尾部插入中间值然后再排序一次)

二分lowerbound找出离散化后的新坐标

int getrk2(int x) { return lower_bound(rk+1,rk+1+rn,x)-rk;}

题目:hdu2528

2:原数组元素顺序不能变,但是需要求某种元素顺序得到的最大ans

思路:建一个辅助数组初始化id[i]=i(这个i是原数组下标),

对id数组进行某种优先级排序后,用id[i]得到原数组的下标进行计算

比如:排序后id[]={2,3,4,1}那么优先级最大的原数组下标就是id[1]=2

题目:CF922D





也只有华为18级工程师能总结50W字算法、操作系统等刷题笔记 最近有不少老铁在后台留言说,想进大厂,但是算法不好。最近我整理了一份刷题实录,这份刷题实录,也让我进了心仪的大厂。现在开放分享给大家。希望对大家有所帮助。 任何的算法题,如同写作文一样,都有一些模板可以套用的。比如面试常考的DP(动态规划),难的是一些关键点是否能想清楚。比如你能写出动态转移方程,这题基本上就可以AC了。 整个刷题实录内容,包括双子针、动态规划、二分查找、贪心算法、深度优先搜索、字符串、递归、字典树、排序、链表等相关专题内容。图文并茂,附有刷题答案源码。 刷题任务的题. 阅读详情

相关推荐

reserve刷题笔记一

主键是表中一个或多个字段(列)的组合,用于唯一标识表中的每一行记录。一个表只能有一个主键。外键是表中的一个或多个字段,用于引用另一个表的主键,从而建立两个表之间的关系。外键字段的值必须是被引用表主键的有效值,或者为NULL。

hmbbcsm的博客 873

DFS深搜刷题总结

优先考虑深度换句话说就是一条路走到黑,不撞南墙不回头,直到无路可走的情况下,才会选择回头,然后重新选择一条路。运用:回溯对回溯不了解的,送上传送门——>二、先上基本的模板。

2302_80585579的博客 794

师兄刷题笔记、算法小抄、面试突击版必备资源,帮你走上人生巅峰

前言 最近有很多朋友问我刷题、面试有没有什么好的资源。今天就给大家找了三个棒的开源资源,内容非常硬核,很多人靠着它进了大厂。 不绕弯子,三个分别是谷歌师兄《谷歌大佬的刷题笔记》,东哥《labuladong的算法小抄》,Guide哥的《Java面试突击版》。三位大佬都是我很钦佩之人,他们把自己整理的东西开源分享,太赞了,我这边帮大家搜集到pdf版本可以直接观看。 本来想在csdn上上传资源大家可以直接下载的,但是版权问题不允许,那这些开源资源pdf文件只能通过百度云方式给大家分享了。 三份资源可以直接微信搜一

bigsai 7580

Leetcode刷题笔记——DFS篇

中等题数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的括号组合本质就是一个二叉树,,二叉树的每个节点即一种括号组合,分别递归的加入左括号方便更直观的看到回溯的过程简单写法。

qq_42898642的博客 1745

WEBGL Shader零基础教程(四):片元着色器核心逻辑

本文系统介绍了WebGL渲染管线中片元着色器的核心概念与应用。主要内容包括:1)片元着色器在渲染管线中的定位与作用,作为逐像素处理单元接收插值数据并计算最终颜色;2)输入数据类型与使用规则,重点讲解varying变量和uniform变量的应用场景;3)颜色计算的核心逻辑,涵盖基础色、渐变、纹理采样和颜色混合;4)进阶特效实现与性能优化技巧,包括交互效果、内置函数组合和GPU计算优化;5)通过综合案例演示了纹理、波纹与交互效果的整合实现。文章提供了完整的代码示例和调试建议,为后续学习光照模型、后期处理等高级渲

分享知识,拥抱变化 1374

RingBuffer 环形缓冲区----镜像指示位

称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。这个宏定义用于计算向下对齐的地址。size和align。size是要对齐的内存大小,align是所需的对齐大小。这个宏返回一个值,该值是size向下对齐到align边界后的地址。例如,假设我们有一个 32 位的系统,并且我们需要将数据对齐到 64 位的边界。我们可以使用在这个例子中,data数组的大小为 10 个元素,我们需要将其对齐到 8 字节边界。宏返回data。

呵呵哒!的博客 2408

Leedcode刷题——5 DFS+回溯

注:以下代码均为c++

as_your_heart的博客 983

PCB工艺-SI9000-模型选择

本文介绍了PCB设计中常用的阻抗计算模型,主要包括外层、内层和嵌入式三类共12种计算模型,涵盖单端/差分、共面等不同场景。针对阻抗计算中的关键参数,文章提供了经验值参考:表层走线厚度0.035mm(1.4mil),内层0.0152mm(0.6mil);并列出常见PP材料的介电常数(3.8-4.5)和成品厚度(3-7.5mil)。作者建议90%的设计问题可通过上述模型解决,层叠参数建议咨询PCB厂家获取。

weixin_50120208的博客 1384

深搜(DFS)刷题(一)

DFS每日一刷,第一次刷这种难度题目一次AC,AC居然是happy new year!!CF网站有心了鸭!我有在好好的复习英语哦!

qq_60556896的博客 3745

lumerical-环形谐振器

利用mode求解器优化得到所需的环的总长度,即环形器的半径,然后通过varFDTD得到光场分布和透过率.

m0_61776728的博客 2189

把审批体验做成一体化:SAP Business Workflow 里的 Secondary Method、Before Method 与 After Method

摘要:SAP Business Workflow 中,Task 的 Secondary、Before 和 After 三类方法对提升审批体验和可追溯性至关重要。Secondary Method 可自动展示辅助信息(如审批时弹出排班报表),但需注意其独立会话特性;Before Method 适合预处理和审计留痕;After Method 确保收尾动作可靠执行。三类方法按特定顺序调用,且错误不影响主流程。合理使用这些方法能减少事务码切换,增强审计能力,优化用户体验。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 188

几个SQL在线刷题的网站

↑点击上方 “凹凸数据”关注 + 星标~每天更新,大概率是晚9点大家好,朱小五最近在知识星球分享了几个在线SQL刷题的网站,今天正好给大家详细介绍推荐一下。SQLZOO (⭐...

zhuxiao5的博客 1万+

我的世界进阶模组开发教程——制作机械动力附属模组

摘要: Create是Minecraft的机械动力模组,其代码结构分为多个关键模块: 数据生成系统:通过CreateRecipeProvider基类实现配方自动化生成,支持多步骤序列化装配配方(SequencedAssemblyRecipeGen),采用建造者模式链式调用; 注册管理:CreateRegistrate扩展了Registrate库,统一管理方块、流体、实体等注册,集成标签页分类和工具提示定制; 伤害系统:DamageTypeTagGen为机械伤害(如钻头、风扇火焰)定义原版兼容的标签; 客户端

qq_24992377的博客 2083

我也曾刷题刷到自闭

感慨是大家都这样

代码随想录 3147

在轻量化与精度之间取得平衡:YOLOv8 + GhostNet 的设计与实验分析

摘要: GhostNet系列(GhostNet、GhostNetv2、GhostNeXt)通过“幽灵特征图”技术,以极低计算量生成丰富特征,为YOLOv8提供轻量化改造方案。该技术能在减少参数量与计算量的同时保持或提升检测精度,适用于边缘设备部署。实现时需替换YOLOv8的Backbone为GhostNet模块,并通过消融实验验证其有效性。实验数据表明,改造后的模型在参数量降低30%的同时,推理速度提升28.6%,mAP@0.5最高提升1.9个百分点,平衡了轻量化与精度,为毕设提供技术创新性与工程落地性的双

m0_64661770的博客 194

如何用Python打造PubMed API客户端:科研文献检索自动化实践

PubMed提供了官方的Entrez E-utilities API接口,支持程序化检索文献,但直接调用API需处理请求重试、参数封装、数据解析等问题。批量获取文献ID及结构化详情(标题、作者、DOI等)内置重试机制,应对网络波动或API限流统一数据输出格式,便于后续分析(如文献计量、AI文本处理)灵活适配不同检索需求(如指定数据库、结果数量)本文实现的PubMed API客户端,通过封装API请求、重试机制、数据解析,让科研文献检索从“手动点击”变为“代码自动化”。

ASKCOS博客 358

mysql有哪些地方刷题网站_几个SQL在线刷题的网站

每天更新,大概率是晚9点大家好,朱小五最近在知识星球分享了几个在线SQL刷题的网站,今天正好给大家详细介绍推荐一下。SQLZOO (⭐⭐)https://sqlzoo.net/上面的网址是一个免费的SQL学习网站——SQLZOO!它支持语言:English · 日本語 · 中文(繁体),不过选择繁体中文后会发现翻译的也一般,还不如直接用谷歌/有道翻译插件,界面如下:SQLZOO包括了 SQL 学...

weixin_39675728的博客 7955

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Leetcode SQL 50题刷题攻略(上篇)

刷题网址:https://leetcode.cn/studyplan/sql-free-50/

weixin_37490132的博客 1582

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

坚持刷题2个月,终于去了梦寐以求的大厂!

写在前面 最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题...并表示目前国内的大厂和一些独角兽,已经越来越效仿硅谷公司的做法,通过面试给定题编程,来考察数据结构和算法的扎实程度。 这种方式,即使对于工作多年的开发人员,没有经过训练,很容易就被挂了。从而与优秀的公司失之交臂。 所以说算法是其中必要的一个环节!在面试中业务问题可以好好总结总结,但算法就必须依靠牢固的基础和刷题量。算法根基不扎实,不仅难过面试,对于代码性能的提升、编程语言的驾驭

Java大将军的博客 2241

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

3.8碎记——面试+刷题

瞎写-1

2301_76825872的博客 1066

【关于为什么要刷力扣的思考】记第二次周赛AK

前言 从上次AK周赛的一月底,磕磕绊绊到五月初,总共经历了20多场的周赛 在这20场周赛中,四题:三题:两题:一题 = 2:12:8:1 总体来说应该还是在两到三题中间徘徊 但很多时候做出的两题,并非因为第三题完全不会做 有很多情况第三题都已经完成了9成,就差最后的1成不能优化或修改出来 总的来说,这几个月的练习和周赛,对我的整个视野和py功力还是有显著的提升的。 关于最近的两次周赛 77场双周赛 很遗憾的是 虽然15mins就想到了第三题的解法 但是由于模拟细节的原因 第三题一直罚站 直到结束 直接掉大分

小楼一夜听春雨 2073

大厂刷题实录:GitHub上获79w+ star,谷歌师兄开源的刷题笔记火了

总结了他对校招算法刷题的心得+经验,整理出了这份在GitHub上火爆的LeetCode刷题笔记。最近一位谷歌大牛当时为了应对校招刷了几百道算法题,整理的LeetCode刷题笔记火了!

lt_xiaodou的博客 315

含泪刷题两个月,终于斩获25w的大厂offer,数据结构与算法太TM重要了

最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题...并表示目前国内的大厂和一些独角兽,已经越来越效仿硅谷公司的做法,通过面试给定题编程,来考察数据结构和算法的扎实程度。 这种方式,即使对于工作多年的开发人员,没有经过训练,很容易就被挂了。从而与优秀的公司失之交臂。小编认识不少以前履历普通的,通过刷题改变了自己进入大厂的轨迹,从而走向更高的平台,刷题确实太重要了。 因为据我所知很多大厂技术面试的要求是:技术要好,计算机基础扎实,熟练掌握算..

鸿蒙开发知识记录 1160

GitHub疯传,这个Leetcode刷题手册到底有多流弊?

因此,现在算法基础不牢固的同学,都很难通过大厂的面试。最近一个读者和我反馈,他坚持刷题2个月,终于去了他梦寐以求的大厂,薪资涨幅非常可观,期间面字节跳动还遇到了原题...并表示目前国内的大厂和一些独角兽,已经越来越效仿硅谷公司的做法,通过面试给定题编程,来考察数据结构和算法的扎实程度。我们的最终目的是赚钱,是让我们自己以及我们的家庭过上更好的生活,所以熟练掌握工作中的常用工具,得心应手地做业务赚钱才是王道。不光是算法岗位,现在的互联网公司面试,只要是写代码的岗位,都会来一套算法题组合拳伺候。

m0_46995061的博客 441

大厂刷题实录:GitHub上获79w+ star,谷歌师兄的算法刷题笔记火了

总结了他对校招算法刷题的心得+经验,整理出了这份在GitHub上火爆的LeetCode刷题笔记。最近一位谷歌大牛当时为了应对校招刷了几百道算法题,整理的LeetCode刷题笔记火了!

bjmsb79的博客 203
上一篇: Educational Codeforces Round 35 A B C D题解
下一篇: hdu1754 线段树
animalcoder
博客等级 码龄9年 43粉丝 150原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值