
深度优先搜索
文章平均质量分 78
深度优先搜索
SSL_2021_DRL建极殿大学士
鲜衣怒马少年时,不负韶华行且知。
展开
-
【51nod 3046】子集和的元素和(DFS)(二分)
给出长度为n的集合AA的非空子集合共有2n−1个,每个子集合有一个元素的加和Sum。求所有Sum中第K小的Sum。第一行:2个数nk。1≤n≤500001≤k≤200000) 第2∼n1行:每行一个数Ai。1≤Ai≤109输出一个数,对应第K小的Sum。3 5 1 2 34对于16的数据,1≤n≤201≤k≤1001≤Ai≤50;对于60的数据,1≤n≤20001。原创 2024-02-17 10:49:33 · 1076 阅读 · 0 评论 -
【SSL 1838】加分二叉树(树形DP)
设一个n个节点的二叉树tree的中序遍历为123...n,其中数字123...n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为ditree及它的每个子树都有一个加分,任一棵子树subtree(也包含treesubtree的左子树的加分∗subtree的右子树的加分subtree的根的分数。若某个子树为空,规定其加分为1,叶子的加分就是叶节点本身的分数。不考虑它的空子树。试求一棵符合中序遍历为1。原创 2023-08-27 10:23:17 · 100 阅读 · 1 评论 -
【51nod 1377】最慢的快排
小 nodnodnod 新学了快速排序,并且学会了用 randomrandomrandom 函数获取随机中枢避免最坏复杂度的出现。 代码如下:号称这份代码跑的比谁都快,并且到处找人炫耀。夹克老爷 为了教育他,事先更改了测试机的环境,构造了大小为 kkk 的数组 rrr ,使得快排开始后,第 iii 次调用 randrandrand 函数时返回的是 r[ir[i%k]r[i (注意,这里的 iii 从第 000 次开始),给出 rrr 数组中的 kkk 个数。你能构造一个 1−N1-N1−N 的排列让测试机原创 2024-02-08 19:49:05 · 1044 阅读 · 0 评论 -
【luogu 1352】没有上司的舞会(树形DP)
某大学有n个职员,编号为1n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数ri,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。对于100%的数据,保证1≤n≤6×103−128≤ri≤1271≤lk≤n。原创 2023-09-21 23:02:37 · 72 阅读 · 0 评论 -
【luogu 7073】表达式 [CSP-J2020](深搜)
小 C 热衷于学习数理逻辑。有一天,他发现了一种特别的逻辑表达式。在这种逻辑表达式中,所有操作数都是变量,且它们的取值只能为0或1,运算从左往右进行。如果表达式中有括号,则先计算括号内的子表达式的值。aa010小 C 想知道,给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,原表达式的值为多少。为了化简对表达式的处理,我们有如下约定:表达式将采用的方式输入。原创 2023-10-04 09:41:06 · 351 阅读 · 0 评论 -
【SSL 1146】相似度(深搜)
趁着小G出去玩的时候,大G把小G的世界地图上的城市全部打乱并放在了原来这些城市所在的位置(并不是一一对应),又修改了一些道路。小G玩完回来后发现自己的东西被打乱了,感到非常生气,但是他又被一个更有趣的问题吸引了:被修改之后的世界地图与原来的世界地图的最大相似度是多少?但是计算找出最大相似度需要费点神,首先不知道大家是打算怎么存图的,是不是按节点存入它可以抵达的点,如果是这样的话计算相似度怕是有点难以实现,按 m 逐个检查时间复杂度也挺大。第一行为两个整数 $n$,m,表示一共有 n 个城市,m条道路。原创 2023-08-08 23:05:51 · 66 阅读 · 0 评论 -
【SSL 1528】最长链(深搜)
现给出一棵N个结点二叉树,问这棵二叉树中最长链的长度为多少,保证了1号结点为二叉树的根。第1行为包含了一个正整数N,为这棵二叉树的结点数,结点标号由1至N。接下来N行,这N行中的第i行包含两个正整数l[i], r[i],表示了结点i的左儿子与右儿子编号。如果l[i]为0,表示结点i没有左儿子,同样地,如果r[i]为0则表示没有右儿子。1个正整数,为这棵二叉树的最长链长度。原创 2023-05-07 22:45:05 · 120 阅读 · 0 评论 -
【SSL 1955】【CSP/J 2022 T3】逻辑表达式(递归)
需要注意的是,如果某处“短路”包含在更外层被“短路”的部分内则不被统计,如表达式 1|(0&1) 中,尽管 0&1 是一处“短路”,但由于外层的 1|(0&1) 本身就是一处“短路”,无需再计算 0&1 部分的值,因此不应当把这里的 0&1 计入一处“短路”。此外,在 C++ 等语言的有些编译器中,对逻辑表达式的计算会采用一种“短路”的策略:在形如 a&b 的逻辑表达式中,会先计算 a 部分的值,如果 a=0,那么整个逻辑表达式的值就一定为 0,故无需再计算 b 部分的值;同种运算并列时,从左向右运算。原创 2023-04-19 22:27:53 · 115 阅读 · 1 评论 -
【SSL 1638】星系团(深搜)
深空照片是用二维的像素表示的,某个像素如果是数字 1,就表示那里是恒星系;如果是 0 ,表示没有物体。没有物体的地方可能是什么都没有,也可能是一个黑洞,如果是黑洞,那么黑洞必须严格在恒星系里面,即洞的边和顶点都必须被包围在值为 1 的像素里面。我们都知道一个星系团里面至少要有 1个黑洞,科学家们就想通过这些深空照片来判断有几个星系团。让我们看下面的例子:(不用想,从学校网站上扣的)图中,A、B 和 C 都是 1 个星系团,而 D 不是星系团。原创 2023-05-20 22:49:07 · 208 阅读 · 1 评论