自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 线段树分治+可撤销并查集 学习笔记

题目一般是给你边或者点的出现时间区间[Li,Ri],问你在某些时间里1能访问到的点或者点的数量。先考虑暴力的思路,就是对于一个具体的时间节点,我们去暴力地得知当前边/点是否出现,并且跑图查看是否联通。由于一个具体的时间节点前后联通情况大致相似,我们考虑是否可以在继承前一个时间节点的情况下,只是局部改变一些点和边的情况?因为我们是去查看图的联通,免不了使用并查集。当一条边加入进来好处理,但如果删除呢?线段树分治+可撤销并查集就是用来解决此类问题。

2024-07-21 16:59:02 238

原创 2024 杭电多校第一场

并且合并时一般不会重复地合并某个线段树,所以我们最终增加的点数大致是nlogn级别的。(摘自oiwiki)你需要对于每个节点 i ,计算 ansi=∑u∈subtree(i),v∈subtree(i)f(u,v) ,其中 subtree(i) 表示 i 的子树。右区间一定大于左区间,当我们算两个子树合并的贡献时,用右区间的区间平方数乘上左区间的区间个数可以得到。定义一个点对的值 f(u,v)=max(Au,Av)×|Au−Av|。如果v在u子树里,v子树的答案已经算过了,在算u时直接加上v的答案即可。

2024-07-20 00:21:04 758 1

原创 0716 个人赛 题解报告

N <=40Ai <=1e9如果DFS爆搜的话,喜提的爆炸超时。所以考虑优化是一定的,假如我们能优化到就可以稳过。那么不妨将n分为前一半和后一半,存前一半能到达的所有状态,存后一半能到达的所有状态,然后双指针去比较。

2024-07-16 20:36:31 299

原创 0714个人赛补题

题意翻译: 给定一个序列A,找出A中最长的子序列B满足相邻 的两个数的差值不小于D。暴力dp思路:dp[i]为以i结尾的子序列最长长度。复杂度显然会超时。对于i,查询其前面最大的dp[j],我们可以想到使用线段树,可以将n优化到logn。

2024-07-15 20:10:07 772

原创 USACO 24 JAN 补题

她将整数分成两堆:Bessie 堆和助手堆。如果 Bessie 和一个助手同时向数组添加整数,Bessie 的整数将优先被添加,因为她是领导者。在p+(p-1)的时间放第二个数,在此之前小于2*p-1 的数都应该被放完...... 在(p+1)*p/2的时间放最后一个数,在此之前所有的数都应该被放完。如果我们发现在Bessie放完数之后还有数没放,那么这个p就不属于我们讨论的[Bessie放最后一个]的情况。请帮助 Bessie 划分她的数,使得最终得到的数组是排序的,并使得排序该数组所需的时间最少。

2024-07-12 13:12:39 378

原创 USACO 24 FEB 补题

Bessie 和 Elsie 正在玩弹珠游戏。游戏的玩法如下:Bessie 和 Elsie 开始时各有一定数量的弹珠。Bessie 取出 A 个弹珠放在蹄子下,Elsie 猜测 A 是偶数还是奇数。如果 Elsie 猜对了,她从 Bessie 那里赢得 A 个弹珠,如果她猜错了,她输给 Bessie A 个弹珠(如果 Elsie 有少于 A 个弹珠,她就会输掉所有弹珠)。一名玩家失去所有弹珠时即失败。游戏进行了一定回合后,Elsie 拥有 (1≤N≤109)个弹珠。她感觉获胜很难,但她只是想不要输。

2024-07-11 11:03:40 421

原创 USACO 24 OPEN 补题

题意是使得对于任意01字符串s1...sn,不存在i,j ,使得si为sj 的前缀。你可以进行的操作使在原来的01字符串后面加0/1,问最少操作次数。做法:建01字典树,ed[i]去统计有多少字符串以当前结点为结尾,f[i]为增加一个以当前结点为结尾的字符串需要进行多少次操作。假如当前结点为叶子节点,f[i]=2;如果当前结点只有一个儿子,f[i]=1;如果当前结点有左右儿子lt,rt,则f[i]=min(f[lt],f[rt])+1。

2024-07-10 10:45:47 132

原创 Web实验四:留言板

(我们老师要求比较奇特,要在下面加一个计时器。

2024-04-30 22:18:35 70

原创 Web实验三:计算器

【代码】Web实验三:计算器。

2024-04-30 22:13:38 36

原创 Web实验一:课程表

课表css(style2.css)

2024-04-30 22:05:29 206

原创 江苏省赛H. Reverse the String题解

思路:要求字典序最小的串,我们肯定希望越前面的字符越小越好。那么我们从前往后去看当前的字符:假如当前的字符可以通过一次区间翻转变成字典序更小的字符,那么我们肯定不会考虑后面的区间翻转。我们采取二分+哈希,去找到不同情况翻转后的最大公共前缀,然后判断第一个它们不相同的位置上谁的字典序更小即可。首先右端点对应的字母肯定越小越好,我们找到比b小的a,那么只需要去找a存在的位置,一个个去枚举即可。此时我们找到了区间翻转的左端点,然后我们接下来去找右端点。那么对于不同的翻转情况,如何去判断区间翻转哪种更优?

2024-04-30 22:04:48 127

原创 Web实验二:电子相册

【代码】实验二:电子相册。

2024-04-27 16:48:42 220

原创 2024nomomo冬令营算法笔记

f(i,j) g(i,j)表示a,b数组定下前i个数的取值使得总的和为j的方案数,发现复杂度过大。优化为f(i,j,k)表示a取前i个数,b取前j个数,a、b的差值为k的方案数。因为我们最终要求的答案是对于任意的i任意的j,k=0的方案数,根据“水多加面,面多加水”的思想,当k>0时我们去取下一个b,当k

2024-01-23 22:33:11 797

原创 周五讲题 | 好题积累

再进行子集dp ,对于某个小子集 的贡献, 一定 也是属于它的大子集的贡献,换句话说,假如我需要abc, 但我给你abcd 一定能满足 你的条件。对于其中扩充到的,或者说转移中的每一种状态都对应有一个子集b,为其必须包括的子集,1.ac** 后面两种**是唯一确定的,如果要继续往外扩充则必须满足ac在其子集内。3.ac这种情况是不考虑的直接continue。2.**** 方案|s/2|我们先统计每个子集的dp值。考虑枚举中心点往外扩,

2023-11-24 22:46:07 43 1

原创 ICPC2021昆明补题

根据某平均定理可知,图上最大的连续ai平均值不会超过三个。所以在图上暴力去找两个/三个连续点的最大平均值就好了。此题难度主要在于化简公式和找到定理。题意:在树上找一段简单路径,使得。,即求最大的一段连续ai和。思路:化简得该公式为。

2023-11-01 21:42:10 45

原创 ICPC2022沈阳|I-Quartz Collection(权值线段树)

假设Alice全以第一次的价格购买n种宝石(显然这是不可能的),对于a[i]<=b[i]的宝石,Alice是赚的,否则Alice是亏的。双方开始轮流选宝石,一开始肯定是选最赚的(也就是(a[i]-b[i]为负数且越小越好))的第一次价格,并且根据赚的程度依次由ABBAABB...挑走。我们模拟一遍过程可知,假如赚的宝石数量为奇数,那么亏的宝石一定由Bob开始选第一个,并且根据亏的程度由BABABABA...挑走;选完所有赚的宝石,为了避免选到亏的宝石,Alice和Bob会回头去以第二次价格选对方选过的。

2023-10-29 20:50:53 98 1

原创 好题思考 | 周五讲题

至于查询(l,r)区间有多少个取值这种事交给权值线段树或者树状数组就好了。

2023-10-28 09:55:30 38

原创 【算法笔记】数论基础

逆元定义:如果一个线性同余方程 ax≡1 (mod b) ,则称x为a mod b 的逆元,记作a^−1。相当于求不定方程 ax+by=1 的解 (只要求gcd(a,b)=1,不要求b是质数)由于q一定小于i,所以可以递推。ac代码:(简洁美观)

2023-10-14 19:24:05 43 1

原创 补题记录 | 10.4 waiting for 沈阳

题意:树图,有三种操作:操作1 在x点爆发w严重值,其他所有点受w-dis(i,x)的严重影响。操作2 x点严重值 与0 取min。操作3询问 x点严重值。从p状态转移到p+1状态,假设p状态我们已知到每一行和每一列的最小代价,我们去算p+1合法状态每一个点从每一行每一列转移来的代价并且更新。给定n*n的棋盘,每一个格有对应的值,玩家从1跳到k,每一步的代价是。做题时处理操作2出现问题,把pre+=w改成pre=w就过了...树链剖分+树上差分的操作。,问总的代价的最小值。

2023-10-05 20:52:06 41

原创 2023牛客暑期多校组队赛第九场补题

的排列,计算有多少个子区间满足子区间第。小的数不在 子区间第。

2023-08-14 19:30:52 169 3

原创 【算法笔记】字符串

给定一个字符串,m组询问给定p,q,要求s[1~p]和s[1~q]的最长公共前缀。首先要讲一个概念:Border:对于字符串S,用|S|表示其长度。那么S串的一个Border就是S的某个前缀(S串本身不算),这个前缀能和后缀匹配。举个例子,abcdabc的一个Border是abc。一个字符串的Border可能有多个。对于任意一个字符串S,一个Border的长度就对应一个Border(比如abcdabc的长度为3的Border当然就只能是abc)。并且,假设S长度记为n,则直到值为0的不算。

2023-08-12 17:43:31 126 1

原创 2023牛客暑期多校组队赛第五场补题

【代码】牛客暑期多校组队赛第五场补题。

2023-08-05 01:41:28 52 1

原创 【算法笔记】高级数据结构

主要是数据结构代码板子

2023-08-03 21:04:56 42

原创 【算法笔记】图的连通性和Tarjan算法

概念+代码+例题

2023-07-20 19:19:07 108

原创 无价的错题本

错误: int s=ceil(50.0*(1.0*a[i]/(1.0*maxi)));正确: int s=(50ll*a[i]+maxi-1)/maxi;di范围0~43962200。

2023-05-03 17:44:16 32

原创 随缘存代码

/打表得知 int main() {i < 9;while(!q . pop();i < 9;

2023-03-29 14:39:17 35

原创 留坑帖hhhh

2023/3/15计算几何,向量做法。

2023-03-15 12:32:22 51

原创 训练记录·每天三道

用于监督自己

2023-02-20 23:32:34 211

原创 【cf449B. Jzzhu and Cities】dijkstra算法

最短路dij算法

2023-01-06 17:28:17 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除