摘要: https://www.luogu.org/problemnew/show/P2921 开始感觉这题30行代码就可以搞定,还是太菜啦,还是乖乖地写了tarjan。 对图进行缩点,那么这个强联通分量中的点多余一个,那么这个环中的每个点的最长路径就是这个环(因为每个点只有一条连出去的有向边)。 对于不在 阅读全文
posted @ 2018-09-19 16:07 Manjusaka丶梦寒 阅读(197) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2370 二分+背包 阅读全文
posted @ 2018-09-19 16:01 Manjusaka丶梦寒 阅读(194) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1214 首先暴力枚举可以凑出来的数,对于每个数进行标记。 对于每一个等差数列,当我们知道前两个数后即可以得出整个序列,那么我们就要判断序列中的每一个数是否被标记过,合法记录答案。 最后对于答案进行排序,输出。 阅读全文
posted @ 2018-09-19 15:58 Manjusaka丶梦寒 阅读(200) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1483 数据范围不是太大。 一个数组记录给k,记录每个数加了多少。 对于查询每个数的大小,那么就枚举每个数的因子,加上这个每个因子假的数。 阅读全文
posted @ 2018-09-19 15:54 Manjusaka丶梦寒 阅读(208) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2032 为啥不用STL,多方便。 定义一个大根堆,里边放一对数,这个数的大小和位置。 我们对于每次查询,判断首元素的位置是否在[i-k+1,i]这个范围内,不符合的话就弹出来。 代码好写。 阅读全文
posted @ 2018-09-19 15:50 Manjusaka丶梦寒 阅读(153) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2846 好多题解用线段树来写,然而分块不是更简单好些吗? 一个数组use记录这一块进行了多少次开关操作,两边单独计算,注意每次更新两边是也要维护这一块。 查询两边暴力加减,块内循环枚举。 阅读全文
posted @ 2018-09-19 15:44 Manjusaka丶梦寒 阅读(159) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2872 算是比较裸的并查集了,已经有路的两个点之间建一条代价为0的边,路径长度计算两点之间的距离,做并查集就好咯。 阅读全文
posted @ 2018-09-19 15:38 Manjusaka丶梦寒 阅读(215) 评论(0) 推荐(0) 编辑