01 2025 档案
P2704 [NOI2001] 炮兵阵地
摘要:P2704 [NOI2001] 炮兵阵地 题目翻译: 给定一个 \(n \times m\) 的矩阵,规定那些地方可以放炮塔,那些地方不能放,且每个炮塔上下左右的两格不能有其他炮塔,求最多可以放多少炮塔。 思路: \(n\) 和 \(m\) 都很小,所以考虑使用状压 \(dp\),由于炮塔的范围涉及
状压DP(学习笔记)
摘要:简介: 状压 \(dp\) 很明显是将状态压缩后进行 \(dp\),这种算法多用于状态只有两种的情况,且一般给定范围较小,如 \(n \leq 16\) 等,遇到这种情况就可以考虑去状压 \(dp\)。 前置知识: 我们知道一个数可以表示成二进制,如 \((25)_{10}=(1101)_2\) 那
P3998 [SHOI2013] 发微博
摘要:P3998 [SHOI2013] 发微博 题目翻译: 题目描述已经较为详细,这就不翻译了。 思路: 考虑暴力: 我们可以给每个人都添加一个关系链,每发出一次一条消息,就将所有与他有关系的答案依次加一。这样就统计出来了。但是这样的复杂度为 \(O(mn)\) 无法过。 考虑优化: 我们发现 \(m\)
同余最短路(学习笔记)
摘要:简介: 同余最短路,光是看名字就会发现与同余和最短路有关。同余最短路常用来解决的问题是: 当出现形如「给定 \(n\) 个整数,求这 \(n\) 个整数能拼凑出多少的其他整数(\(n\) 个整数可以重复取)」,以及「给定 \(n\) 个整数,求这 \(n\) 个整数不能拼凑出的最小(最大)的整数」,
P2286 [HNOI2004] 宠物收养场
摘要:P2286 [HNOI2004] 宠物收养场 题目翻译: 给定 \(n\) 次操作,每次操作会添加一个元素。并且维护一个集合,若当前添加的元素与集合中元素种类相同,则直接添加,若不相同这要将最终答案加上给元素与集合中元素的差的绝对值的最小值,并删除对应的集合中的元素。(特别注意:若有两个元素与添加元
CF2063B Subsequence Update
摘要:Subsequence Update 题目翻译: 给定一个序列。在给定一个区间 \([l,r]\),你可以任意选择几个数,使所选的所有数左右颠倒。求如何颠倒才能使区间内的所有数之和最小。 思路: 若要使整个区间内所有数和最少,那一定就使尽量小的数翻转到区间内。我们发现我们只需要在区间左边或右边选择几
CF2063A Minimal Coprime
摘要:Minimal Coprime 题目翻译: 给定一个区间 \([l,r]\) 求该区间有多少个最短的互质区间,及有多少个子区间使得 \(l_1,r_1\) 只有 \(1\) 一个公约数,且该区间内不包含其他满足条件的区间。 思路: 本题若是直接看给的样例,就可以盲猜一波答案是 \(r-l\) 只有
P1186 玛丽卡
摘要:P1186 玛丽卡 本题与该题差不多,是那道题的加强版。 题目翻译: 给定一个无向连通图,共有 \(n\) 个节点,和 \(m\) 条边。求若可以使任意删除一条边,那怎样删除才能使其最短路长度的增值最多,即让一条路边权删除使得删除后的最短路长度与删除前最短路长度的差最大,并输出这个差。 思路: 本题
P1340 兽径管理
摘要:P1340 兽径管理 题目翻译: 给定 \(n\) 个点,和 \(m\) 条边,每加一条边,就判断其能否将所有点联通,且若使其联通的最小边权和。 思路: 对于求图上的最小边权和,很容易想到最小生成树,我们用 \(kruskal\) 来建最小生成树,每增加一条边就重新运行一次,对于判断是否全部联通,就
P2176 [USACO11DEC] RoadBlock S / [USACO14FEB]Roadblock G/S
摘要:P2176 [USACO11DEC] RoadBlock S / [USACO14FEB]Roadblock G/S 题目翻译: 给定一个无向连通图,共有 \(n\) 个节点,和 \(m\) 条边。求若可以使任意一条边的边权翻倍,那怎样翻倍才能使其最短路长度的增值最多,即让一条路边权翻倍使得翻倍后的
UVA12538 自带版本控制功能的IDE Version Controlled IDE
摘要:自带版本控制功能的IDE Version Controlled IDE 题目翻译: 题目比较简单明了,直接在原题看即可。 思路: 又是一道可以用rope水掉的紫题 用一个 \(past[cnt]\) 的 \(rope\) 来储存历史版本,没修改一次就储存一次,再用 \(now\) 来储存当前版本,其
P3850 [TJOI2007] 书架
摘要:P3850 [TJOI2007] 书架 题目翻译: 原本有 \(n\) 本书,有 \(q\) 次插入操作,可以将任意书插入其中,最后共有 \(q\) 次查询,求某个位置上的书名。 思路: 又是一道可以用rope水掉的紫题 可以用 \(rope\) 储存每一个书名的编号,将对应编号用 insert 直
神级STL结构-rope大法(学习笔记)
摘要:简介: 他是一个 \(STL\) 中自带的一种数据结构,是 pb_ds(Policy-Based Data Structures)库 的一个分支,由于他的底层是可持久化平衡树——红黑树,或块状链表。所以他的操作的复杂度几乎约等于 \(O(logn)\) 或 \(\sqrt n\) 。它可支持操作较多
P1486 [NOI2004] 郁闷的出纳员
摘要:P1486 [NOI2004] 郁闷的出纳员 题目翻译: 维护一个可重数集,共有 \(n\) 次操作,和一个最小限制 \(min\),共有四种操作: \(I\) \(k\) 给集合添加 \(k\) 若 \(k<min\) 则直接删除(不算入删除个数) \(A\) \(k\) 将集合中的所有元素加上
P2234 [HNOI2002] 营业额统计
摘要:P2234 [HNOI2002] 营业额统计 题目翻译: 给定 \(n\) 个数,每一个数都要统计其最小波动值,波动值的定义是当天银收额和之前某次的营收额的差的绝对值,而要求每一天最小波动值的和(第一天波动值为当天营收额) 思路: 分析题目可以发现,最小波动值就是当天营收额与之前小于它的最大营收额的
平衡树-Splay(学习笔记)
摘要:P3369 【模板】普通平衡树 借鉴文章 二叉搜索树: 定义: 他是一颗节点上带有权值的二叉树 空树是二叉搜索树 若根节点的左子树不为空,则左子树内点的权值均小于根节点的权值 若根节点右子树不为空,则右子树内点的权值均大于根节点的权值 换句话说,若用中序遍历这棵树,随后的序列单调不减: 如图 这里要
莫队套分块-学习笔记
摘要:莫队套分块 P4396 [AHOI2013] 作业 题目翻译: 给定一个长度为 \(n\) 的序列,\(m\) 次询问,每一次给出 \(l,r,a,b\) 及求在区间 \([l,r]\) 间在值域 \([a,b]\) 的所有数的个数,和数的种数。 算法理解: 莫队套分块,显而易见就是在运用莫队的前提
目录
摘要:一.算法: \((1)\)图论: \(1.\)最短路——\(dijkstra\)(学习笔记) \(2.\)最小生成树(学习笔记) \(3.\)拓扑排序(学习笔记) \(4.\)最近公共祖先LCA(学习笔记) \(5.\)同余最短路(学习笔记) \((2)\)数据结构: \(1.\)线段树(学习笔记)
莫队-带修莫队(学习笔记)
摘要:P1903 [国家集训队] 数颜色 / 维护队列 简述: 我们发现莫队的操作是离线的,且只能经行查询工作,但如果遇到需要修改的题目该如何办。这时候就需要用带修莫队来维护了,带修莫队也是一种离线算法,复杂度也约等于 \(O(n\sqrt n)\) 原理: 我们可以在维护一个修改的时间刻。也就是修改的时
P4462 [CQOI2018] 异或序列
摘要:P4462 [CQOI2018] 异或序列 题目翻译: 本题题意还算时比较简单明了的,我就不翻译了 思路: \(1.\) 首先考虑转换,要求一个区间 \([l,r]\) 的区间异或和其实就是求其 \(1 \sim r\)的异或和异或 \(1 \sim l-1\)的异或和,证明很简单,\(x \big
P3709 大爷的字符串题
摘要:P3709 大爷的字符串题 题目翻译: 这道题充分的体现了信竞对语文的要求之高,读一个小时也读不懂 给出一个长度为 \(n\) 的序列,\(m\) 次询问,求区间 \([l,r]\) 间的众数的个数。 思路: 又是求区间值,考虑莫队。发现我们只需要用莫队来维护区间内每一种数的个数,然后找到数量最多的
莫队-普通莫队(学习笔记)
摘要:莫队 引言: 莫队是一种运用了分块思想的一种用来解决区间问题的算法,由于他是由国家集训队队长莫涛提出的算法,因此取名莫队。注意普通莫队的基本时间复杂度为 \(O(n\sqrt n)\),并且他是一种离线算法,所以强制在线的算法不能使用 思想: 若我们想要知道某一区间内有多少种不同的值和每一种的个数。
P2709 小B的询问
摘要:P2709 小B的询问 题目翻译: 给定一个长度为 \(n\) 的序列 \(a\),\(m\) 次询问,每次给定一个区间 \([l,r]\) 求这个区间内出现的每一种数字的个数的平方和 思路: 发现是区间的查询次数,考虑使用莫队来离线处理答案,主要部分没有太大区别,主要是在更新删减点的时候做改变。
P2564 [SCOI2009] 生日礼物
摘要:P2564 [SCOI2009] 生日礼物 题目翻译: 给你每个珠子的位置和种类,你要求出一个最小的区间,使里面包含所有种类的珠子。 思路: 我们可以发现,若一个区间的边缘上的珠子,在该区间内已经有了,那这个珠子就没必要拿,那我们只需要找到第一个包含所有的区间,在从左往又看,看这个珠子能否删去,若能
P3522 [POI2011] TEM-Temperature
摘要:P3522 [POI2011] TEM-Temperature 题目翻译: 给定每一天温度的可能区间,求最长的一段时间,使其每天可能的温度不下降。 思路分析: 我们可以发现,若某一天可以加入前面的区间。那他的最高温度一定大于之前区间内最低温度的最大值(显而易见,若小于,那这段的温度一定下降)所以我们
P4653 [CEOI2017] Sure Bet
摘要:P4653 [CEOI2017] Sure Bet 题目翻译: 我们可以选取任意数量的灯泡,其中灯泡有两种,每一个灯泡都有一个价值,而每取一个灯泡都会消耗一个价值,而我们要求的是,最后若只计算一种种类的灯泡的话,那获得价值较小的最大值。 思路分析: 我们根据题意可已发现我们的目标:若所选第一种的灯泡
树状数组(学习笔记)
摘要:例题一:P3374 【模板】树状数组 1 例题二:P3368 【模板】树状数组 2 作用: 特征: 一个多用于区间修改,和单点查询。或区间查询单点修改的数据结构,其代码量较少,比较好写。 区别: 它与线段树的功能差不多,但线段树的可拓展性更强。也就是说:树状数组能做的,线段树都能做;而线段树能做的,
P9806 [POI2022~2023R1] poc
摘要:P9806 [POI2022~2023R1] poc 题目翻译: 给定一个一序列 \(A\),表示每节车厢的类型,在给出一个一个序列 \(B\),这个序列是从 \(A\) 中可以选出来,求 \(A\) 序列的那些点是可能选到的 思路: 我们阅读题目可以发现,若一个数在 \(A\) 中可以取的话,那他
P11269 【MX-S5-T3】IMAWANOKIWA (Construction ver.)
摘要:P11269 【MX-S5-T3】IMAWANOKIWA (Construction ver.) 题目翻译: 对一个初始长度为 \(n\) 的序列 \(a\) 进行操作,每次操作可以任选两个相邻的数 \(a_j,a_{j+1}\) 将这两个数删去,在加上 \(popc(a_j+a_{j+1})\)
AT_arc178_d [ARC178D] Delete Range Mex
摘要:[ARC178D] Delete Range Mex 题目翻译: 给定一个长度为 \(M\) 且值域为 \([1,N-1]\) 的整数序列 \(A\),及目标序列。我们要对为 \((0,1,2,…,N-1)\) 所组成的序列\(P\)的不同排序进行统计,统计有多少种排序使其在任意次数的操作下变为 \
P4513 小白逛公园
摘要:P4513 小白逛公园 题目翻译: 给定一个长度为\(n\)初始序列,并进行\(m\)次询问,求一个区间类的最大连续子序列的大小,或者单点修改。 思路: 看到单点修改和区间查询可以很容易想到线段树,那如何用线段树来维护最大连续子序列。我们考虑给线段树维护以下参数: \[$lm,rm,sum,mx$
P4767 [IOI2000] 邮局 加强版
摘要:P4767 [IOI2000] 邮局 加强版 双倍经验P10967 [IOI2000] 邮局(原始版) 题目翻译: 给定村庄数量\(v\)和邮局数量\(p\)求如何放置邮局才能使每个村庄到邮局的距离和最小 思路: 法一: 我们可以很快看出一个关系,令\(dp[i][j]\)表示前\(i\)个村庄放置
P3205 [HNOI2010] 合唱队
摘要:P3205 [HNOI2010] 合唱队 题目翻译: 太简单了,就不翻译了 思路: 一道很不像区间\(dp\)的区间\(dp\),我们知道,不管是理想队形,还是初始队形,其大小都为\(n\),那我们令\(i,j\)表示已经加入的队形在最终队形的\(i\)到\(j\)中则令\(f[i][j][0]\)
P1220 关路灯
摘要:P1220 关路灯 题目翻译: 给定一段路,路上每个灯的位置,和每个灯的功率。并给出老张的初始位置,求出一个方案,使得老张关完所有灯时所消耗的电量最小,并输出最小电量 思路: 只是一道很明显的区间\(dp\),有与每关完一个区间内的灯时,老张可嫩在这个区间的左边或右边,那我令\(dp[i][j][o
区间DP(学习笔记)
摘要:P1880 [NOI1995] 石子合并 特点: \(1.\)合并: 他可以有两个或多个区间合并而成进行求解,反之亦然 \(2.\)求解: 对于求每个区间的最优解,可以来求其子区间的最优解来合并转移,如一区间的最优解是其左右区间合并的最优解,那就合并左右子区间的最优解来求该区间的最优解 实现: \(
P1525 [NOIP2010 提高组] 关押罪犯
摘要:P1525 [NOIP2010 提高组] 关押罪犯 题目翻译: 题目的意识就是要把所有罪犯给分成两组,使其中有仇恨的囚犯尽可能少。或者使每个组的影响度最小; 思路: 我们可以发现,若两个人有仇恨的话,那尽量使这两个人不在一组即可。我们因此可以想到把所有罪犯仇恨所造成的影响从大到小进行排序。影响越大的
P1111 修复公路
摘要:P1111 修复公路 思路: 本题我们可以运用贪心的思想,将修剪每条路的时间从小到大进行排序,然和用并查集来依次加入道路所连接的两个村庄。若两个村庄已经在同一个集合里,代表这两个村庄联通。我们只需要找到连接村庄的道路的最大修建时间,输出即可。但要在输出前遍历每个点,看它们是否在一个集合里。不在就输出
最小生成树(学习笔记)
摘要:最小生成树\(kruskal\) P3366 【模板】最小生成树 作用: 可以用来在一个无向连通图中找到一颗生成树,使其边权之和最小 算法原理: \(kruskal\)运用了贪心的思想;也就是说每一次都找最短的边。因此我们只需要将所有边储存下来,再将他们从小到大进行排序,在遍历每一个边,若这个边的两
P3623 [APIO2008] 免费道路
摘要:P3623 [APIO2008] 免费道路 题目翻译: 给定一个无向联通图,图中的边有两种类型\(1\)或\(0\),求生成一棵树使得类型为\(0\)的边要为\(k\)个。 思路: 阅读题目发现,最后的图要是一棵树,使得上面边为\(0\)的个数为\(k\),我们可以想到先找到,\(k\)个边在找其他
P5836 [USACO19DEC] Milk Visits S
摘要:P5836 [USACO19DEC] Milk Visits S 题目翻译: 给出一棵树,求任意两点间的唯一路径上是否有\(G\)或\(H\) 思路: 这是一道\(LCA\)的变形,这一次要维护的是路径上有的点。令\(f[u][i][0]\)为\(u\)节点的\(2^i\)次父亲节点。\(f[u][
P1351 [NOIP2014 提高组] 联合权值
摘要:P1351 [NOIP2014 提高组] 联合权值 题目翻译: 给定一个\(n\)个节点,\(n-1\)条边的无向连通图。及一颗无根树。求任意两个相距为\(2\)的点求其联合权值\(w_i \times w_j\),输出所有联合权值的和对\(10007\)取模后的结果和最大值(注意:只有和需要取模,
P4281 [AHOI2008] 紧急集合 / 聚会
摘要:P4281 [AHOI2008] 紧急集合 / 聚会 题目翻译; 给你一颗数,边权为\(1\),在,给你\(x,y,z\)三个节点,求一个节点,使\(x,y,z\)到该节点的花费最小 思路: 求树上路径,我们一定会想到\(lca\),但本题要求求出\(3\)个点,那我们先求出两两之间的\(lca\)
P2391 白雪皑皑
摘要:P2391 白雪皑皑 题目翻译: 给定\(n,m,p,q\),先进行\(m\)次染色操作,将 \((i*p+q)\) \(mod\) \(n+1\) 到 \((i*q+p)\) \(mod\) \(n+1\)赋值为\(i\),求最后这\(n\)片雪花被染成什么颜色 题目分析: 我们分析区间\(l\)
P1347 排序
摘要:P1347 排序 题目翻译: 给出\(m\)个关系,求是否能找到他们之间的大小关系。根据能,有冲突,不能来分别作答 思路: 我们可以把小的向大的建一条边,则若\(a\)能到\(b\),则\(a\)比\(b\)小,根据这个原理,我们可以进行拓扑排序,来求出所有点的位置,若要分别讨论三种情况,我们可以得
P2419 [USACO08JAN] Cow Contest S
摘要:\(P2419 [USACO08JAN] Cow Contest S\) 题目翻译: 给出\(N\)和\(M\),\(N\)为牛的个数,\(M\)为关系总数,再给出\(M\)个关系\(a,b\)及\(a\)与\(b\)相比\(a\)能获胜。求有多少牛能确定它的排名 思路: 要求出哪些牛能够找出排名,
最近公共祖先LCA(学习笔记)
摘要:\(LCA\) P3379 【模板】最近公共祖先(LCA) 定义: 在一棵树上,任意两个节点,往上找的最近的公共根节点就是他们两个的最近公共祖先\(LCA\) 作用: 可用于求树上任意两个点的路径和其路径的权值关系,如边权最大值,边权和等,都是以\(logn\)的复杂度 实现: 倍增: 倍增,顾名思
各种工具,网址
摘要:网址: \(1.\)原题机 \(2.\)建图工具 \(3.PDF\)转图片等 \(4.\)各种格式转换 \(5.\)小游戏 指令: \(1.\)“taskkill /f /im studentmain.exe”关闭极域 \(OJ\): \(1.\)洛谷 \(2.flareoj\) \(3.Atcod
拓扑排序(学习笔记)
摘要:\(topusort——Kahn\) B3644 【模板】拓扑排序 / 家谱树 定义: 拓扑排序是指在一有向无环图中,找到一点的顺序,使得每一个排在前面的树不能依赖后面的节点,及后面的节点无法到达前面的节点 作用: 拓扑排序可以判断图中是否有环,还可以用来判断图是否是一条链。拓扑排序可以用来求 AO
P1137 旅行计划
摘要:P1137 旅行计划 题目翻译: 给你一个图,求出每一个点西方有多少点可以到 思路: 我们可以发现,要求只能从西往东走,着可以发现这就是一个拓扑排序的过程,但要求出西方有多少个点,这我们可以给每一个节点设置一编号,及他前方点的个数(答案),在拓扑一个新的入度为零的点将他的值改成前面点的值加一即可 完
P1194 买礼物
摘要:P1194 买礼物 题目翻译: 给出每一个物品的价钱,和每两个物品同时买的价钱,求怎样买才能使花费最少 思路: 我们若要使花费最小,也就是求选择单个买和连着买。但我们并不知道如何选择。所以我们假设一个虚拟的节点\(0\),在\(0\)和其他任意物品前连接一条边,就相当于\(0\)和其它物品同时买,也
P1396 营救
摘要:P1396 营救 题目翻译: 有一个无向图,给出起点\(s\)和终点\(t\)要求出一条路径,使这条路径上边权的最大值最小 思路: 看到这道题我们就会想到最短路,但是最短路求的使边权和最小,这里我们可以用\(dijkstra\)来求解,只需要在对边进行松弛的时候跟改一下条件,使\(dis\)储存当前
并查集(学习笔记)
摘要:用处: 并查集是一种用来处理不同集合之间的关系的算法。正如它名字一样它本身就是一个可以合并,查询的树形集合。它可以用来做分组类型的题。具体功能,拓展和原理 实现: 基本功能的实现: \(1.\)初始化,我们令每一个参加计算的点的父亲设为他自己:即初始时就有\(n\)个集合,每个点就算一个; void
P1195 口袋的天空
摘要:P1195 口袋的天空 题目翻译: 我们要把\(n\)朵云连成\(k\)个连通块,使花费最小 思路: 我们若要使花费最小,也就是使其连的边越少,那就相当于要连\(k\)个树,因为树的边最少,因此运用贪心的思想,我们只需要连接\(1\)棵最小生成树,在留下\(k-1\)个点不连即可 实现: 最小生成树
P4145 上帝造题的七分钟 2 / 花神游历各国
摘要:P4145 上帝造题的七分钟 2 / 花神游历各国 题目大意: 本体总共就两个操作: \(1.\)为将\(l\)至\(r\)区间内的所有数开根,及\(a_i=\sqrt a_i\); \(2.\)输出\(l\)至\(r\)区间内的所有数的和 思路: 既然是区间修改和区间查询,那是个蒟蒻都能想到用线段
P2984 [USACO10FEB] Chocolate Giving S
摘要:P2984 [USACO10FEB] Chocolate Giving S 题目理解: 本题就是给你一个无向图,求从其中一个点到另一个点(其中必经过\(1\)号点)的最短路。我们只需要转换一下,也就是求从一号点到任意一点的最短路,询问时只需要输出一号点到那两个点的最短路和即可。用\(Dijkstra
最短路——dijkstra(学习笔记)
摘要:\(dijkstra\) 例题 P4779 【模板】单源最短路径(标准版) 作用: dijkstra是一种用来处理非负边权的单源最短路,在特定情况下,他比其他常用算法都较快。在做图论时有较大用处。 算法原理: \(dijkstra\)运用了贪心的思想;也就是说每一次都找最短的边。其过程是: 1.先定
P2471 [SCOI2007] 降雨量
摘要:P2471 [SCOI2007] 降雨量 题目翻译: 题目的意思是给你某些年的降雨量,在有\(n\)次查询,给定两个年份\(x,y\),问\(x\)年的降雨量是否是自\(y\)年以来最大的; 思路: 本题的时间过大,所以可以离散化。然后对于题目要求,是要求最大的,因此可以用线段树来维护区间最大值(因
P4588 [TJOI2018] 数学计算
摘要:P4588 [TJOI2018] 数学计算 思路: 这次题目很简单,应该都看得懂 QwQ 这道题因为数据很大,要取模,但在操作中要进行除法运算,对一个已经取了模的数进行除法运算会使它不正确,还有可能变为小数。因此不能用普通思路。 但我们发现它每一次除的都是之前乘过的树,换句话说就可以将之前乘的树变为
P1198 [JSOI2008] 最大数
摘要:P1198 [JSOI2008] 最大数 题目翻译: 有两个操作,一个是查找\(L\)到末尾的最大值,另个是将\(n+t\),\(t\)为上一次查找的结果对\(D\)取模后加到末尾。 方法: 用线段树维护区间最大值,将初始线段树大小设为\(M\),因为最多加入\(M\)个点。每一次保留上一次查询的结
线段树(学习笔记)
摘要:线段树 例题 一.功能: 线段树可以用来处理区间问题如 “区间和” 虽然区间和可以用前缀和解决,用\(O(1)\) 的复杂度进行查询,但修改需要\(O(n)\)的复杂度。同理差分可以以\(O(1)\)的复杂度进行修改,但需要\(O(n)\)的复杂度进行查询。 所以线段树可以同时用\(O(logn)\
U455764 The Rotation Game
摘要:U455764 The Rotation Game 题目理解 本题要求移动\(A-H\)中的一列或一行,使其整个一行和一列的数字移动,使最后的中间8个的数字相同。求最少需要移动的步数和它的操纵顺序 思路 1.本题可以很显然的想到用 \(BFS\) 来枚举执行不同字母操作后结果,但每 \(BFS\)
U208362 分为互质组
摘要:U208362 分为互质组 题目与P10483 小猫爬山相识 只需要将判断条件改为是否互质即可 小猫爬山题解 代码: #include<bits/stdc++.h> using namespace std; int a[100]; vector<int>sum[100]; int n,w; bool
P10483 小猫爬山
摘要:P10483 小猫爬山 背景 这是一道 \(DFS\) 是个人就能看出来 而我第一种方法没有过( 哭死 )结果把\(DFS\)的对象改一下就过了 本题与 U208362 分为互质组 方法相同 分析题目 题目要求就是最少需要多少缆车才能装完所有小猫,因此小猫的重量可以少于缆车的载重,但不能大于(意思就
P3456 [POI2007] GRZ-Ridges and Valleys
摘要:P3456 [POI2007] GRZ-Ridges and Valleys 背景 本人蒟蒻,只会写 DFS 。本题 BFS 更好 思路 这是一道很明显的搜索题,题目要求我们找到山峰和山谷 山峰? 不就是在这个高度周围没有比它跟高的地方 山谷? 不就是在这个高度周围没有比它更矮的地方 因此我们只需要
P5663 [CSP-J2019] 加工零件
摘要:P5663 [CSP-J2019] 加工零件 思路 1.根据题意我们可以发现第\(a\)个工人想生产一个\(L\)阶段的零件就相当于从\(a\)点向相邻的工人走,没到一个工人等级减一 (不考虑往回传) 这不是就在图上走吗? 2.我们又发现每到一个点它就会往所有相邻的工人(节点)走,包括上一个。所以如
CF1253F Cheap Robot
摘要:Cheap Robot 题目翻译: 给一个带\(N\)个点的带权无向连通图,并给定\(k\)每经过一个边就要消耗边的边权\(w\),而当到达\(1 \sim k\)的节点处可以将点充满。求从\(a\)到\(b\)所需要的最小点容量\(c\)。及一次性消耗的电量不能超过\(c\)。 前置知识: \(1