09 2019 档案
摘要:区间最大公约数 原题链接: "区间最大公约数" 题目大意 和线段树的操作差不多,给你一个l, r让你都加d, 或者询问你l, r的最大公约数 题目题解 没学过初等数论吃大亏,写了一早上,以后abs一定要加std:: 根据更相减损之术我们知道,$gcd(x, y) = gcd(x, y x)$ 那么可
阅读全文
摘要:谜一样的牛 原题链接: "迷一样的牛" 题目大意 给你N头牛,再给你第$i$头牛前面有多少个比它低的牛,问你每头牛的身高 (数的大小要求紧挨着 1 2 3 4 5 这种,不允许 2 4 6 8 10 这种) 题目题解 emmm,也是套路题,好像有道贪心挺像的 当前位前面有几个比它低的,那么就算前面的
阅读全文
摘要:楼兰图腾 原题链接: "楼兰图腾" 题目大意 给你$n$个数,再给你两种限制条件,问你在符合这两种限制条件的情况,每种限制最多有多少个数 题目题解 这个题可以拓展到一些需要用到离散化的题 这个题很简单,两个限制条件,可以这么认为 限制条件1:枚举所有的数,然后找左边比它大的,找右边比它大的 限制条件
阅读全文
摘要:食物链 原题链接: "食物链" 题目大意 给你N组数,每组数由三个数构成,如果第一个数是1,那么就说明后面两个数代表的物体是同类,如果第一个数是2,那么就代表第二个数吃第三个数,现在问你说假话的总数 题目题解 这个题作为带权并查集中的 “拓展域” 的模板题只能说过于经典,比上一道题简单,我们可以很简
阅读全文
摘要:奇偶游戏 原题链接: "奇偶游戏" 题目大意 给你N个区间,每个区间给你它含1的奇偶性,问你哪些询问逻辑上冲突 题目题解 一道带权并查集的题,让我对带权并查集有了更深入的理解,带权并查集可以分为两种(在这道题中) “边带权”并查集 “扩展域”并查集 两种方法都是思维上的不同所造成的,其中第一种解法是
阅读全文
摘要:银河英雄传说 原题链接: "银河英雄传说" 题目大意 给你N个点,然后给你两种操作,一种是合并一种是询问 题目题解 哎,加油吧 首先读题意我们就知道,这个合并到最后一定是一条链,且合并的每个过程都是一条链,合并很好做,若不考虑两点间的距离,就是简单的并查集模板,但是加上了距离之后,就是一个带权并查集
阅读全文
摘要:程序自动分析 原题链接: "程序自动分析" 题目大意 给你两个逻辑关系,判断是否有冲突 题目题解 先将两个逻辑分开来看,前一个逻辑存在那么后一个逻辑一定不存在,如果存在那么答案就错误了,可以用并查集维护,详细见代码 cpp // define fre yes include include incl
阅读全文
摘要:可达性统计 原题链接: "可达性统计" 题目大意 给你一张$n$个点$m$条边的有向无环图,分别统计从每个点出发能够到达的点的数量 题目题解 看到题意就知道要用到拓扑排序,但是拓扑排序的理论复杂度在30000的极限条件下会超时,这个时候我们考虑使用 $bitset$,一个很好用的代替bool的防卡常
阅读全文
摘要:拓扑排序学习前提须知 拓扑排序是对于一个图的所有节点进行排序,要求排序完后没有一个节点指向它前面的节点,那么这样我们就会得到一个拓扑排序后的数组,我们从后往前扫通过某种计算就能够得到从某一个点开始最多能到多少个点。 算法内容 竞赛需要用到的点 1、拓扑排序仅适用于有向无环图,当然也可以判定是否图为无
阅读全文
摘要:单调队列学习前提需知 单调队列一般用于一类优化中,比如dp优化,或者二分的一系列题中,单调队列相比于同类型的单调栈而言,适用范围更广,考的范围也更广。单调队列是在一个长度为$n$的数列中,找到连续$m$个数,很快的求出其最大最小值 算法内容 竞赛需要用到胡点 1、单调队列一般用于优化或者二分答案的判
阅读全文
摘要:about 笔者:Nicoppa 曾经沧海难为水,除却巫山不是云 退役高三老狗又来更新惹 友链 如果想挂友链可以私聊QQ:17678925 欢迎各位dalao来吊打我quq pmt YingLi cbyyc
阅读全文
摘要:城市游戏(玉蟾宫) 原题链接: "城市游戏" 题目大意 给你$n \times m$个格子,每个格子上有'R'或'F',现在要找一块矩形土地,使这片土地都标有'F'且面积最大,让你求出这个最大面积并$\times3$输出 题目题解 面积最大,且为矩形,爆搜可以考虑一下,但爆搜肯定是超时的(话说有些题
阅读全文
摘要:学习单调栈前提须知 单调栈顾名思义就是以栈的形式存储一个符合单调性的数列,通常用于考虑两种状态时,其中一种状态可以在某种情况下不需要考虑,且永久不需要考虑时,可以考虑单调栈 算法内容 竞赛需要用到的点 1、单调栈是想到很简单,没想到就很容易拿不到满分 2、单调栈的题不是很多,可能还会掺杂其他算法进行
阅读全文
摘要:序列 原题链接: "序列" 题目大意 给你$m$行,每行$n$个数,让你从$m$行中每行选一个数组成一个长度为$n$的序列,并且一共会组成$n^m$个序列,这些序列中的数求和,让你求出前$n$个最小序列。 题目题解 很经典的题,当作典型模型可以记住 模型: 分组 ,先考虑$m = 2$的情况,我们设
阅读全文
摘要:最大异或对路径 原题链接: "最大异或对路径" 题目大意 给你$n$个关系,表示 $u,v$ 两点间有一条边,且有边权,问异或和长度最大的路径的异或值是多少? 题目题解 和上一道题很像,但是需要转化一下思路,我们上一道题是两个点之间进行计算,那么这道题是不是也能这样计算呢?当然可以,但是需要转化模型
阅读全文
摘要:最大异或对 原题链接: "最大异或对" 题目大意 给你$n$个数,从中选两个数进行异或运算,得到结果最大是多少 题目题解 一道没写过就不知道怎么写的套路题 刚开始可以用贪心分析,也就是说如果两个数的高位能够尽可能的大那么我们就尽可能的大就好了,也就是说两个数的二进制数在同一位不同,此时最大,那么怎样
阅读全文
摘要:耍杂技的牛 原题链接: "耍杂技的牛" 题目大意 给你$n$头牛,每头牛有一个重量 $w_i$ 和 强壮程度 $s_i$,现在要把牛叠起来,每头牛有一个风险值,这个风险值当前这头牛头上的所有牛重量加起来减去当前这头牛的强壮程度,要使这个值最大值最小 题目题解 本来以为是个二分题,但是发现二分并没有办
阅读全文
摘要:士兵 原题链接: "士兵" 题目大意 在一个坐标轴上,给很多坐标,现在要让这些坐标的 y 值相同 x 值不同,求移动的最少距离 题目题解 和上一篇题解很像,我们这里将 $x, y$ 单独拿出来考虑,$y$ 我们可以直接用中位数计算,但是 $x$ 还要考虑是否有点已经占领过了,这里可以有更好的方式就是
阅读全文
摘要:糖果传递 原题链接: "糖果传递" 题目大意 有 $n$ 个人,围在一起,每个人有 $a_i$ 个糖果,每次移动一次糖果需要消耗 1 的代价,现在要让所有人获得的糖果数相同,求最小代价 题目题解 很经典的贪心题,如果你对本题理解不了的话,建议去看看 "货仓选址" "均分纸牌" 首先读完题之后我们就可
阅读全文
摘要:[USACO12DEC]疯狂的栅栏Crazy Fences 题目链接: "[USACO12DEC]疯狂的栅栏Crazy Fences" 题目大意 给你$n$个坐标,每个坐标包含四个位置信息 $x_1,y_1,x_2,y_2$ 然后$x_1,y_1$ 与 $x_2, y_2$通过一条直线连接,再给你
阅读全文
摘要:[USACO10HOL]牛的政治Cow Politics 题目链接: "[USACO10HOL]牛的政治Cow Politics" 题目大意 给你$n$个关系,再给你一共有多少个群落,每个关系包含两个内容,在哪个群落以及当前 $i$ 节点的父亲节点是谁。然后让你求每个群落距离最远的两个点的距离是多大
阅读全文
摘要:防线 题目链接: "防线" 题目大意 给你$n$件物品,每件物品 3 个信息,起点,终点,每次可以延伸的距离,从起点开始每一个延伸的距离上都会放一个物品,现在问你哪个位置上放的物品是奇数个 题目题解 挺裸的一道二分题,看了下题不好判断二分性,因为本题规定了最多只能出现一个奇数位,考虑用前缀,因为 奇
阅读全文
摘要:koishi的数学题 题目链接: "koishi的数学题" 题目大意 给你一个公式,让你求结果(详细看题目链接里面) 题目题解 如果出这种题,我就死定了(真的 看了一下,不会 那就打表。打了半天表没发现什么,因为$n$也在变,每次答案都不一样,然后我换了个思路,对于每一位上的数针对$n$不同又是怎么
阅读全文
摘要:[HAOI2007]覆盖问题 题目链接: "[HAOI2007]覆盖问题" 题目大意 给你$n$个坐标,再给你3个$l \times l$的矩阵,让你用这些矩阵去包含这些点,要求是将所有点都包含,我们要求$l$的最小值 题目题解 想到二分了,不过没想到怎么爆搜 看了下题解,妙啊妙啊,牛逼 每次二分一
阅读全文
摘要:HXY造公园 题目链接: "HXY造公园" 题目大意 给你三个数 $n, m, q$ 代表一棵树有$n$个节点,再给你$m$行,每行两个数$u, v$,代表$u, v$间有一条无向边,然后再给你$q$行,每行代表一个操作,第一个数如果是 1,则再输入一个数,表示查询当前点所在树的直径大小,第一个数如
阅读全文
摘要:学习树的直径前提须知 树的直径 是一棵树的某两个最深的叶子节点的连线,多用于与图论算法嵌套考 算法内容 竞赛需要用到的点 1、很简单的算法,不会单独考,学习和熟练使用它的多种情况 树的直径略讲 很简单,两次dfs 至于为什么,可以画图模拟一下,因为一次dfs必然会在一棵子树或者根节点上,每次dfs必
阅读全文
摘要:[TJOJ2010]阅读理解 原题链接: "[TJOJ2010]阅读理解" 题目大意 给你很多个字符串,再给你单个字符串,问后面单个字符串是否在前面多个字符串中出现过 题目题解 很简单..不用我多说 2 3分钟写完 ~~但是!我交了20多遍,为什么?~~ ~~TM它卡bool(草~~ 这道题让我理解
阅读全文
摘要:学习Trie前提须知 $Trie$是一个字符串算法,它能够将很多个字符串映射在一棵树上,并且能够很快的判断一个串是否是另一个串的子串,也能够进行统计字符串出现次数等一些其他的东西,考题出现的频率不高,多作用于AC自动机的前置技能。 ~~(甚至可以在Trie上DP)~~ 算法内容 竞赛需要用到的点 1
阅读全文
摘要:关路灯 原题链接: "关路灯" 题目大意 给你一条直线,直线上有$n$个点,每个点每秒都有消耗能量,现在再给你个点$m$,代表你当前的位置,现在你要去碰这些点,当你碰到这些点时,这些点就不再消耗能量,你的速度是1m/s,现在让你求碰完这些点消耗能量最少,且最少值为多少 题目题解 看了一下题,哎,这题
阅读全文
摘要:[NOI1995]石子合并 原题链接: "[NOI1995]石子合并" 题目大意 给你$n$堆石子,现在要相邻两堆合成一堆,直到所有石子都在一堆里面为止,然后 1 号位的石子可以和 $n$ 号位的石子合并,也就是说,这些石子堆围成了一个环。 每次合并有一个分数,这个分数就是新合并的石子堆的石子数,求
阅读全文
摘要:平均数 原题链接: "平均数" 题目大意 给你长度为$n$的数列,找出该数列的一个子串,使得子串平均数最大化,并且子串长度$ =m$ 题目题解 不知道为什么给标签给数论...我没看到和数论有半毛钱关系... 很简单的题,二分平均数大小,用每个数去减这个,只要大于零的都是能够给我们增收益的,怎样处理这
阅读全文
摘要:[HAOI2006]聪明的猴子 原题链接 "[HAOI2006]聪明的猴子" 题目大意 给你$n$个数,代表最多可以走多长的边权,再给你$m$个坐标,每个坐标给$x, y$两个值,求在$n$中有多少值能够走完$m$个这些坐标 题目题解 很水的一道题,只是熟悉下模板 就是坐标两两连线,然后用最小生成树
阅读全文
摘要:[Beijing wc2012]算不出的算式 原题链接: "[Beijing wc2012]算不出的算式" 题目大意 给你 "" 这样一个公式,再给你$p, q$值,求最终答案 题目题解 打表,很简单,但是说一下证明 如果$p == q$ 很好证,用等差公式求和 + 平方差可得 $\frac{(k
阅读全文
摘要:学习KMP前提须知 $kmp$是一个字符串快速匹配算法,它能够很快的在 文本串 中查找与 模式串 相同的字符串,在竞赛上多用于一些字符串的查找或着是某些算法的前置技能使用,其中一些算法思路可谓精华。 算法内容 竞赛需要用到的点 1、Noip不太常考kmp,但普及组考的几率很大 (目前不太清楚Csp考
阅读全文
摘要:[Ctsc2018]混合果汁 题目链接: "混合果汁" 这道题增强了我对二分和主席树的认识,很好的一道题 ~~终于开始认真学OI了,还是比较上瘾 开始刷bzoj 刷刷刷~~ 题目大意 每次给你三个信息,表示一瓶果汁的价值量$d$、每升价格$p$、一瓶饮料中最多添加多少升$l$ 然后需要一瓶混合果汁,
阅读全文
摘要:学习Tarjan前提须知 Tarjan是一个能够求强连通分量的算法。何为强联通?就是在一个图中,两点可以相互到达从而形成的一个环,我们称这个环为强联通,其中,在这个图中所能组成点最多的环,我们称它为强连通分量,而我们的Tarjan就能求强联通与强联通分量 甚至能进行缩点等一系列操作 算法内容 竞赛需
阅读全文
摘要:[USACO15DEC]最大流Max Flow 原题链接 "最大流Max Flow" 题目大意 给你 $n 1$ 条边,再给你 $m$ 个操作,每次操作两个数 $u, v$ 表示,$u, v$ 的最短路径上每个点都加上$1$ 题目题解 树上差分的经典题 (一直想学树上差分,今天终于会了quq),我们
阅读全文
摘要:学习可持久化线段树前提须知 可持久化 是一种数据结构的统称,他们同样有的功能就是能够 保存历史版本 ,今天我们要说的可持久化线段树就是这样一种数据结构,能够保存历史版本 算法内容 竞赛需要用到的点 1、可持久化线段树的空间消耗较大,使用时注意一下数据范围 2、可持久化线段树对于区间问题都能够解决,基
阅读全文
摘要:[SDOI2009]HH的项链 原题链接 "[SDOI2009]HH的项链" 题目大意 给你 $n$ 个数,再给你 $q$ 次询问,每次询问给你 $l, r$ ,问你 $l, r$ 中有多少个不同的数 题目题解 分析这道题我们发现,对于一个 $[L_1, R_1]$ 存在另一个 $[L_2, R_1
阅读全文
摘要:仓鼠找sugar 原题链接 "仓鼠找sugar" 题目大意 给你 $n$ 个点, $q$ 次询问,$n 1$ 条边,每条边给出 $u, v$ 两个点,代表 $u, v$ 被一条边连接,接下来是$q$次询问,每次询问给你 $x_1,y_1,x_2,y_2$ 让你判断 $x_1$ 到 $y_1$ 与 $
阅读全文
摘要:[JSOI2008]最大数 原题链接 "[JSOI2008]最大数" 题目大意 给你两种操作,一种询问操作,一种插入操作,询问操作询问区间的最大值,插入操作从最后一位进行插入 题目题解 有很多解法,我这里用线段树维护(毕竟区间问题),转换到线段树上后就是很简单的单点修改,区间查询quq 详细看代码
阅读全文
摘要:货车运输 原题链接 "货车运输" 题目大意 有 $n$ 个点,然后给你 $m$ 条边,每条边我们有边权 $k$ ,现在给你 $q$ 次询问,每次询问两个整数 $x, y$,表示从 $x$ 到 $y$ 的最大值为多少,这个值就是走过的边权的最小值。 题目题解 这道题很明显可以得到的是,一些边我们从始至
阅读全文
摘要:学习最小生成树前提须知 最小生成树是指一个$n$个节点的图,让其变成一个仅有$n 1$个边且改变后该图是一张连通图,并且该图最终成为了一棵 最小权重生成树 (小权值边尽可能留下,大权值边尽可能删除)或 最大权重生成树 (与前者相反) 算法内容 竞赛需要用到的点 1、最小生成树多用于其他算法的过渡使用
阅读全文
摘要:学习并查集前提须知 并查集支持 合并 与 查询 ,针对于查询某两点是否在同一个 树 内,或者将两点之间连一条线。 算法内容 竞赛需要用到的点 1、并查集多用于其他算法的过渡使用,不单独考 2、并查集的思路会多次在以后出现,请理解并查集的每一步思路 并查集略讲 并查集是一个很简单的数据结构,其基本思路
阅读全文
摘要:LCA Lowest Common Ancestor 原题链接 "LCA" 题目大意 给出两个点,求LCA,多组输入输出 题目题解 ..模板题,没什么好说的,多组输入输出 需要注意一下 cpp // define fre yes include include include const int N
阅读全文
摘要:学习LCA前提须知 LCA是在一棵树上求两个点的最近公共祖先。两个点共同能到达的点,这样的点我们称它为公共祖先,那么两个点共同能到达的第一个点,这样的点我们称它为最近公共祖先 算法内容 前置技能 您需要去了解 邻接表存图 倍增算法基本原理 高中必修一log函数计算 竞赛需要用到的点 1、LCA常作为
阅读全文
摘要:四子连珠 题目描述 在一个4 4的棋盘上摆放了14颗棋子,其中有7颗白色棋子,7颗黑色棋子,有两个空白地带,任何一颗黑白棋子都可以向上下左右四个方向移动到相邻的空格,这叫行棋一步,黑白双方交替走棋,任意一方可以先走,如果某个时刻使得任意一种颜色的棋子形成四个一线(包括斜线),这样的状态为目标棋局。
阅读全文
摘要:『树状数组』树状数组模板 竞赛需要用到的点 树状数组可以解决大部分基于区间上更新、查询的操作 树状数组能写的线段树都能写,但线段树能写的树状数组不一定能写 代码量小,且常数比线段树小 树状数组是 树 与 二进制 的混合使用 lowbit(x) x&( x) 为何? x = x的二进制数中 0 变 1
阅读全文
摘要:~~双倍经验,还是蓝题,岂不美哉~~ 题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为$a_1,a_2,…,a_N$ 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由
阅读全文
摘要:如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个数加上x 3.求出某区间每一个数的和 这道题要同时满足两个操作, 加 和 乘 ,能满足这样操作的就是我们的Lazy(懒)操作了 唯一注意的地方就是,一定要乘法在加法前进行,若加法在乘法前,那么从父亲节点向下传
阅读全文

浙公网安备 33010602011771号