StkOvflow

STACK OVERFLOW!

一言(ヒトコト)

我要让zn提头来见我
——lmh

12 2022 档案

摘要:解题思路 这道题目是需要维护各种连通块信息的,所以这里我们可以也用并查集维护。这题我们如果注意一点细节,也是可以让代码变得很简洁的: 1.这道题的输入自带状态压缩,如果一个数a & 1=1,那么这个数代表这个格子有西面的墙,东南北也是相似。 $\qqu 阅读全文
posted @ 2022-12-31 17:27 StkOvflow 阅读(35) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定一个长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一: C l r d,表示把 A[l],A[l+1],,A[r] 都加上 d。 Q l r,表示询问 A[l],A[l+1],,A[r] 的最大公约数(GCD)。 对于每个询问,输出一 阅读全文
posted @ 2022-12-29 16:47 StkOvflow 阅读(42) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定长度为 N 的数列 A,以及 M 条指令,每条指令可能是以下两种之一: 1 x y,查询区间 [x,y] 中的最大连续子段和 2 x y,把 A[x] 改成 y。 对于每个查询指令,输出一个整数表示答案。 解题思路 区间问题首选线段树,那这题我们 阅读全文
posted @ 2022-12-28 22:45 StkOvflow 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目描述 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候, 老师需要满足小朋友们的 K 个要求。 幼儿园的糖果总是有限的,老师想知道他至少需要准 阅读全文
posted @ 2022-12-28 18:20 StkOvflow 阅读(56) 评论(0) 推荐(0) 编辑
摘要:传送门 解题思路 我们一开始可以得出一个建图的思路,对于每个字符串我们把它们当成图中的一个点,然后能“接龙”的字符串之间连一条边,在这张图上跑01分数规划。这样貌似是可以的,但是我们看一下这张图有多么庞大:它的点数N的上限可以达到105,而边数应该是$A_{N}^{2} 阅读全文
posted @ 2022-12-27 22:02 StkOvflow 阅读(41) 评论(0) 推荐(0) 编辑
摘要:传送门 题目描述 给定一张 L 个点、P 条边的有向图,每个点都有一个权值 f[i],每条边都有一个权值 t[i]。 求图中的一个环,使“环上各点的权值之和”除以“环上各边的权值之和”最大。 输出这个最大值。 注意:数据保证至少存在一个环。 输入格式 第一行包含两个整数 L阅读全文
posted @ 2022-12-27 16:31 StkOvflow 阅读(45) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定两个正整数 nk,求从 1nn 个正整数的十进制表示中 k 出现的次数。 输入格式 共一行,包含两个整数 nk。 输出格式 输出一个整数,表示答案。 数据范围 1n106, 1k9 阅读全文
posted @ 2022-12-27 13:06 StkOvflow 阅读(17) 评论(0) 推荐(1) 编辑
摘要:传送门 题目大意 给一张图,每个点有对应的点权,每条边有对应的边权。可以有如下几种选择: 1.选择一个没通电的点,花费vi2.将两个点连边(要有一点通电),边权pi,j 经过上述操作之后, 阅读全文
posted @ 2022-12-26 18:47 StkOvflow 阅读(31) 评论(0) 推荐(0) 编辑
摘要:传送门 题目描述 有一个 mn 列的点阵,相邻两点可以相连。 一条纵向的连线花费一个单位,一条横向的连线花费两个单位。 某些点之间已经有连线了,试问至少还需要花费多少个单位才能使所有的点全部连通。 解题思路 在输入的时候把已经有连线的点合并到同一个集合(通过并查集),为 阅读全文
posted @ 2022-12-26 16:30 StkOvflow 阅读(147) 评论(0) 推荐(1) 编辑
摘要:传送门 题目大意 给定一张无向图,其中无向图的边有两种类型: 1.这类边是必须选择的。 2.这类边是不必须选择的 求出这张图中所有生成树中包含所有第1类边的生成树中边权和最小的一棵的边权和 解 阅读全文
posted @ 2022-12-26 14:36 StkOvflow 阅读(19) 评论(0) 推荐(1) 编辑
摘要:传送门 题目描述 有 n 头奶牛,已知它们的身高为 1n 且各不相同,但不知道每头奶牛的具体身高。 现在这 n 头奶牛站成一列,已知第 i 头牛前面有 Ai 头牛比它低,求每头奶牛的身高。 解题思路 我们对于这题可以从后向前扫描,当扫描到第i头牛的时 阅读全文
posted @ 2022-12-26 13:00 StkOvflow 阅读(30) 评论(0) 推荐(1) 编辑
摘要:传送门 题目大意 给定一张无向图,没有重边和自环,要删去一些边但是仍然要保证图的连通性,求这些边边权总和的最大值。 解题思路 我们不一定要真的去统计它的最大值,因为所有边的权值总和是不变的,所以我们算出来保留的边的权值总和越小,删掉的边的权值总和越大。 $\qquad 阅读全文
posted @ 2022-12-25 22:40 StkOvflow 阅读(26) 评论(0) 推荐(1) 编辑
摘要:题目描述 有 N 种物品和一个容量是 V 的背包。 物品一共有三类: 第一类物品只能用1次(01背包); 第二类物品可以用无限次(完全背包); 第三类物品最多只能用 si 次(多重背包); 每种体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包 阅读全文
posted @ 2022-12-25 21:42 StkOvflow 阅读(16) 评论(0) 推荐(0) 编辑
摘要:传送门 题目大意 给定长度为 N 的数列 A,然后输入 M 行操作指令。 第一类指令形如 C l r d,表示把数列中第 lr 个数都加 d。 第二类指令形如 Q x,表示询问数列中第 x 个数的值。 对于每个询问,输出一个整数表示答案。 解题思路 $\qquad 阅读全文
posted @ 2022-12-25 18:48 StkOvflow 阅读(27) 评论(0) 推荐(0) 编辑
摘要:传送门 题目大意 1.给你一个序列,让你统计三个数i,j,ki<j<k),当这三个数满足ai>ajaj<ak的对数 2.同样地统计i,j,k(i<j<k),求满足ai<aj,aj>aki,j,k对数 解题思路 阅读全文
posted @ 2022-12-25 18:36 StkOvflow 阅读(22) 评论(0) 推荐(0) 编辑
摘要:AcWing传送门 洛谷传送门 题目大意 给一个无向图,边权都是1,求出以1为源点,到各个点(1n)的最短路数量 解题思路 边权都是1的图中最短路,我们选择用BFS解决这个问题 对于每个点j,我们进行以下讨论:(假设这 阅读全文
posted @ 2022-12-24 12:20 StkOvflow 阅读(29) 评论(0) 推荐(0) 编辑
摘要:题目传送门 解题思路 我们可以用一个状态压缩的思路,对于所有的钥匙,用来开第i类门的我们把这把钥匙放到从右往左数的第i位(这里是为了方便写,比如开第1种门的key[x][y]|=1<<1),这样我们在判断是否有钥匙的时候只要用到x >> i $\ & 阅读全文
posted @ 2022-12-23 22:47 StkOvflow 阅读(50) 评论(0) 推荐(1) 编辑
摘要:题目传送门 题目大意 有一张有向图,可以有若干个起点,只有一个终点,求所有起点到终点的最短路中最短的一条,若所有起点都与终点不连通,则输出1 解题思路 我们这题可以想出两个方面的思路: 1.我们可以设置虚拟源点$S=0(这样编号不会与其他点冲 阅读全文
posted @ 2022-12-23 14:27 StkOvflow 阅读(71) 评论(0) 推荐(0) 编辑
摘要:AcWing题目传送门 洛谷题目传送门 题目大意       一个投机倒把的奸商想要通过城市不太健全的贸易系统坑点钱,任意城市都可以买入或者卖出水晶球,他想尽量在便宜的城市买入,在贵的城市卖出,以此赚取更高的差价,他必须从一号城市开始旅行,到n号城市结束。请问他最多可以赚多少钱? 解题思路 阅读全文
posted @ 2022-12-23 12:37 StkOvflow 阅读(30) 评论(0) 推荐(0) 编辑
摘要:AcWing题目 洛谷题目 解题思路 首先可以得到一个很容易得到的贪心策略,将一条路径上最贵的(边权最大)的K条边删去,那么我们剩下的路径中最贵(边权最大)的路就是原本这条路径上帝K+1大的路。 于是原问题就可以转化为: 求一张无向图中最大的一条路径中的第K+1大的边 这就启发我们枚 阅读全文
posted @ 2022-12-23 10:23 StkOvflow 阅读(29) 评论(0) 推荐(0) 编辑
摘要:原题链接 解题思路 这题用SPFA会被卡,所以我们不能用SPFA 但是观察数据我们可以发现对于道路,0Ci105 所以对于每个连通块(内部不存在航线),我们可以用Dijkstra算法进行求解,因为不存在负权边,而Dijkstra算法的时间较为稳定,所以对于连通块内部的 阅读全文
posted @ 2022-12-22 22:04 StkOvflow 阅读(53) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 给你个N 判断有没有两个整数满足AB=N,并且AB的各位数字刚好构成09的一个排列 解题思路 这题乍一看挺难的,但是范围很小(2N79),那我们就可以着手写暴力 将上述等式进行变形,可以得到$A = N 阅读全文
posted @ 2022-12-21 18:01 StkOvflow 阅读(23) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 有一个骑士,他可以骑马日字型跳跃,问他从A点到B点最少要几步 解题思路 这题就是一个特别裸的广搜板子 它的主要问题在于输入输出 输入的数据我们可以用pair读入,第一关键字存行(a~e),第二关键字存列(1 ~ 8) 然后我们为了方便处理,把行也映射成数组1 ~ 8 阅读全文
posted @ 2022-12-21 17:34 StkOvflow 阅读(9) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 怼给你一堆括号,判断是否合法 有三条规则 (1)空串合法 (2)如果AB都合法,则AB合法(例如:()[]都合法,则()[]合法) (3)如果A合法,则(A)[A]都合法(例如A=([]),则(([]))[([])]都是合法的) 阅读全文
posted @ 2022-12-21 14:27 StkOvflow 阅读(18) 评论(0) 推荐(0) 编辑
摘要:AcWing 洛谷 解题思路 这题看到最短跳跃距离尽可能长就会想到二分 但是我们二分的check函数怎么写呢 可以看到限制条件移走的石头最多只能是m块 我们二分这个最短距离 容易想到一个贪心策略:扫描一遍a数组,如果aianow<mid,(now是当前站的石 阅读全文
posted @ 2022-12-20 22:43 StkOvflow 阅读(37) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 给定一个字符串,字符串中可能含有[字符或者]字符 被[]框起来的字符串将会被移到最开头,(如果之前有过[],则越晚出现的[]内字符串会被放在越前面,输出最后得到的字符串 解题思路 解法1 用一个类似循环链表的东西存储这个字符串,cur代表的是光标的 阅读全文
posted @ 2022-12-20 21:44 StkOvflow 阅读(29) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 模拟矩阵链乘的计算,如果出现错误就输出error,否则输出总共的乘法次数 对于一个矩阵A(m×n),B(n×p) 乘法次数为m×n×p 解题思路 这道题目就是经典的表达式模拟,对于一个矩阵的处理,我们可以用m 阅读全文
posted @ 2022-12-20 20:59 StkOvflow 阅读(25) 评论(0) 推荐(0) 编辑
摘要:原题Vjudge 题目大意 给定一个入栈序列[1,2,3....,n],判断出栈序列[a1,a2.....an]是否合法 解题思路 这道题目我们可以用一个栈与双指针结合的算法 我们设立一个指针j,一开始指向的是a1,也就是j的初始值为1 然后我们把$1 阅读全文
posted @ 2022-12-20 19:49 StkOvflow 阅读(14) 评论(0) 推荐(0) 编辑
摘要:原题链接 思路 从自己家开始,顺序任意,能去五个亲戚家,可以从亲戚家去到另外的亲戚家,于是这启发我们把每个亲戚和自己到全图其他点的最短路处理出来。 这乍一看是多源汇最短路,但是我们发现Floyd算法是O(N3)的,在这题的条件下=根本跑不过 但是我们的源点有几个? 只有一个自己加上五个 阅读全文
posted @ 2022-12-20 19:18 StkOvflow 阅读(12) 评论(0) 推荐(0) 编辑
摘要:原题链接 这道题目就是把01背包和并查集结合到一起而已,我们可以把一个集合内部的所有元素的信息统一到祖先节点上,再对所有的集合做01背包,把每个集合看成一个物品,然后物品价值是集合内所有物品价值和,物品体积是集合内所有物品体积和。 代码 #include <iostream> #include <c 阅读全文
posted @ 2022-12-20 19:10 StkOvflow 阅读(10) 评论(0) 推荐(0) 编辑
摘要:原题链接 定义差分数组b[],其中b[i]=a[i]a[i1] ax=i=1xbi 更改a[l r], 只要更改b[l1]b[r]即可, 最后要对b[]数组做一次前缀和得到之前的a[] #include <bits/ 阅读全文
posted @ 2022-12-20 19:04 StkOvflow 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目描述 输入一个长度为 n 的整数序列。 接下来再输入 m 个询问,每个询问输入一对 l,r。 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。 输入格式 第一行包含两个整数 nm。 第二行包含 n 个整数,表示整数数列。 接下来 m 行,每 阅读全文
posted @ 2022-12-20 16:22 StkOvflow 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 1  109 范围内),表示整个数列。 输出格式 输出共一 阅读全文
posted @ 2022-12-20 15:32 StkOvflow 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。 输入格式 第一行包含两个整数 nk。 第二行包含 n 个整数(所有整数均在 1109 范围内),表示整数数列。 输出格式 输出一个整数, 阅读全文
posted @ 2022-12-20 15:28 StkOvflow 阅读(21) 评论(0) 推荐(0) 编辑
摘要:AcWing 785.快速排序 ——梦开始的地方 题目描述 给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在 $1\ \sim\ 10^{9 阅读全文
posted @ 2022-12-20 15:26 StkOvflow 阅读(25) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示