• 2024-07-04lxl 又来讲课的记录
    太困难。P7124前置知识:Eden的新背包问题。这个题做法比较离谱。题意是求子树补不删除莫队。要求操作次数\(O(n\logn)\)。考虑类似于线段树分治的结构,如果递归左儿子,就加入右节点信息;如果递归右儿子,就加入左儿子信息。这样我们能在\(O(n\logn)\)次操作种算出每个叶子在序
  • 2024-07-02欧拉函数、整除分块和扩展欧几里得
    欧拉函数欧拉函数(写作\(\varphi(x)\)),表示\(i\in[1,x]且\gcd(i,x)=1\)的\(i\)的数量。乍一看好像很难求,但我们先考虑最简单的情况,即\(x\in\mathbb{P}\)(\(\mathbb{P}\)表示质数集)的情况。首先很容易看出\(\varphi(x)=x-1\),因为\(x\in\mathbb{P}\),所以\(\foralli
  • 2024-07-02从 dfs 序求 lca 到虚树到树分块 学习笔记
    前言想象我在口胡三样我都不熟悉的东西并尝试称之为“学习笔记”。其实不过是我自己对于它的一点小理解,甚至可能是错误的!无所谓,口胡!口胡!口胡!口胡!口胡!一些备注\(dfn_u\)为点\(u\)的dfn序,\(nfd_i\)表示第\(i\)个dfs到的点是啥(前者的反数组)dfs序求lca这个很简单,想
  • 2024-06-23lxl分块糊做
    lxl分块糊做[Ynoi2017]由乃打扑克me想到了二分这个值+分块去找\(\leq\)这个数的数的数量,复杂度\(O(Q\log^2N\sqrtN)\),然后块内可能用\(multiset\)或者啥来维护tj更优的做法是块内维护一个排好序的序列,不过硬要说和\(multiset\)本质确实一样,但是这样常数和写法上会优的多C
  • 2024-06-20从值域分块+莫队到二次离线莫队
    值域分块Q给定一个序列,实现单点修改\(O(1)\),以及区间查询\(O(\sqrtn)\)A考虑设\(block_i\)表示块\(i\)的和,那么修改便是\(O(1)\)全局查询时,整块调用\(block\),散块暴力即可\(O(\sqrtn)\)还有一些常见的例子,比如配合莫队代替主席树(区间mex)莫队二次离线普通莫队
  • 2024-06-11分块和莫队
    一、分块概念与作用1.概念:将数列等分为若干个不相交的区间,每一个区间称为一个块。2.作用:优化算法,降低复杂度。分块入门1题面:给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查询。分析:将n个元素等分成若干块,比如\(\{1,4,8,2,9,6,3,7,5\}\),等分成3块,则第一块包含的数
  • 2024-06-06算法学习笔记(21):数论分块
    数论分块大部分内容来源于OI-WIKI引理1:\(\\foralla,b,c\in\mathbb{Z},\left\lfloor\frac{a}{bc}\right\rfloor=\left\lfloor\frac{\left\lfloor\frac{a}{b}\right\rfloor}{c}\right\rfloor\)引理2:\(\lfloor\frac{n}{i}\rfloor\)的取值有\(O(\sqrtn)\
  • 2024-06-06从零手写实现 nginx-07-大文件传输 分块传输(chunked transfer)/ 分页传输(paging)
    前言大家好,我是老马。很高兴遇到你。我们希望实现最简单的http服务信息,可以处理静态文件。如果你想知道servlet如何处理的,可以参考我的另一个项目:手写从零实现简易版tomcatminicat手写nginx系列如果你对nginx原理感兴趣,可以阅读:从零手写实现nginx-01-为什么不
  • 2024-06-04分块——优雅的暴力
    下面介绍一种暴力,当然呢这种暴力比一般快很多。先说一下这个暴力的思路。对于一个长度为\(n\)的数组\(a\),可以把数组\(a\)分成\(k\)块,其中每一块的长度为\(len\),当然最后一行除外因为\(n\)可能不是\(k\)的倍数,最后一块的长度可以不是\(len\)。那么就可以用这些块来维护数据。那
  • 2024-06-02内网渗透-在HTTP协议层面绕过WAF
    进入正题,随着安全意思增强,各企业对自己的网站也更加注重安全性。但很多web应用因为老旧,或贪图方便想以最小代价保证应用安全,就只仅仅给服务器安装waf。本次从协议层面绕过waf实验用sql注入演示,但不限于实际应用时测试sql注入(命令执行,代码执行,文件上传等测试都通用)。原理先给
  • 2024-05-29三角网分块问题
        针对超大数据的构网问题,目前可行的方法就是对三角网进行分块处理,但是三角网的分块显然不像点云数据那么简单,如何对三角网进行切分,以及切分后块与块之间索引关系的建立都是难点;例如下图仅仅是对三角网进行了空间的切分,但是块与块的边界处的联系并没有建立。当然三角网
  • 2024-05-28(算法)双指针——快乐数 <数据分块>
    1.题⽬链接:快乐数2.题⽬描述:3.题⽬分析: 为了⽅便叙述,将「对于⼀个正整数,每⼀次将该数替换为它每个位置上的数字的平⽅和」这⼀个操作记为x操作; 题⽬告诉我们,当我们不断重复x操作的时候,计算⼀定会「死循环」,死的⽅式有两种:         ▪情况⼀:⼀直在1中
  • 2024-05-26数据结构与算法学习(05)查找(2)索引——BUAA
    文章目录查找(2)——索引介绍索引的基本概念稠密索引非稠密索引——分块索引多级索引查找(2)——索引介绍本文为查找第二部分,主要是整理了本人上课时讲的内容索引的基本概念索引:记录关键字值与记录的存储位置之间的对应关系索引文件:由基本数据与索引表两部分组成的
  • 2024-05-22数论分块
    有点菜,现在才会。之前好多篇都烂尾了,这篇不能了。数论分块往往适合于带有向下取整的题目,即求\(\sumf(i)g(\lfloor\frac{n}{i}\rfloor)\)的值。当经过某些处理后可以\(O(1)\)求出\(f(r)-f(l)\)的值时,数论分块可以\(O(\sqrt{n})\)求出上述式子的值。向下取整\(\lfloor
  • 2024-05-19大模型_3.2 RAG 高效应用指南
    一、概述 构建一个RAG应用的概念验证过程相对简单,但要将其推广到生产环境中则会面临多方面的挑战。这主要是因为RAG系统涉及多个不同的组件,每个组件都需要精心设计和优化,以确保整体性能达到令人满意的水平。在这一过程中,外部非结构化数据的清洗和处理、文本分块、Query的
  • 2024-05-16欧拉函数、整除分块和扩展欧几里得
    欧拉函数欧拉函数(写作\(\varphi(x)\)),表示\(i\in[1,x]且\gcd(i,x)=1\)的\(i\)的数量。乍一看好像很难求,但我们先考虑最简单的情况,即\(x\in\mathbb{P}\)(\(\mathbb{P}\)表示质数集)的情况。首先很容易看出\(\varphi(x)=x-1\),因为\(x\in\mathbb{P}\),所以\(\foralli
  • 2024-05-15关于学成在线项目如何处理断点续传
    我是基于分块上传的模式实现断点续传的需求,当文件上传一部分断网后前边上传过的不在上传。具体逻辑流程如下前端对文件进行分块处理前端开个多线程一块一块上传,上传前服务端发个消息检验该分块是否上传,如果在文件系统OSS/minio存在,则不在上传。等所有分块上传完毕,服务
  • 2024-05-11分块 学习笔记
    什么是分块分块,顾名思义是一种将数据分成多块,以实现一些功能的算法。分块算法实质上是一种是通过将数据分成多块后在每块上打标记以实现快速区间修改,区间查询的一种算法。其均摊时间复杂度为\(O(\sqrt{n})\)分块的具体操作分块voidcreate(){ t=sqrt(n); for(inti=1;i<
  • 2024-05-072024ICPC武汉邀请赛-G.Pack-数论分块、整除运算相关的不等式
    link:https://codeforces.com/gym/105143Groupcontests:https://codeforces.com/group/DWEH34LQgT/contest/521901题意:有\(n\)件\(A\)物品,\(m\)件\(B\)物品,两种物品价值分别是\(a,b\),若干件\(A\)和若干件\(B\)可以打包成一个商品,打包尽可能多的商品的情况下让剩余的
  • 2024-05-03分块 - 树分块
    分块-树分块LuoguP3203[HNOI2010]弹飞绵羊经典的\(LCT\)板子题,十分滴规范,但我们今天不讲\(LCT\)我们用树分块这个俎法哈,又短又快的咩(好像不是很快哈,同学们要认真学习哈我们把一个点能到的点当成它的老子,那\(N+1\)就是根的咩显然它的编号越跳越大撒,我们就
  • 2024-05-03[分块] [Luogu AT_joisc2014_c] 历史研究
    题目描述IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记。JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件。日记中记录了连续\(N\)天发生的事件,大约每天发生一件。事件有种类之分。第\(i\)天发生的
  • 2024-05-03分块=-=优雅的暴力=-=中位数模版
    #include<bits/stdc++.h>//#defineintlonglong#definelllonglong#definefd(i,a,b)for(registerinti=a;i<=b;i=-~i)#definebd(i,a,b)for(registerinti=a;i>=b;i=~-i)usingnamespacestd;constintN=1e5+509,M=509,MOD=10007;intn,siz,id;
  • 2024-05-01CF EDU164-E-数论分块
    link:https://codeforces.com/contest/1954/problem/E有一排怪物,第\(i\)只有\(a_i\)的血,每次攻击可以选择在\(i\)处放一个技能,技能会一直向左/右以相同的\(k\)点伤害扩散,直至遇到边界或已经死亡的怪物。问最少需要放几次技能?需要对所有\(k\)回答答案。\(n,a_i\leq10^
  • 2024-04-30欧拉函数 整除分块 扩展欧几里得
    欧拉函数\(\varphi(x)\)表示求出\(1\ley\lex,\gcd(x,y)=1\)的\(y\)的数量。对于一个质数\(p\),\(\varphi(p)=p-1\)\(\varphi(p^2)=p^2-\frac{p^2}{p}=p^2-p\)\(\dots\)\(\varphi(p^i)=p^i-p^{i-1}=(p-1)\cdotp^{i-1}\)
  • 2024-04-26E. Chain Reaction
    https://codeforces.com/contest/1954/problem/E题意:n个数,可以对每个数释放闪电,闪电从释放的位置一直传到左右边界或者传到某个小于等于0的数终止,并且每个数都会减去闪电值k。问最少多少次释放闪电后可以让所有的数小于等于0。思路:从左往右考虑,假设第一个数的权值为1,如果当前数>