摘要: 单调栈用于寻找下一个比当前数大的位置。 原理非常简单,举个例子。[2,3,1,5,4,2] 操作如下: st:[],ans:[-1,-1,-1,-1,-1,-1] st:[2]->[] 阅读全文
posted @ 2025-10-09 21:52 MistyPost 阅读(14) 评论(0) 推荐(0)
摘要: 既然都是最后一次了,那就早点开坑好了。 作者没有文采,也没有心思写什么,梦到啥写啥。 CSP 初赛 又是一年CSP,或许这是最后一次了吧?谁知道呢。 经典如故,广东的CSP总伴着雨意。衣衫尽湿,踩着半醒的梦走下大巴 今年为何全中山的考生都涌向了JZ?不曾分流,倒也热闹得令人莞尔。 轻叹一声,讨论区里 阅读全文
posted @ 2025-09-21 22:21 MistyPost 阅读(87) 评论(3) 推荐(2)
摘要: P6359(绿,DP) 题意 有 \(n\) 台计算机,每台由三元组 \((c_i, f_i, v_i)\) 描述,分别表示核心数、时钟频率、购买价格。 有 \(m\) 个客户订单,每个订单由三元组 \((C_j, F_j, V_j)\) 描述,分别表示所需核心数、最低频率要求、支付金额。 你需要选 阅读全文
posted @ 2025-09-21 18:20 MistyPost 阅读(23) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define ll long long ll n,a[1000000],siz; ll k[1000000],lazy[1000000]; int main(){ cin>>n; for(int i=0;i< 阅读全文
posted @ 2025-09-09 21:41 MistyPost 阅读(20) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; #define ll int const double CLOCKS_PER_SECOND=((clock_t)14000); ll T,n,m,c[1000000],X[1000000],r,t[100000 阅读全文
posted @ 2025-09-06 12:02 MistyPost 阅读(46) 评论(0) 推荐(0)
摘要: 1.如果要在一个序列里用双指针以满足一个柿子,尝试推柿子使得指针分布到两边并使两边形式相同。 例子: 阅读全文
posted @ 2025-09-04 09:02 MistyPost 阅读(37) 评论(0) 推荐(0)
摘要: 割点割边的定义不说了。 定义 dfn 为 dfs 序,low 为该点不经过父亲并只走一次通往 dfs 序比其小的点的情况下能走到的最小的点的 dfs 序。 若 low[v]>=dfn[x] 则说明其儿子在不经过其的情况下无法向上,则该点为割点。 若 low[v]>dfn[x] 且满足不走反向边,说明 阅读全文
posted @ 2025-09-01 10:38 MistyPost 阅读(32) 评论(1) 推荐(0)
摘要: 结合pdf和 无旋Treap(FHQ Treap)理解吧,不想写了 #include<bits/stdc++.h> using namespace std; #define ll long long ll cnt;//id ll Root=0;//整颗树的根 struct tree{ ll lc,r 阅读全文
posted @ 2025-08-28 14:34 MistyPost 阅读(24) 评论(0) 推荐(0)
摘要: 最大公约数 性质 \[gcd(a,b)=gcd(b,a\%b) \]\[gcd(a,b)=gcd(a-b,b) \]\[gcd(a⋅c,b⋅c)=c⋅gcd(a,b) \]求法 __gcd(a,b)或运用性质一模拟。 ExGCD 求解如 \(ax+by=gcd(a,b)\) 一类的不定方程。 裴蜀定 阅读全文
posted @ 2025-08-07 15:04 MistyPost 阅读(29) 评论(0) 推荐(0)
摘要: 点分治是树上的一种算法范式,可以解决一些树上问题。 从例题来看吧: P4178 Tree 题目描述 给定一棵 \(n\) 个节点的树,每条边有边权,求出树上两点距离小于等于 \(k\) 的点对数量。 输入格式 第一行输入一个整数 \(n\),表示节点个数。 第二行到第 \(n\) 行每行输入三个整数 阅读全文
posted @ 2025-07-30 11:36 MistyPost 阅读(25) 评论(0) 推荐(0)