随笔分类 -  OJ---洛谷

摘要:题目:https://www.luogu.org/problemnew/show/P2396 题意:有n个数,每次选择一个表示走$a[i]$步,每个数只能选一次。 最多有两个厄运数字,如果走到了厄运数字就不能继续走下去了。 选完所有数有多少种方案。 思路:n很小,状压。 用state表示已经选了哪几 阅读全文
posted @ 2019-07-09 20:04 wyboooo 阅读(231) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P2221 题意:有n个节点排成一条链,相邻节点之间有一条路。 C u v val表示从u到v的路径上的每条边权值都加val。 Q l r表示在l到r中等概率选择两个城市的路径长度的期望值。 思路:首先期望值的分子肯定 阅读全文
posted @ 2019-07-09 17:32 wyboooo 阅读(247) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1050 题意:给定一个数$n$,问$n$的幂次的最低$k$位的循环节是多少。 思路:这真是我做过最难的java大数了!!!!【我太菜了】 六月去清华的机试题之一,当时觉得好像很眼熟没做出来。拖延症患者今天终于参考着 阅读全文
posted @ 2019-07-06 22:04 wyboooo 阅读(315) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1972 题意:给定一个长度为n的序列,数字表示珠子的种类。m次查询每次询问给定区间内珠子的种类数。 思路:可以说是运用了前缀和的思想吧。从前到后的去处理查询,而对于某一个查询区间,如果某一个种类出现了多次的话我们只 阅读全文
posted @ 2019-07-02 15:20 wyboooo 阅读(247) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1265 题意:有n个城市的坐标,每个城市申请和自己最近的城市建路,这之后他们就被视为一个城市。 继续下去直到所有城市都是一个城市。问最少建多少路。题目里说如果形成了环的话,就要去掉路最短的那个。 但是城市一个个请求 阅读全文
posted @ 2019-07-02 09:28 wyboooo 阅读(231) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1991 题意:有p个点的坐标,可以有s个点使得这s个点之间可以无限制通信。 要使所有点之间两两有通信的路径(可以是间接的),其中最长的一段通信路径是多长。 思路:最近都不好好看题。上一题没看清-1,这一题没看清精确 阅读全文
posted @ 2019-07-01 21:53 wyboooo 阅读(171) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1346 题意:n个路口,每个路口有好几条轨道,默认指向给出的第一个路口。 如果要换到另外的轨道去需要按一次开关。问从a到b最少需要几次开关。 思路:可以把默认的路口的轨道权值设为0,其他的权值都是1,不通的权值都是 阅读全文
posted @ 2019-07-01 19:37 wyboooo 阅读(191) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P2051 题意:n*m的格子里放炮,使他们不能互相攻击。 如果两个炮在同一行同一列并且中间还有一个棋子的话就可以攻击。问有多少种放炮的方案。 思路:首先根据规则,可以推出任意的行和列中炮的个数都不能超过2个。 可以尝 阅读全文
posted @ 2019-06-29 18:15 wyboooo 阅读(253) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P2577 题意:n个人每个人有一个打饭时间和吃饭时间,将他们分成两个队伍。每个人打到饭之后就马上去吃饭。问怎么安排可以让总体的吃饭时间最短。 思路:首先贪心还是很好想的。某个队伍的总吃饭时间实际上是打饭结束+吃饭时间 阅读全文
posted @ 2019-06-29 15:24 wyboooo 阅读(195) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1169 题意:n*m的黑白格子,找到面积最大的黑白相间的正方形和矩形。 思路:传说中的悬线法!用下面这张图说明一下。 悬线法一般是用来求一个没有障碍点的最大子矩阵的。想象从上面垂下来好多的悬线,这些悬线被一个底所限 阅读全文
posted @ 2019-06-29 14:21 wyboooo 阅读(336) 评论(0) 推荐(0)
摘要:【内含最小生成树Prim模板】 题目:https://www.luogu.org/problemnew/show/P1546 题意:给定一个邻接矩阵。求最小生成树。 思路:点少边多用Prim。 Prim其实是把已经在最小生成树里的节点缩成一个,用priorityqueue每次找到距离当前最小生成树距 阅读全文
posted @ 2019-06-27 11:19 wyboooo 阅读(192) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1144 题意:问1到各个节点的最短路有多少条。 思路:如果松弛的时候发现是相等的,说明可以经过该点的最短路径到达当前点,也就是说最短路径变多了。 阅读全文
posted @ 2019-06-27 10:34 wyboooo 阅读(242) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1339 题意:给定一张图,问起点到终点的最短路。 思路:dijkstra板子题。 很久没有写最短路了。总结一下dijkstra的步骤吧。 d数组用于表示当前最短路径,vis数组用于标记当前点是否已经在最短路集合中了 阅读全文
posted @ 2019-06-26 09:50 wyboooo 阅读(212) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1273 题意:一棵树,叶子节点是用户,每天边有一个权值表示花费,每一个用户有一个值表示他们会交的钱。 问在不亏本的情况下,最多可以选择多少个用户,让他们得到从根节点(1)发送出的服务。 思路:本来很天真的以为是先d 阅读全文
posted @ 2019-06-25 18:42 wyboooo 阅读(156) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P2279 题意:一棵树。在节点处建消防站,可以覆盖与他距离在2之内的节点。问最少要建多少个消防站,可以覆盖所有的节点。 思路:有一种贪心的思路,看大部分题解都是这样。 如果要覆盖当前节点(自己不建),那么可能是父亲, 阅读全文
posted @ 2019-06-25 10:50 wyboooo 阅读(217) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1220 题意:给定n盏灯的位置和功率,初始时站在第c盏处。 关灯不需要时间,走的速度是1单位/秒。问把所有的灯关掉,最少功率是多少。 思路:看上去是区间dp还挺清楚的。因为关灯不需要时间,既然路过了就顺便关了吧。所 阅读全文
posted @ 2019-06-24 22:04 wyboooo 阅读(209) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1330 题意:一个无向边,一个河蟹可以占领一个点,但一个点只能被一个河蟹占领。 占领了一个点之后,这个点所有的边都删除。 问至少需要多少个河蟹可以让所有的边都被删除。 思路: 乍一看有点无从下手。但实际上这个题就是 阅读全文
posted @ 2019-06-22 17:05 wyboooo 阅读(252) 评论(0) 推荐(0)
摘要:应用:线性时间内求出无向图的割点与桥,双连通分量。有向图的强连通分量,必经点和必经边。 主要是求两个东西,dfn和low 时间戳dfn:就是dfs序,也就是每个节点在dfs遍历的过程中第一次被访问的时间顺序。 追溯值low:$low[x]$定义为$min(dfn[subtree(x)中的节点], d 阅读全文
posted @ 2019-06-22 16:27 wyboooo 阅读(901) 评论(0) 推荐(1)
摘要:题目:https://www.luogu.org/problemnew/show/P2661 题意: 有一个有向图,问最小环的的大小。 思路: 明明是图的遍历,但是bfs会T。第二组下下来的数据n居然是12位的我也搞不懂怎么这么奇怪。 总之用并查集可以做。这个题每个点只有一个出边。 如果有一条从x到 阅读全文
posted @ 2019-06-20 10:18 wyboooo 阅读(249) 评论(0) 推荐(0)
摘要:题目:https://www.luogu.org/problemnew/show/P1196 题意:有好多好多舰队排成一排。 M i,j表示将编号i舰队所在的列排到编号j舰队所在列的后面。 C i,j表示查询编号i舰队和编号j舰队如果在一列,中间间隔了多少只舰,如果不在同一列输出-1 思路: 很自然 阅读全文
posted @ 2019-06-17 21:19 wyboooo 阅读(139) 评论(0) 推荐(0)