题解:AT_tkppc6_2_a >_< AT_tkppc6_2_a >_< 题解 题意 把一个 {1,2,3,…,n}\{1,2,3,…,n\}{1,2,3,…,n} 的数列 PPP,重新组合,询问满足以下要求的重组序列的数量。 对于每一个 iii(2≤i≤n2\le i \le n2≤i≤n),满足 PiP_iPi 是 P1∼iP_{1 \sim i}P1∼i 中最小的值或是最大的值。 思路 考虑最后一位,因为最 2025-01-18 题解 #题解 #AtCoder
基础莫队 更洛谷的观感体验。 今天讲一下基础的莫队算法。 算法思路 暴力 每次统计每个数有几次,再累加,时间复杂度为 O(nm)O(nm)O(nm)。 0分(全 TLE) 不是这题卡这么紧。 #include<bits/stdc++.h> using namespace std; int n,m,k,a[50010]; int main() { cin >> n >> m >> k 2024-12-22 教程 > 特殊技巧 #算法 #特殊技巧
Tarjan 今天来讲一下 Tarjan。 应用场景 割点缩点。 dfn 和 low 思路 先上一个图: Tarjan是这样操作的: 首先,用dfs遍历图,按照遍历的顺序给每个点打上时间戳(为dfn),每个点的时间戳如下(每个点右上角的数字为该点的 dfn): 再定义一个数组 low,为不经过其父亲能到达的最小的时间戳。 什么意思?其实不懂也没有关系 本蒟蒻开始读也没读懂。 换一个说法,就是不经过从起 2024-12-15 教程 > 图论 #算法 #图
堆 今天来讲一下 堆(优先队列)。 应用场景 求最值问题。 算法思路 模板题:P3378 【模板】堆 。 带入 让我们复习一下学过的最值问题。 (lll 为数组的长度) 暴力 时间复杂度 O(nl)O(n l)O(nl) 线段树 用不了(无法增删) 单调队列 用不了(太惨了) 倍增(ST表) 用不了(只能处理静态的区间最值) 很显然,没有算法可以AC这道题,我们需要新的算法。 处理 我们使 2024-11-17 教程 > 数据结构 #算法 #树 #数据结构
P5731【深基5.习6】蛇形方阵 题解 题目 题目传送门。 没什么可说的,直接跳过。 做法 思路 仔细观察输出,可以发现输出可以当做输出几个方框。 这样我们只要画出每个正方形就可以了。 Code实现 首先输入不用说了吧。 不会真有人不会吧 #include<bits/stdc++.h>//万能头启动 using namespace std; int main() { int n;//不用说了吧,跟题目中名字一 2024-07-27 题解 #题解