随笔分类 -  模板

摘要:传送门 这是一道典型的单调栈。 题意理解 先来理解一下题意(原文翻译得有点问题)。 其实就是求对于序列中的每一个数i,求出i到它右边第一个大于i的数之间的数字个数c[i]。最后求出和。 首先可以暴力求解,时间复杂度o(n^2)显然TLE。 然后就是用单调栈来做。 单调栈 单调栈就是维护一个栈,使得栈 阅读全文
posted @ 2019-10-23 23:26 尹昱钦 阅读(163) 评论(0) 推荐(0)
摘要:传送门 一道裸的错排问题 错排问题 百度百科上这样说 就是对于一个排列,每一个数都不在正确的位置上的方案数。n 个元素的错排数记为 D(n)。 公式 D(n)=(n−1)∗(D(n−2)+D(n−1)) 推出公式(感性) 对于第n个数,放在k位置上。 而第k个数有两种情况: 当第k个数放到n位置时, 阅读全文
posted @ 2019-10-05 17:56 尹昱钦 阅读(201) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problem/P5367 什么是康托展开 百度百科上是这样说的: “康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。” “康托展开是一个全排列到一个 阅读全文
posted @ 2019-08-12 21:54 尹昱钦 阅读(373) 评论(1) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3368 树状数组 最基础的用法:https://www.cnblogs.com/yinyuqin/p/10961243.html 在这里实现的是区间加,单点查询。 一说到区间加,我们就会想到差分序列,关于差分序 阅读全文
posted @ 2019-06-01 23:12 尹昱钦 阅读(196) 评论(2) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3374 树状数组 树状数组最基本的就是求区间和。 维护: 空间复杂度:O(n) 时间复杂度(区间和,单点修改): 修改:O(logn) 查询:O(logn) 用c[i]表示(i-lowbit[i]+1,i)区间 阅读全文
posted @ 2019-06-01 22:18 尹昱钦 阅读(236) 评论(0) 推荐(0)
摘要:题目 给定n个点的带权有向图,求从1到n的路径中边权之和最小的路径。 dijkstra实现方法 用dist[i]表示i这个点到原点的最短距离,一开始初始化为无穷大,然后将原点设为0。 用ok[i]表示i这个点是否已经确定了最短路,一开始将原点设为已经找到。 然后每一次枚举每一个点,找到与原点最近且没 阅读全文
posted @ 2019-05-24 21:30 尹昱钦 阅读(207) 评论(0) 推荐(1)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3388 模板题 解题思路 什么是割点? 怎样求割点? dfn :即时间戳,一张图的dfs序(dfs遍历时出现的顺序) 树边:连向孩子的边 反向边:连向祖先的边 low :即一个点能到达的时间戳最小的边(反向边只 阅读全文
posted @ 2019-05-24 19:59 尹昱钦 阅读(442) 评论(0) 推荐(2)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3865 ST表的作用 ST表可以解决RMQ问题,即区间最大值、最小值 优点 速度快:预处理的时间复杂度是o(nlogn)。查询的时间复杂度是o(1)。 缺点 不支持修改操作 实现方法 ST表借助于一个数组实现: 阅读全文
posted @ 2019-05-08 21:59 尹昱钦 阅读(316) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1030 模板题 先讲一下二叉树的遍历 二叉树的遍历 分类 性质 求法 分为三类: 我们可知: **序遍历实际上是指根节点的位置 无论哪种遍历顺序,左子树都在右子树的前面 在前序遍历中,第一个点是根节点 在后序遍 阅读全文
posted @ 2019-05-01 15:56 尹昱钦 阅读(1030) 评论(0) 推荐(1)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3366 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000) 阅读全文
posted @ 2019-04-27 22:54 尹昱钦 阅读(435) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象。因为连接计算机 阅读全文
posted @ 2019-04-27 17:12 尹昱钦 阅读(418) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1886 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 例如: The array is [1 阅读全文
posted @ 2019-03-07 22:22 尹昱钦 阅读(396) 评论(2) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1045 题目大意 本题目的主要意思就是给定一个p,求2p-1的位数和后500位数。 解题思路 首先看一下数据范围,我们不难发现此题必须要用高精度来做。但是每一次高精度乘法的复杂度是o(n)的(n为数字的位数), 阅读全文
posted @ 2019-03-03 01:42 尹昱钦 阅读(778) 评论(3) 推荐(2)