上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: \(NOIP\) 考前祈福。 实际上,每种伤害 \(d\) 打出的亵渎次数可以转化为: \[1+\max\limits_{i=0}^{\lceil\frac{n}{d}\rceil}(i[\sum\limits_{j=1}^{i}[sum(jd-d+1,jd)>0]=i]) \]其中 \(sum(i 阅读全文
posted @ 2024-11-29 17:46 white_tiger 阅读(23) 评论(0) 推荐(0)
摘要: 一、线段树分裂 类似于 \(FHQ-Treap\) 的方式,下给出模板题代码。 //Luogu5494 #include<bits/stdc++.h> #define int long long using namespace std; const int N=2e5+5,M=5e6+5; int 阅读全文
posted @ 2024-11-29 13:26 white_tiger 阅读(43) 评论(0) 推荐(0)
摘要: 100+50+65+45=260,rk3。 T1 【模板】分治FFT 题目名称很吓人,但是主要要找到关键性质。 考虑 \(c(a+b)+ab=b(a+c)+ac=a(b+c)+bc=ab+ac+bc\),相当于说合并方式对答案贡献无关。每种合并方式对答案贡献很好求,合并方式数量可以理解为每次从剩下的 阅读全文
posted @ 2024-11-28 20:14 white_tiger 阅读(10) 评论(0) 推荐(0)
摘要: 友链+鄙人账号 所有有密码的文章要么是没写完,要么是我的 $GXOJ$ 的 $id$。 阅读全文
posted @ 2024-11-27 21:07 white_tiger 阅读(91) 评论(0) 推荐(0)
摘要: 100+0+50+0,rk10。 T1 简单树形 \(dp\) 带国王游戏经典贪心,时间复杂度 \(O(n\log n)\)。 #include<bits/stdc++.h> #define int long long using namespace std; const int N=5e5+5; 阅读全文
posted @ 2024-11-25 17:30 white_tiger 阅读(19) 评论(0) 推荐(0)
摘要: CF1763C 容易发现当 \(n\ge 4\) 时可以将左右两端变成 \(0\),随后用最大值覆盖全部,问题转化为 \(n=2\) 和 \(n=3\) 时的答案。 当 \(n=2\) 时,要么进行一次操作,要么不操作,\(ans=\max(a_1+a_2,2|a_1-a_2|)\)。 当 \(n= 阅读全文
posted @ 2024-11-24 11:28 white_tiger 阅读(48) 评论(0) 推荐(0)
摘要: 1.什么是可持久化 对应的具体问题就是给你一个可以用普通数据结构(如线段树、平衡树等)解决的问题,但是操作可能会在历史版本上进行。 由于主席树笔者曾经写过,所以这里跳过。 2.可持久化平衡树 思想很简单。众所周知,\(FHQ-Treap\) 是个好东西,他就可以用来写可持久化平衡树。 考虑 \(sp 阅读全文
posted @ 2024-11-21 21:46 white_tiger 阅读(23) 评论(0) 推荐(0)
摘要: 100+10+10+100,rk2。 T1 图 简单题,\(bitset\) 即可。时间复杂度 \(O(\frac{n^2m}{\omega})\)。 #include<bits/stdc++.h> #define int long long using namespace std; const i 阅读全文
posted @ 2024-11-21 21:37 white_tiger 阅读(16) 评论(0) 推荐(0)
摘要: 好题好题,太棒了这题! 直接想是十分困难的,你连 \(dp\) 状态都想不出合理的,因此考虑二分答案,转化成一个判定问题。下文 \(d\) 表示二分出的答案。 设 \(sum_i\) 表示 \(i\) 子树内的合法路径数,那他就一共分为两部分: 来自于 \(sum_{son}\),直接累加即可。 经 阅读全文
posted @ 2024-11-10 19:59 white_tiger 阅读(18) 评论(0) 推荐(0)
摘要: 考虑 \(i\) 排在 \(j\) 前的条件是 \(a_i+\max(a_j,b_i)+b_j\le a_j+\max(a_i,b_j)+b_i\),然后发现这一坨东西是皇后游戏中的倒数第三个式子,直接转化为 \(\min(a_j,b_i)\ge\min(a_i,b_j)\),然后就按皇后游戏中的排 阅读全文
posted @ 2024-11-10 17:16 white_tiger 阅读(17) 评论(0) 推荐(0)
摘要: 最小值最大,考虑二分答案,问题转为判断最小值是否能 \(\ge x\)。 假如 \(a_i\ge x\),那我们肯定不管;假如 \(a_i<x\),那最好能让选择的区间 \(r\) 值更大,用优先队列维护即可。区间增幅可以用树状数组维护。 时间复杂度 \(O(n\log^2n)\)。 #includ 阅读全文
posted @ 2024-11-10 16:53 white_tiger 阅读(16) 评论(0) 推荐(0)
摘要: 那她既然都说到老国王了,那肯定就是贪心了。 先声明两个引理: 引理1:若 \(\max(c,a)<\max(c,b)\) 时,定有 \(a<b\)。 引理2:\(\max(a,b)-a-b=-\min(a,b)\)。 证明就不说了,非常好证。 考虑 \(i,j\) 两大臣孰先孰后,假如 \(i\) 阅读全文
posted @ 2024-11-10 16:13 white_tiger 阅读(24) 评论(0) 推荐(0)
摘要: 好题好题。 难点在建图,因为图的边数将会决定最小生成树的时间复杂度。我们肯定希望能够只建 \(O(n)\) 级别的边,这样时间复杂度就可以做到 \(O(n\log n)\)。 观察到当 \(i,j,k\) 三个区间能够互相连边时(这里假设 \(a_i<a_j<a_k\)),我们绝对不会连 \((i, 阅读全文
posted @ 2024-11-10 15:26 white_tiger 阅读(29) 评论(0) 推荐(0)
摘要: CSP 前学习珂学,祝自己 \(while(1)\ rp++\)。 考虑求解出每种数对答案的贡献。 设 \(t=r-l+1,k_x=\sum\limits_{i=l}^r [a_i=x]\),由容斥得贡献为 \(x(2^t-2^{t-k_x})\)。 求解 \(k_x\),考虑莫队,时间复杂度为 \ 阅读全文
posted @ 2024-10-25 23:01 white_tiger 阅读(32) 评论(0) 推荐(0)
摘要: 前言 在日常的学习生活中,我们经常会遇到如下问题: 维护一个数据结构,可以插入或删除一个数、求该数排名、求排名给定的数、求一个数的前驱后继。 这种情况下,权值线段树可以不优雅的解决这个问题。为了找到更优雅、适应性更强的算法,人们发明了平衡树。平衡树已经渗透入大部分 \(OIer\) 的代码中。对于一 阅读全文
posted @ 2024-10-24 22:19 white_tiger 阅读(30) 评论(0) 推荐(1)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页