原文:AtCoder abc160 F - Distributing Integers【换根dp】

传送门 题意 给一颗树,指定一个点,从这个点开始染色,每次只能在已染色点旁边染色,问从每个点开始染色分别能产生多少种染色序列。 题解 这个问题其实就是问一颗有根树的拓扑序列个数。 其实我们知道不是树的有向无环图的拓扑序列个数是个np问题,但是树的拓扑序列个数是一个可解的问题。 n 的全排列个数为 n ,来考虑有多少种非法情况,可以发现,对于每个子树,它的根一定要在这颗子树的排列的第一个,那么这个子 ...

2020-03-30 10:01 4 362 推荐指数:

查看详情

DP

dp的通法:1.第一次扫描时,任选一个点为,在“有树”上执行一次树形DP,也就在回溯时发生的,自底向上的状态转移。 2.第二次扫描时,从刚才选出的出发,对整棵树执行一次dfs,在每次递归前进行自上向下的推导,计算出后的解。 例题POJ3585 Accumulation ...

Wed Oct 30 23:53:00 CST 2019 2 918
浅谈DP

浅谈DP 本篇随笔浅谈一下算法竞赛中的DPDP概念 DP其实是树形DP的一种延伸技巧或者说是方法。 它的使用范围是,对树上的每个点跑树形DP。这样的话,不用DP一点一点跑的复杂度就是\(O(n^2)\),必炸。那么DP应运而生。简单来讲,就是我们会通过推理 ...

Sat Sep 05 03:39:00 CST 2020 0 608
DP学习笔记

今天打 \(Atcoder\) 时遇到了一道 \(DP\) ,发现自己不太会,学习了一下。 一般来说,这类题在做树形 \(DP\) 时没有固定的,可以枚举然后做 \(N\) 次树形 \(DP\) ,但复杂度是不太优的,于是有了 \(DP\),一般通过两次对整棵树的 \(dfs ...

Mon Oct 11 17:46:00 CST 2021 10 97
AtCoder ABC208 F - Cumulative Sum 题解

写在前面 昨天 ABCF 题,结论推出来了,猜到是拉格朗日,奈何我只会板子,不会分析次数; 赛后知道正解后感觉大受震撼。我还是太 naive 了 /kk 前置知识 组合数学 拉格朗日插值法。 Description 原题地址 给你 \(n, m, k ...

Mon Jul 05 23:45:00 CST 2021 3 97
AtCoder Beginner Contest 160

比赛链接:https://atcoder.jp/contests/abc160/tasks AtCoder Beginner Contest 160 A - Coffee View Code B - Golden Coins ...

Tue Apr 07 04:31:00 CST 2020 13 217
[算法学习] dp

dp 一般来说,我们做题的树都是默认 \(1\) 为的。但是有些题目需要计算以每个节点为时的内容。 朴素的暴力:以每个点 \(u\) 作为 \(root\) 暴力dfs下去,复杂度\(O(n^2)\); 正确的做法:dp,复杂度\(O(n)\)。 执行步骤 第一次扫描,先 ...

Tue Apr 07 01:31:00 CST 2020 3 651
atcoder abc 188 题解

A - Three-Point Shot 题目大意 两个球队现在分数分别给出,问少的一方投入三分球之后是否能翻盘. 代码 B - Orthogonality 题目大意 给定两个向量,问两者内积是否是0. 代码 C - ABC Tournament 题目大意 \(2^n ...

Mon Jan 11 18:15:00 CST 2021 2 286
Atcoder ABC 189 题解

D - Logical Expression 题目大意:给定\(n\)个字符串,每个都是AND或者OR.要求你构造\(n+1\)个值,记入\(\{x0,x1,x2,...xn\}\).每个值只能取\ ...

Sun Jan 24 18:31:00 CST 2021 3 329
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM