随笔分类 -  洛谷

摘要:P2024 [NOI2001] 食物链 题目简述 [NOI2001] 食物链 题目描述 动物王国中有三类动物 $A,B,C$,这三类动物的食物链构成了有趣的环形。$A$ 吃 $B$,$B$ 吃 $C$,$C$ 吃 $A$。 现有 $N$ 个动物,以 $1 \sim N$ 编号。每个动物都是 $A,B 阅读全文
posted @ 2023-01-03 15:55 paper_plane 阅读(26) 评论(0) 推荐(0)
摘要:[NOI2015] 程序自动分析 题目简述 输入的第一行包含一个正整数 $t$,表示需要判定的问题个数。注意这些问题之间是相互独立的。 对于每个问题,包含若干行: 第一行包含一个正整数 $n$,表示该问题中需要被满足的约束条件个数。接下来 $n$ 行,每行包括三个整数 $i,j,e$,描述一个相等/ 阅读全文
posted @ 2023-01-01 18:37 paper_plane 阅读(46) 评论(0) 推荐(0)
摘要:P1196 [NOI2002] 银河英雄传说 题目简述 M i j:$i$ 和 $j$ 是两个整数($1 \le i,j \le 30000$),将 $i$ 和 $j$ 合并 C i j:$i$ 和 $j$ 是两个整数($1 \le i,j \le 30000$),询问 $i$ 和 $j$ 是否在同 阅读全文
posted @ 2022-12-31 11:08 paper_plane 阅读(30) 评论(0) 推荐(0)
摘要:P3372 【模板】线段树 1 题目简述 对于一段数列,有如下两种操作 1 x y k:将区间 $[x, y]$ 内每个数加上 $k$。 2 x y:输出区间 $[x, y]$ 内每个数的和。 思路 线段树裸树 代码 #include<bits/stdc++.h> #define ll long l 阅读全文
posted @ 2022-12-21 00:16 paper_plane 阅读(28) 评论(0) 推荐(0)
摘要:P3378 【模板】堆 ##题目简述 给定三个操作,求数列中最小的数,删除数列中最小的数,插入一个新的数 ##思路 板子题没什么好说,用 stl 自带的优先队列很好写,但手写的也要掌握。 建议参考这篇博客 ##代码 #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2022-12-20 23:20 paper_plane 阅读(23) 评论(0) 推荐(0)
摘要:#P1197 [JSOI2008] 星球大战 ##题目简述 对于n个的点,他们之间有m条边,连接起来的点可以组成连通块,求每次破环一个点后剩余连通块个数 ##思路 还是不错的一道题,这题可以用并查集来做,正着做肯定行不通,所以我们倒着来建边,对于每次新加入的一个点,我们用链式前向星把他所连接的边都找 阅读全文
posted @ 2022-12-16 15:14 paper_plane 阅读(39) 评论(0) 推荐(0)
摘要:#P2085 最小函数值 ##题目简述 对于n个函数 $f_i(x)$ ,在 x 均为正整数情况下,求这些函数值中最小的m个 ##思路 大水题,裸的堆,主要记录一下重载运算符写法以及结构体套优先队列到底是怎么写的qwq #代码 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2022-12-15 22:22 paper_plane 阅读(27) 评论(0) 推荐(0)
摘要:#P1908 逆序对 ##题目简述 求数列中逆序对个数 ##思路: 方法一: 利用树状数组,倒着来做(类似思想同P1168 中位数) 方法二: 利用归并排序,每次排序后可以利用其单调性性质直接算出答案(详细参考这个) ##代码 方法一: #include<bits/stdc++.h> #define 阅读全文
posted @ 2022-12-14 20:06 paper_plane 阅读(42) 评论(0) 推荐(0)
摘要:#P1168 中位数 ##题目简述 给出一个长度为$N$的非负整数序列$A_i$,对于所有$1 ≤ k ≤ (N + 1) / 2$,输出$A_1, A_1 \sim A_3, …,A_1 \sim A_{2k - 1}$的中位数。即前$1,3,5,…$个数的中位数。 ##思路 很不错的一道题目,有 阅读全文
posted @ 2022-12-14 17:44 paper_plane 阅读(51) 评论(0) 推荐(0)
摘要:P1103 书本整理 题目描述 Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整齐。于是他决定从中拿掉k本书,使得书架可以看起来整齐一点 阅读全文
posted @ 2022-12-13 11:17 paper_plane 阅读(46) 评论(0) 推荐(0)
摘要:P5905 【模板】Johnson 全源最短路 ... 处理负权边的方法十分巧妙,就像是势能一样 算法上文链接有详解,就不赘述了,这样就实现了dij也可以处理负边 是需要提前预处理一遍,建立超级源点用bellman-ford跑一遍就行 然后是第一个问题,总是TLE 然后发现自己dij的板子都打得有问 阅读全文
posted @ 2022-12-13 11:17 paper_plane 阅读(33) 评论(0) 推荐(0)
摘要:#P1160 队列安排 ##题目简述 将N个同学依次插入队伍中,再删除m个同学,求最终的队伍顺序 ##思路 这题是个很好的练习链表的题目,要注意的是在链表的头和尾要搞一个Head和Tail指针,不然超出边界会出错 ##代码 #include<bits/stdc++.h> using namespac 阅读全文
posted @ 2022-12-13 11:16 paper_plane 阅读(57) 评论(0) 推荐(0)
摘要:#P1175 表达式的转换 ##题目简述 给定常规的表达式,将其改写为后缀表达式并把每个中间过程进行的运算结果依次输出 ##思路 思维难度不大,毕竟数据量比较小,暴力就行了,但码量还是有一点的,代码有点丑,日后有机会可以尝试重新写一遍 代码 #include<bits/stdc++.h> using 阅读全文
posted @ 2022-12-13 11:16 paper_plane 阅读(51) 评论(0) 推荐(0)
摘要:#P3378 【模板】堆 ##题目简述 给定三个操作,求数列中最小的数,删除数列中最小的数,插入一个新的数 ##思路 板子题没什么好说,用 stl 自带的优先队列很好写,但手写的也要掌握。 建议参考这篇博客 ##代码 #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2022-12-13 11:15 paper_plane 阅读(16) 评论(0) 推荐(0)
摘要:#P3865 【模板】ST 表 ##题目简述 对于给定的数列,要求以$\theta(1)$的时间复杂度计算出$[l_i,r_i]$中最大值 ##思路 没什么可讲的,但要注意,计算区间长度的对数要是 log2(r-l+1) 不加1的话大多数情况下没问题,但是当 l=r 的时候会报错 BTW,用scan 阅读全文
posted @ 2022-12-13 11:15 paper_plane 阅读(39) 评论(0) 推荐(0)
摘要:#P2661 [NOIP2015 提高组] 信息传递 ##题目简述 第i个人可以将自己的信息传给第$t_i$个人,当有人从别人那里得到自己信息时就结束,问最少要进行多少轮 ##思路 这题感觉真的很巧妙,将每个人看作一个点,对应关系看作是条边的话,那么则是找图里最小的环 本题特殊的地方在于,从任一结点 阅读全文
posted @ 2022-12-13 11:14 paper_plane 阅读(102) 评论(0) 推荐(0)