随笔分类 -  题库------洛谷

摘要:题目来源:洛谷P2296 思路 一开始看还以为是一道水题 虽然本来就挺水的 本道题的难点在于如何判断是否路径上的点都会直接或者间接连着终点 我们需要在一开始多建一个反向图 然后从终点DFS回去 把路径上的点标记 DFS完之后遍历所有的点 如果当前点没有被标记 说明其不会直接或者间接连着终点 那么我们 阅读全文
posted @ 2018-10-26 21:33 Nanchtiy 阅读(176) 评论(0) 推荐(0)
摘要:题目来源:洛谷P2661 思路 运用并查集查找图中最小环的长度 如果A传递信息给B 就从A加一条边指向B 并更新A的父节点 从A到父节点的路径长度为B到父节点的路径长度+1 如果有两个点的祖先相同而且他们之中有一个人要传递信息给另一个人 那么说明他们之间有一个环 环的长度就是他们分别到祖先的路径长之 阅读全文
posted @ 2018-10-25 20:30 Nanchtiy 阅读(161) 评论(0) 推荐(0)
摘要:次元传送门:洛谷P1065 思路 简单讲一下用到的数组含义 work 第i个工件已经做了几道工序 num 第i个工序的安排顺序 finnish 第i个工件每道工序的结束时间 need 第i个工件第j道工序需要的机器 tim 第i个工件第j道工序需要的时间 mac 第i个机器的状态 我们遍历时间线找出 阅读全文
posted @ 2018-10-25 18:33 Nanchtiy 阅读(190) 评论(0) 推荐(0)
摘要:洛谷P1032:https://www.luogu.org/problemnew/show/P1032 思路 初看题目觉得挺简单的一道题 但是仔细想了一下发现实现代码挺麻烦的 而且2002年的毒瘤输入是什么鬼啊 连组数都没有的真的好吗 这道题参考了题解才完成 需要用到我从来没有用过的map来判重 然 阅读全文
posted @ 2018-10-24 20:16 Nanchtiy 阅读(245) 评论(0) 推荐(0)
摘要:洛谷P1967:https://www.luogu.org/problemnew/show/P1967 思路 感觉2013年D1T3并不是非常难 但是蒟蒻还是WA了一次 从题目描述中看出每个点之间有许多条路径 而我们需要的是找出整条路径中最大的最小可通过量 一开始看到题目会想到是不是最大流问题 但是 阅读全文
posted @ 2018-10-22 21:34 Nanchtiy 阅读(213) 评论(0) 推荐(0)
摘要:洛谷P3959:https://www.luogu.org/problemnew/show/P3959 前言 NOIP2017时还很弱(现在也很弱 看出来是DP 但是并不会状压DP 现在看来思路并不复杂 只是存状态有点难想到 思路 因为n最大为12 所以可以想到是状压 因为n<=12 所以可以用邻接 阅读全文
posted @ 2018-10-20 17:39 Nanchtiy 阅读(295) 评论(0) 推荐(0)
摘要:洛谷P2704:https://www.luogu.org/problemnew/show/P2704 思路 这道题一开始以为是什么基于状压的高端算法 没想到只是一道加了一行状态判断的状压DP而已 与普通状压并无多大区别 详细见代码 代码 阅读全文
posted @ 2018-10-19 19:53 Nanchtiy 阅读(227) 评论(0) 推荐(0)
摘要:洛谷P1879:https://www.luogu.org/problemnew/show/P1879 思路 把题目翻译成人话 在n*m的棋盘 每个格子不是0就是1 1表示可以种 0表示不能种 相邻的格子不能同时种 求总方案数 把每行看成一个n位的2进制数 预处理出每行的状态后 进行DP即可 PS: 阅读全文
posted @ 2018-10-18 18:35 Nanchtiy 阅读(169) 评论(0) 推荐(0)
摘要:洛谷P1896:https://www.luogu.org/problemnew/show/P1896 前言 这是一道状压DP的经典题 原来已经做过了 但是快要NOIP 复习一波 关于一些位运算的知识点参考: https://blog.csdn.net/fox64194167/article/det 阅读全文
posted @ 2018-10-17 20:29 Nanchtiy 阅读(297) 评论(0) 推荐(0)
摘要:洛谷P2375:https://www.luogu.org/problemnew/show/P2375 思路 这道题可以说是完全刷新了本蒟蒻对KMP的理解 感觉对next数组的理解上升到一个新的高度 首先题目给出了next数组的定义 关于整个字串 next[len]为前缀与后缀相同的最长长度 我们给 阅读全文
posted @ 2018-10-17 19:43 Nanchtiy 阅读(223) 评论(0) 推荐(0)
摘要:洛谷P3435:https://www.luogu.org/problemnew/show/P3435 思路 来自Kamijoulndex大佬的解释 先把题面转成人话: 对于给定串的每个前缀i,求最长的,使这个字符串重复两遍能覆盖原前缀i的前缀(就是前缀i的一个前缀),求所有的这些“前缀的前缀”的长 阅读全文
posted @ 2018-10-13 11:20 Nanchtiy 阅读(276) 评论(0) 推荐(0)
摘要:洛谷P4391:https://www.luogu.org/problemnew/show/P4391 思路 对于给定的字符串 运用KMP思想 设P[x]为前x个字符前缀和后缀相同的最长长度 则对于题目中的长度len有: len p[len]为第一个重复子串的最后一个字符位置 因此 len p[le 阅读全文
posted @ 2018-10-13 09:00 Nanchtiy 阅读(402) 评论(0) 推荐(0)
摘要:洛谷P4281:https://www.luogu.org/problemnew/show/P4281 思路 答案所在的点必定是三个人所在点之间路径上的一点 本蒟蒻一开始的想法是:先求出2个点之间的LCA 再求出此LCA和第3个点的LCA 但是没有考虑到有可能答案所在点可能比2个点之间的LCA深度更 阅读全文
posted @ 2018-10-12 21:13 Nanchtiy 阅读(355) 评论(0) 推荐(0)
摘要:洛谷P4180:https://www.luogu.org/problemnew/show/P4180 前言 这可以说是本蒟蒻打过最长的代码了 思路 先求出此图中的最小生成树 权值为tot 我们称这棵树中的n-1条边为“树边” 其他m-n+1条边为“非树边” 枚举每条非树边(x,y,z)添加到最小生 阅读全文
posted @ 2018-10-11 22:23 Nanchtiy 阅读(282) 评论(0) 推荐(0)
摘要:洛谷P4145:https://www.luogu.org/problemnew/show/P4145 思路 这道题的重点在于sqrt(1)=1 一个限制条件 与正常线段树不同的是区间修改为开方 那么我们用一个数组记录每个区间的最大值 只有当这个区间的最大值大于1时才需要开方 因此 当我们更新到叶子 阅读全文
posted @ 2018-10-09 19:54 Nanchtiy 阅读(290) 评论(0) 推荐(0)
摘要:洛谷P1198:https://www.luogu.org/problemnew/show/P1198 思路 一道水水的线段树 20分钟A掉 这道题只涉及到单点修改和区间查询 所以这道题甚至不用Lazy-Tag 每次加入一个新的点就是修改一个节点 总区间长为操作次数m (假设所有操作都为添加一个节点 阅读全文
posted @ 2018-10-09 19:04 Nanchtiy 阅读(141) 评论(0) 推荐(0)
摘要:洛谷P2023:https://www.luogu.org/problemnew/show/P2023 思路 需要2个Lazy-Tag 一个表示加的 一个表示乘的 需要先计算乘法 再计算加法 来自你谷milkfilling大佬的解释: ①加法优先,即规定好segtree[root*2].value= 阅读全文
posted @ 2018-10-08 21:34 Nanchtiy 阅读(159) 评论(0) 推荐(0)
摘要:思路 看到n using namespace std; define maxn 110 int n,num,ans=1e9+7; int map[maxn][maxn];//存图 struct sq { int x1; int x2; int y1; int y2; int col; bool vi 阅读全文
posted @ 2018-10-02 12:58 Nanchtiy 阅读(386) 评论(0) 推荐(0)
摘要:洛谷P1074:https://www.luogu.org/problemnew/show/P1074 思路 这道题一看就是DFS 打一个分数表方便后面算分 我用x y z数组分别表示行 列 宫 是否有放置数字 用cnt结构体中no和zero分别表示每行行号和每行的零的数量(下面会讲到为什么) 我们 阅读全文
posted @ 2018-09-29 20:05 Nanchtiy 阅读(230) 评论(1) 推荐(1)
摘要:洛谷P1120:https://www.luogu.org/problemnew/show/P1120 思路 明显是搜索题嘛 但是这数据增强不是一星半点呐 我们需要N多的剪枝 PS:需要先删去超出50的木棍 首先我们可以想到枚举每个小木棍的长度来搜索 但是直接枚举肯定会超时的 所以我们想到优化剪枝 阅读全文
posted @ 2018-09-28 22:07 Nanchtiy 阅读(519) 评论(0) 推荐(0)