ACM
文章平均质量分 55
ltrbless
这个作者很懒,什么都没留下…
展开
-
SPFA与迪杰斯特拉
网上太多对他们的讲解了。这篇就是自己学习的一个记录。SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。算法:用一个队列来进行维护。 初始时将源加入队列。 每次从队列中取出一个元素,并对所有与他相邻的点进行松弛,若某个相邻的点松弛成功,则将其入队。 直到队列为空时算法结束。这个算法,简单的说就是队列优化的bellman-ford,利用了每个点不会更新次数太多的特点发明的此算法。SPFA——Shortest原创 2022-05-29 17:06:09 · 414 阅读 · 0 评论 -
使所有区间的异或结果为零(dp)
题意:链接:1787. 使所有区间的异或结果为零 - 力扣(LeetCode) (leetcode-cn.com)给你一个整数数组 nums 和一个整数 k 。区间 [left, right](left <= right)的 异或结果 是对下标位于left 和 right(包括 left 和 right )之间所有元素进行 XOR 运算的结果:nums[left] XOR nums[left+1] XOR ... XOR nums[right] 。返回数组中 要更改的最小元素.原创 2021-05-25 16:05:07 · 950 阅读 · 3 评论 -
(最易懂的解析)从第一个节点出发到最后一个节点的受限路径数(单源最短路径+拓扑排序)
题目链接:1786. 从第一个节点出发到最后一个节点的受限路径数 - 力扣(LeetCode) (leetcode-cn.com)题意:给你由n个点构成的m条边(x, y, w){从x到y有一条无向边,长度为w},构成一个连通图,然后让每个点到点n的最短路径距离作为当前点的权值,然后问从点1到点n有几条不同的路径(每个点必须往比自己权值小的点走)。1 <= n <= 2 * 104 n - 1 <= edges.length <= 4 * 104 edges[i]原创 2021-03-09 21:21:53 · 432 阅读 · 0 评论 -
暑假集训(前)
1. 规律(codeforce From Y to Y)任何一个数 x , 存在 i, j, k 可以使: , 是前n项和公式。2. UVA 的PE坑再uva上做题经常PE,由于有一句话:Separate output for successive input puzzles by a blank line.一般这样处理比较好:if(case_) puts(...原创 2019-07-14 18:16:59 · 375 阅读 · 0 评论 -
2019暑假训练日常收获1
1. 用c++判断一个数是否超过 long long的小技巧,前段时间做了一道题目,这道题目可能爆long long ,但是知道爆 long long 之后应该输出什么,所以可以用这种方式:long long x;scanf("%lld", &x);if(x < 0) puts("long long");但是需要注意的是: cin 不可以,如果用 cin>&g...原创 2019-07-24 10:35:23 · 217 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)Integration(数学裂项求积分)
题目链接:https://ac.nowcoder.com/acm/contest/881/C解题思路:AC代码:#include<bits/stdc++.h>#define up(i, x, y) for(ll i = x; i <= y; i++)#define down(i, x, y) for(ll i = x; i >= y; i--)...原创 2019-07-24 14:54:51 · 185 阅读 · 0 评论 -
OI国家集训队论文集1999~2018
直接放网盘:链接:https://pan.baidu.com/s/1YqJmBVRd_ZNztU3EgW1RoQ提取码:xj20复制这段内容后打开百度网盘手机App,操作更方便哦最重要的还是以上东西以下图片和文字(没啥暖用,就是看起来整体清楚点)摘自别人博客:https://blog.csdn.net/qq_41551359/article/details/9396488...原创 2020-02-27 17:25:54 · 4024 阅读 · 1 评论 -
2019牛客暑期多校训练营(第二场)Second Large Rectangle (单调栈)
单调栈讲解:已经会单调栈的可以直接跳过看2019牛客暑期多校训练营(第二场)Second Large Rectangle单调栈:先来说下单调栈,单调栈按字面意思就是栈,但是里面的值是单调的。举个例子:给你一组序列 : 2 1 4 5 1 3 3 让这组序列进单调栈,步骤:1. st : 22. st : 1 (因为 1 比 2 为了保证单调递增,所以把 2 先出栈,再把 ...原创 2019-07-25 16:30:45 · 166 阅读 · 0 评论 -
K-th Number POJ - 2104(可持久化线段树)
You are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be able to return quic...原创 2019-05-17 08:13:46 · 129 阅读 · 0 评论 -
山东省第五届ACM竞赛_Devour Magic(线段树)
题目链接https://v4t.jk1507.cn/problem.php?pid=2880题意有连续n个桶,每隔一秒会往所有的桶里各放入一个礼物,取m次,每次取落在该区间内所有桶中的所有礼物,问你m次操作后你会有多少个礼物。(题意进行了抽象,方便理解)题解开始打算使用差分数组来做,最后发现不管怎么查分总是不行,然后又想成按时间倒着做,找每个桶最后的覆盖时间,相当于线段染色问...原创 2019-04-24 20:43:58 · 116 阅读 · 0 评论 -
Discovering Gold LightOJ - 1030(概率DP)
题目链接:Discovering GoldLightOJ - 1030题目描述:有 n 堆金矿,位置为 1 - n 上,告诉你了每个位置金矿的数目 a [ i ] 。现在让你从 1 这个点开始挖金矿,下一个你要去的点通过掷骰子来决定,就是当前位置坐标+骰子数(骰子数:1 - 6),为你挖到金矿数目的期望。解题思路:因为起点一定要从 1 开始,所以应该倒着推才能保证从 1 这...原创 2019-05-02 20:06:35 · 180 阅读 · 0 评论 -
A Dangerous Maze LightOJ - 1027(期望)
题目链接:A Dangerous MazeLightOJ - 1027 题目描述:在一个迷宫中,你面对 n 扇门,给你进入每一扇门所花费的时间(x),如果是负数,那么就会花费x秒,并回到现在的位置,如果是正数,那么就会花费x秒走出迷宫,让你求走出迷宫所花费时间的期望值是多少?解题思路:AC代码:#include<bits/stdc++.h>#defi...原创 2019-05-02 19:46:28 · 183 阅读 · 0 评论 -
Calculate the Function ZOJ - 3772(线段树维护矩阵乘法)
题目链接:Calculate the FunctionZOJ - 3772题意:给你一个区间 [L, R] ,再给你一个递推关系 f(L) = A[L] ; f(L+1) = A[L+1] ; f(x) = f(x - 1) + f(x - 2) * A[x] (x > 2) ,然后让你求 f(R)的值。题解:看到有递推式,首先想到矩阵快速幂,那么递推矩阵是什么呢?...原创 2019-04-26 19:10:59 · 411 阅读 · 1 评论 -
Deque and Balls ZOJ - 3929 (组合数学+dp+期望)
题目链接:Deque and BallsZOJ - 3929 题目描述:给你n个数,从第一个数到第n个数按顺序等概率的放入双端队列中,就是说从双端队列的左边放入还是从右边放入是等概率的。 求 个数的期望值 * mod (1e9 + 7).题意有点晦涩,举个例子:n = 3 , 这三个数为:5 2 1那么可能的情况有:5 2 1 放入双端队列后是这个序列的概率...原创 2019-04-14 22:18:37 · 231 阅读 · 0 评论 -
Robot Vacuum Cleaner (思维)
题目链接:https://vjudge.net/contest/292025#problem/D题目描述:给你n个由 's' 与 'h' 构成的字符串,让你把他们拼成一个长串,问你总价值最大值是多少?(总价值计算方式:对于每一个 'h' 位置的价值为:ta前面 ’s‘的个数,'s' 位置的价值为0,所以总价值就是把左右 'h' 位置的价值加起来)。为了方便描述题目换了种说法,意思就...原创 2019-04-02 20:09:47 · 759 阅读 · 0 评论 -
超容易理解的莫队算法和模板
这个是我见到的最容易理解的莫队算法讲解,看了半小时,就能盲敲莫队的模板题目了(手动滑稽),希望大家看完也有所收获。以下转载于:https://www.myblog.link/2016/01/26/MO-s-Algorithm/莫队算法详解2016-01-26AlgorithmAlgorithm问题描述 复杂度O(N2)O(N2) 的简单的解法 一个解决上述问...原创 2019-03-11 19:14:04 · 305 阅读 · 0 评论 -
斐波那契数列的常用性质
1、 gcd( F [ n + 1 ] , F [ n ] ) = 1证明:根据辗转相减法则 gcd (F [ n + 1 ] , F [ n ] )= gcd (F [ n + 1 ] - F [ n ] , F[ n ])= gcd ( F [ n ] , F [ n - 1 ] )= gcd ( F [ 2 ] , F [ 1 ] )= 12、F [ n + ...原创 2019-03-15 09:59:13 · 2871 阅读 · 3 评论 -
Find the answer HDU - 6609 (权值线段树)
题意:链接:https://vjudge.net/contest/315593#problem/GQ组样例,给你 n 个数,和一个上限值 m ,让你求在第 i 个位置时,为了使前 i 个数的和(包括第 i 个数)不超过 m ,问你最少删除第 i 个数之前的几个数(不可以删除第 i 个数)。让你把 i 取 1 - n 时都输出出来。(1<=n<=2*10^5 1<=m&l...原创 2019-07-31 19:11:08 · 193 阅读 · 0 评论 -
Keen On Everything But Triangle HDU - 6601 (主席树)
题意:题目链接:https://vjudge.net/contest/315593#problem/C给你 n 个数,q 次询问,每次询问一个区间 [l, r],在这个区间里让你找可以构成三角形的最大周长。1 <= n <= 10^5解题思路:首先很容易想到对这 l - r 个数排序,然后从后相邻三个为一组往前找就行,但是询问区间都要排序时间复杂度太高,就可以用主席树来...原创 2019-07-31 19:19:13 · 191 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)Random Point in Triangle (面积期望)
题目链接:https://ac.nowcoder.com/acm/contest/881/F思路:AC代码:#include<bits/stdc++.h>#define up(i, x, y) for(int i = x; i <= y; i++)#define down(i, x, y) for(int i = x; i >= y; i--)...原创 2019-07-24 08:58:29 · 281 阅读 · 0 评论 -
Bond UVA - 11354 (按秩合并优化的并查集)
题意:链接:https://vjudge.net/problem/UVA-11354给你 n 个点,m 条边无向边,每条边告诉起点和终点还有权值,q次询问,每次询问从 s 点到 t 点的路径上的最小的最大权值(最大权值最小化)解题思路:首先如果把这个无向图建成一个最小生成树,那么在最小生成树的任意两点有仅有一条路,并且也使得最大权值最小化了,但是每次都要花费 o(n) 的时间搜索,...原创 2019-08-13 10:22:07 · 162 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)E - Explorer (线段树+离散化+按秩合并优化的并查集+并查集的拆除)
题意:链接:https://ac.nowcoder.com/acm/contest/888/E给你 n 个点,m 条边,每条边给你一组数 (u, v, l, r) 代表如果你想从u点走到v点,你的身高需要满足范围 [ l , r ] ,问你从 1 走到 n 点,你有多少种身高可以选择。1 ≤ n,m ≤ 10^5,1 ≤ u < v ≤ n,1 ≤ l ≤ r ≤ 10^9解...原创 2019-08-12 21:14:54 · 256 阅读 · 4 评论 -
2019牛客暑期多校训练营(第九场)Cutting Bamboos (主席树+二分)
题意:链接:https://ac.nowcoder.com/acm/contest/889/H给你 n 棵树每一棵树的高度,每一棵树从左到右编号为 1, 2, ... n 。Q 次询问,每次询问(l, r, x, y)代表在编号为 [l, r] 这个闭区间内的树,我需要砍 y 次把这些树砍成高度为 0 ,但是每次砍只能规定一个高度,这个高度以上的需要全部砍去,下面的不动,且每次砍的高度之和...原创 2019-08-16 16:16:30 · 246 阅读 · 6 评论 -
2019牛客暑期多校训练营(第七场)H-Pair (数位dp)
题意:链接:https://ac.nowcoder.com/acm/contest/887/H给你三个数 A、B、 C, 令 x ∈[ 1, A ],y ∈ [ 1, B ] ,至少符合 x & y > C 和 x ^ y < C 其中的一个条件,问你有多少个符合条件的 (x, y) 。解题思路:首先看他问的至少符合 x & y > C 和 x ^...原创 2019-08-12 11:42:03 · 177 阅读 · 0 评论 -
2017年ICPC中国大陆区域赛 - Sum of xor sum (线段树维护子段)
题意:链接:https://vjudge.net/contest/319951#problem/T给你 n 个数,和 q 次询问,每次询问给你 [ l , r ] ,让输出在区间 [ l , r ] 里每一个子区间亦或和加和。比如: 给你三个数 1、2、3、和一个询问 [ 1 , 3 ] , 需要输出 1 + 2 + 3 + 1 ^ 2 + 2 ^ 3 + 1 ^ 2 ^ 3 。(1 ≤ ...原创 2019-08-20 11:43:42 · 736 阅读 · 0 评论 -
Nonsense Time HDU - 6635 (思维 + LIS + 路径标记)
题意:链接:HDU - 6635给你 n 不同的且属于 [1, n] 的数列 p,然后在给你 n 个数 k1 - kn,代表 n 次操作,开始数列是被冻住的只有解冻的数才可以使用,按照给的n次操作,每次操作解冻一个位置,并输出当前所有被解冻的数的最长上升子序列的长度。解题思路:有句非常关键的语句:It is guaranteed that p1,p2,...,pn and k1,k...原创 2019-08-14 20:44:04 · 273 阅读 · 0 评论 -
2019HDU多校第六场 - 11 Dimensions HDU - 6644(思维+数位dp+康拓展开思想)
题意:链接:HDU - 6644给你一个长度为 n 的数字,但是把其中的某些位使用 "?" 遮住了,然后让你把 "?" 遮住的部分填上数字,使得填填上后的数字 n ,满足 n % m == 0 。 有 q 次询问,每次询问要你输出满足条件的第 k 小的 n。n,m,q(1≤n≤50000,2≤m≤20,1≤q≤100000) T(1≤T≤10000) k(1≤k≤10^18)It...原创 2019-08-14 20:02:35 · 286 阅读 · 0 评论 -
E - Snowy Smile HDU - 6638 (线段树维护最大连续子段和)
题意:链接:https://vjudge.net/contest/319475#problem/E给你n个点,每个点告诉你坐标还有权值(有正有负),让你画一个矩形把一些点括起来,问你矩形括起来的权值最大是多少,可以让矩阵面积为 0 ,也就是不括。解题思路:首先对 x 和 y 轴离散化,枚举一个上边界,然后从上边界开始一行一行的加入线段树中,每加一行就取一个最大,每次更新上边界就需要...原创 2019-08-14 09:22:51 · 293 阅读 · 0 评论 -
不要62 HDU - 2089 (数位dp解法)
题意:题目链接:https://vjudge.net/problem/HDU-2089给你一个区间[ l, r ],让你输出在该区间中满足以下两个条件的数有多少个,条件一:数字的每一位不能出现4,条件二:数字的连续两位不可以是 62 。解题思路:由于这个题目的数据比较弱,预处理下直接输出。假设这个题目的范围变成 : (1 <= l <= R <= 1e18) 就不...原创 2019-08-09 16:38:56 · 274 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场) Find the median(权值线段树+离散化)
题意+解题思路:给你一种计算规则,让你计算出 L [ i ] , R [ i ] ,( i 取值是 1 - n )。然后每次增加 L[ i ] - R[ i ] 这些数,然后让你求当前的中位数,如果是偶数个(如 6 个 取第3个)。比如 L[ 1 ] = 5 , R [ 1 ] = 15 . 就会增加 5、6、7 ... ... 13、14、15 这些数。又因为区间大小为 1 - 10^9 ...原创 2019-08-09 12:05:28 · 277 阅读 · 0 评论 -
2019牛客暑期多校训练营(第七场)A、B、C、D、E
A -String(暴力)题意:链接:https://ac.nowcoder.com/acm/contest/887/A给你一个01串,让你分成尽可能少的段的个数并且保证每个段字典序最小(这里的字典序最小是经过循环后最小,比如 0110 就不满足最小,因为可以经过循环变成 0011 )解题思路:按 01 组合分块,比如: 11001101100100 首先分成: 11 00...原创 2019-08-09 12:02:16 · 350 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)A、B、G、H
A -digits 2题意:链接:https://ac.nowcoder.com/acm/contest/885/A给你一个数 n (1 <= n <= 100) ,让你输出一个数 x ,x 满足两个条件 : 1 . x 是 n 的倍数,2 . x 的每一位数字加起来的和也是 n 的倍数。解题思路:暴力打表到70多就比较满了,所以肯定是构造,怎么构造呢? 首先...原创 2019-08-02 09:56:16 · 389 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)A、C、J、K
A - meeting (树的直径)题意:链接:https://ac.nowcoder.com/acm/contest/884/A给你一颗由 n 个点构成的树,和 k 个不同的点,让你找一点,使得该点到那 k 个点的最大距离最小,输出最小距离。解题思路:两次dfs求出树的直径(注:全都要是那 K 个点的,其他点不算,就是求树的直径的起点和终点都必须是这k个点里的点,因为 题意说...原创 2019-07-28 10:23:52 · 269 阅读 · 0 评论 -
Cutting Sticks UVA - 10003(DP - 四边形不等式优化)
四边形不等式优化:花费用 表示 四边形不等式 : 称其满足凸四边形不等式决策单调性 : 三个定理:定理一: 如果 同时满足四边形不等式 和 决策单调性 ,则 也满足四边形不等式定理二:当定理一的条件满足时,让取最小值的 为,则定理三: 为凸当且仅当 由定理三知 判断 是否为凸即判断 的值随着i的增加是否递减于是求 值的时...原创 2019-08-05 17:13:18 · 174 阅读 · 0 评论 -
Color Length UVA - 1625 (DP)
题意:链接:https://vjudge.net/problem/UVA-1625给你两个由大写字母组成的序列,让你把这两个序列按这两个序列的原序列的字母顺序拼接成一个新的串,让你输出这个新的串的距离的最小值(这里的距离的最小值的定义是:相同字母的最远距离之和 如: ACACA -> 距离为 4(A与A的最远距离) + 2(C与C的最远距离) = 6 )解题思路:这个dp...原创 2019-08-05 15:10:06 · 171 阅读 · 0 评论 -
Diana and Liana CodeForces - 1121D_思维
题目链接:Diana and LianaCodeForces - 1121D 题意:给你 n 朵花,连续的 k 朵可以可以组成一个花环,最后需要构成至少 m 个花环,至少有一个花环包含 s 个规定的花朵,输入n朵花,这每个数代表花的种类。输入s,至少有一个花环需要包含这s个花输出 可以删除多少个花,可以使得满足给定的条件,并输出花的位置标号,从左到右,编号从 1 递增。...原创 2019-03-06 19:25:37 · 519 阅读 · 0 评论 -
日常小收获三_STL
1、set C++ STL中标准关联容器set, multiset, map, multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-Black Tree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。set里元素唯一,且默认从小到大排序。总的内置函数:1. begin()--返回指向第一个元素的迭代器...原创 2019-03-02 21:08:52 · 239 阅读 · 0 评论 -
SDNU_ACM_ICPC_2019_Winter_Practice_9th题解
A - Minimum’s Revenge_规律题意:给你n个点,每个点编号从1-n,任意两个点之间连线的权值为这两个点编号的最小公倍数,问这n个点的最小生成树的权值和。题解:设任意两个点编号的最小公倍数肯定大于等于最大的编号,编号1与其他编号的最小公倍数等于其他编号,所以直接把其他编号的点与编号为1的点相连就是最小生成树了,权值和为 2 + 3 + ······ + n,所以公式...原创 2019-02-21 01:01:37 · 422 阅读 · 0 评论 -
Semi-prime H-numbers POJ - 3292(简单打表)
题目链接:Semi-prime H-numbersPOJ - 3292题意:定义一种数叫H-numbers,它是所有能除以四余一的数。在H-numbers中分三种数:1、H-primes,这种数只能被1和它本身整除,不能被其他的H-number整除,例如9是一个H-number,能被1,3,9整除,但3不是H-number,所以他是H-primes。2、H-semi-prim...原创 2019-02-14 16:59:11 · 172 阅读 · 0 评论 -
日常小收获
Winter Holiday Training Competition 2019, Post-competition Reflections1、Cutting OutCodeForces - 1077D这是第四场的训练赛中的一个题目,这个题就是利用二分找最优解,最后输出,挺常规的题目,当时在第40个样例T了4次,当时真的不甘心,现在看来只能怪自己的思维不够严谨。一方面:在二...原创 2019-02-01 16:54:22 · 213 阅读 · 1 评论