08 2021 档案

摘要:问题描述: 对一棵有根树执行一次DFS,可以得到一个前序遍历和一个后序遍历, 设它们的最长公共子序列长度和方案数分别是 f,g 。 DFS时可以任意调整子树顺序,不同顺序的DFS会得到不同的前序和后序遍历。 设最长公共子序列长度的最大值是 F ,方案总数是 G 。 即 F=max所有DFS顺序(f) 阅读全文
posted @ 2021-08-21 16:37 kzsn 阅读(141) 评论(1) 推荐(0)
摘要:问题描述: 一棵有根树,规定根节点深度为 0 ,其他节点深度等于父亲的深度 +1 。 有一棵多叉树,你需要把它按照“左儿子右兄弟”的规则转化为二叉树。 设节点 x 转化前后深度分别为 d1[x],d2[x] , 则转化的代价为∑∣d1[x]−d2[x]∣ 请你分别求出最小代价和最大代价。 分析: 考 阅读全文
posted @ 2021-08-21 16:35 kzsn 阅读(364) 评论(0) 推荐(0)
摘要:问题描述: p6pou在平面上画了n个点,并提出了一个问题,称为N-Points问题,简称NP问题。 p6pou首先在建立的平面直角坐标系,并标出了这n个点的坐标。 这n个点的坐标都是正整数,任意三个点都不共线。 然后,p6pou选择其中一个点A,画一条y轴的平行线,这条直线称为l。 直线l以A点为 阅读全文
posted @ 2021-08-21 16:33 kzsn 阅读(226) 评论(0) 推荐(0)
摘要:1.NP问题; 2.多叉树转二叉 3.最长公共子序列 4.最小生成树 阅读全文
posted @ 2021-08-21 16:32 kzsn 阅读(46) 评论(0) 推荐(0)
摘要:数位dp 数位dp是一种计数用的dp,一般就是要统计一段区间$[L,R]$内,满足一定条件的数的个数,或者各个数位的个数。 数位dp使得暴力枚举变为满足一定状态的记忆化,更加优秀。 数位dp常常会考虑以下问题: 1.前导零的处理$lead$ 2.枚举的上界$limit$ 3.得到答案的条件 一般数位 阅读全文
posted @ 2021-08-21 12:01 kzsn 阅读(80) 评论(2) 推荐(0)
摘要:见 AC自动机(补坑了) [SDOI2014] 数数 简要题意: 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为子串。例如当S={22,333,0233}时,233是幸运数,2333、20233、3223都不是幸运数。给定N和S,计算不大于N的幸运数个数。 阅读全文
posted @ 2021-08-21 11:33 kzsn 阅读(81) 评论(2) 推荐(0)
摘要:Article 在这个学期即将结束时,DRD开始写他的最后一篇文章。 DRD使用著名的Macrohard的软件World来写他的文章。 不幸的是,这个软件相当不稳定,它总是崩溃。 DRD需要在他的文章中写N个字符。 他可以在i+0.1的时候按一个键来输入一个字符,其中i是一个等于或大于0的整数。 但 阅读全文
posted @ 2021-08-18 22:01 kzsn 阅读(78) 评论(0) 推荐(0)
摘要:Eighty seven 简要题意: n个卡片,其中第i个卡片的数值为$a[i]$。一共q次询问,每次询问将删去其中3个卡片(可能删除若干相同的卡片)后,问能否选出10个卡片,数值之和等于87。 n≤50,q≤100000 分析: 当我们知道删去哪些卡片后,这是一道很显然的背包dp。 dp[i][j 阅读全文
posted @ 2021-08-18 21:45 kzsn 阅读(131) 评论(0) 推荐(0)
摘要:树链剖分 定义: 树链剖分,又称“重链剖分”。我们将树中的边分为轻边和重边。定义Size(x) 为以 x 为根的子树的节点个数,令 x 的儿子中 y 的Size()最大,那么,我们称边(x,y)为重边,y为x的重儿子。而由重边构成的链即为重链。 性质: 从根到某一点的路径上,轻边不超过O(logN) 阅读全文
posted @ 2021-08-17 21:53 kzsn 阅读(143) 评论(0) 推荐(0)
摘要:例题一:区间最小生成树(NKOJ P8439) 简要题意: 一个n个点m条边的无向图,点编号1到n,边编号1到m。边有边权。 有q次操作,操作分两种: 1.k x y z:修改第k条边,使其连接的两点为x和y,边权为z; 2.x y:只用编号在区间[x,y]的边构成最小生成树的边权和是多少?无解输出 阅读全文
posted @ 2021-08-17 21:25 kzsn 阅读(111) 评论(0) 推荐(0)
摘要:最小生成树 将一个图的带权边删掉若干条,使得图最终形成一棵树,并且满足边权之和最小。 kruskal 若我们要求最小生成树,我们贪心的从边权最小的边开始讨论,借用并查集,判断该边能否加入树中。若可以加入树中,则加入。 Kruskal重构树 过程: kruskal算法执行的过程中,如果加入了第$i$条 阅读全文
posted @ 2021-08-16 21:41 kzsn 阅读(160) 评论(0) 推荐(0)