返回顶部

随笔分类 -  算法

一些常用的算法
摘要:星际旅行 算法: 线段树 、离散化 题意: 你需要维护$3$维空间的$n( 1 \leq n \leq 10^9)$个点,初始时这些点的三维坐标都是$0$。将有以下$4$种操作$m(1 \leq m \leq 4 \times 10 ^4)$次。 给区间$[left , right]$的所有点的三维 阅读全文
posted @ 2022-11-02 18:52 cherish-lgb 阅读(63) 评论(0) 推荐(0)
摘要:Square Tree 题目链接: [Square Tree](SquareTree (nowcoder.com)) 题目描述:给你一棵$n$个节点的树,根节点为$1$。初始时所有结点的权值都为$1$。给你$m$次操作,每次操作给你三个数$u , v , w$,其含义为:若节点$x$,其子树中含从$ 阅读全文
posted @ 2022-07-31 22:21 cherish-lgb 阅读(71) 评论(1) 推荐(1)
摘要:题目描述:给你一个$n \times m$的二维矩阵$grid$,再给你一个整数$k$,你可以从二维矩阵中任意选择$k$行出来,组合成新的二维矩阵,对于新的二维矩阵,其每一列的最大值的最小值最大是多少。 数据范围:\(1 \leq n \leq 10^5 , 1 \leq m \leq 5 , 1 阅读全文
posted @ 2022-06-11 10:50 cherish-lgb 阅读(59) 评论(0) 推荐(0)
摘要:上锁的抽屉 题目描述:有$n$个竖着的抽屉,一个抽屉被锁死当且仅当自己和它上面的抽屉都被锁死。问恰好锁死$m$个抽屉的方案数,答案对1e9 + 7取模。 思路:比较明显的dp,定义状态$f_{i , j , k}$表示对于前$i$个抽屉,锁死$j$个的方案数,其中$k = 0 , 1$,表示第$i$ 阅读全文
posted @ 2022-04-13 10:58 cherish-lgb 阅读(439) 评论(0) 推荐(0)
摘要:本部分只是字符串Hash的一些操作和习题的笔记 想了解其中原理和更多知识可以点击此处 Hash基数: 131 Hash大模数:1e9+7, 19260817,89999794200117649,999999786000011449,998244353 字符串Hash的应用 字符串匹配 多项式Hash 阅读全文
posted @ 2022-01-30 13:16 cherish-lgb 阅读(296) 评论(0) 推荐(0)
摘要:题目描述:给定整数$n$,构造一个$n$位的整数$s$,并满足: \[ s \% 5^n = 0\\ \] 且$x$的每一位数字都只能是奇数。 数据范围:\(1 \leq n \leq 10^6\) 思路:可以先打表,然后发现对于小数据范围内,答案是唯一的,且长度为$n(n > 1)$的答案的后$n 阅读全文
posted @ 2022-01-07 23:05 cherish-lgb 阅读(53) 评论(0) 推荐(0)
摘要:问题描述:给你两个字符串$s$和$t$,找出这两个字符串的最长公共子序列 一些定义: 子序列 给定两个序列$X=<x_1,x_2,...,x_n>$和序列$Z = <z_1 , z_2 , ...,z_k>$,若存在$X$的一个严格递增下标序列$<i_1 , i_2 , ...,i_k>$,使得对所 阅读全文
posted @ 2021-12-25 10:53 cherish-lgb 阅读(102) 评论(0) 推荐(0)
摘要:问题描述:给你一个长度为$n$的序列$a$ , 选出其中连续且非空的一段使得这段和最大。即求 \[ \mathop{MAX}\limits_{1 \leq i , j \leq n}\{ \sum_{k = i}^{j}a_k\} \] 问题一 P1115 最大子段和 数据范围: \[ 1 \leq 阅读全文
posted @ 2021-12-24 14:57 cherish-lgb 阅读(104) 评论(0) 推荐(0)
摘要:问题描述:给你$n$个在二维平面上的点,让你求任意两个点之间的欧几里得距离的最小值 P1257 平面上的最接近点对 此题$2 \leq n \leq 10^4$ ,所以可以暴力枚举任意两个点求距离然后取最小值 时间复杂度:\(O(n^2)\) 可以通过此题 参考代码: #include<bits/s 阅读全文
posted @ 2021-12-23 20:16 cherish-lgb 阅读(65) 评论(0) 推荐(0)
摘要:327. 区间和的个数 题目描述:给你一个整数数组$nums$,求它的所有子数组中满足$lower \leq sum(sub_{nums}) \leq upper$ 的个数。其中$sub_{nums}$表示数组$nums$的一个子数组,$sum()$表示对该数组中的元素求和。 思路:先考虑前缀和,那 阅读全文
posted @ 2021-12-18 22:52 cherish-lgb 阅读(36) 评论(0) 推荐(0)
摘要:DFS序就是将树形结构转化成线性结构,使得树上对某一结点为根的子树的操作变成对一个区间的操作。 将树读入之后,进行$dfs$,$dfs$过程中记录初始访问的时间戳$intime$和返回时的时间戳$outtime$,那么以该结点为子树的所有结点都在区间$[intime , outtime]\(内。每次 阅读全文
posted @ 2021-12-13 16:56 cherish-lgb 阅读(93) 评论(0) 推荐(1)
摘要:题目链接:D 与 S 题目描述: $S$在追杀$D$。 现在,\(D\) 在一张有$N$点$M$边的无向图的$1$号点(顶点从$1$开始编号)。 每一秒$S$会剪掉与$D$相邻的一条边,然后$D$会走到一条没被剪掉的边的终点。有$K$个关键点,如果$D$到达了其中一个关键点,则$D$逃跑成功。$S$ 阅读全文
posted @ 2021-12-12 18:58 cherish-lgb 阅读(76) 评论(0) 推荐(0)
摘要:暂存的题目集,后面再做整理 先对树跑一遍dfs获得其dfs序,然后对以某个结点为根的子树进行操作,转化为dfs序上对区间的操作,这个过程可以使用线段树完成 欧拉序:跑dfs的时候,将第一次出现该点的时候,记录为1,第二次出现时记录为-1,对树上链的操作就转化成前缀和了,过程可用线段树维护区间和 询问 阅读全文
posted @ 2021-12-09 21:03 cherish-lgb 阅读(42) 评论(0) 推荐(0)