树形DP是一种建立在树状结构的DP思想。每个父结点的状态,都是由它的子结点转移过来的。 有一道很经典的入门题没有上司的舞会,就是每个结点都有一个权值且父子结点不能都取的情况下求最大总权值。 https://www.luogu.com.cn/problem/P1352 #include<bits/st ...
分类:
其他好文 时间:
2020-01-25 20:46:40
阅读次数:
89
题:https://codeforces.com/problemset/problem/600/E 题意:一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和,对于每个结点都输出答案。 分析:考虑暴力算法,对于每个节点只是清空计数数组,再对其子树颜色进行统计 ...
分类:
其他好文 时间:
2020-01-25 16:49:08
阅读次数:
87
前缀统计~[字典树] "传送门" 题意 给出N个字符串,进行M次询问,每次给出一个字符串,询问N个字符串中有多少个是它的前缀。 思路 字典树Trie入门题。 字典树最典型的应用就是用来存储字符串。 其中每个节点下有26个子节点(对应26个字母),根据新建节点的顺序使用idx为节点编号,根节点和空节点 ...
分类:
其他好文 时间:
2020-01-25 16:47:27
阅读次数:
84
西电2019的招新赛,也是我开始接触逆向做的几道入门题目,在赛后大佬们wp的帮助下边学边复现。 ...
分类:
其他好文 时间:
2020-01-24 00:24:14
阅读次数:
160
"题面" 这只是道水水的入门题。 平面直角坐标系中两点间距离为 $$dis=\sqrt{(x_1 x_2)^2+(y_1 y_2)^2}$$ 所以三角形的周长就是 $$C=\sqrt{(x_1 x_2)^2+(y_1 y_2)^2}+\sqrt{(x_1 x_3)^2+(y_1 y_3)^2}+\s ...
分类:
其他好文 时间:
2020-01-22 23:46:54
阅读次数:
67
# 算法 || 树形dp入门题 # *leetcode 337 状态转移方程很好想,使用一个大小为2的数组来表示状态 int[] cur = new int[2] 0代表不偷,1代表偷 root[0] = Math.max(rob(root.left)[0], rob(root.left)[1]) ...
分类:
其他好文 时间:
2020-01-17 09:38:05
阅读次数:
63
题目大意:求两个字符串的最长公共子序列的长度。 分析:这是一个典型的dp入门题,LCS。 代码: #include<bits/stdc++.h> using namespace std; const int maxn = 1e3+7; char a[maxn],b[maxn]; int dp[max ...
题外话: 老师:这些题都不难,都只是搜索+剪枝 我:不会…… 题面 十五数码问题 保证45步内有解 题解 IDA 入门题目,和八数码问题没差多少 ↑抱着天真想法的我 事实上,这题比八数码难了不少…… 首先,先像八数码一样把IDA 敲好 然后? 然后你发现样例你都T了 WDNMD ——发现自己样例TL ...
分类:
其他好文 时间:
2020-01-12 00:33:37
阅读次数:
107
题目大意:对应的输入多行,每行两个字符串,两个字符串互相映射。接下来询问的时候,如果这个字符串出现过,输出其对应的字符串。 分析:二重哈希来判断字符串是否存在,输出其对应的字符串就行。二重哈希的入门题,字符串还挺有意思的。 代码: #include<iostream> #include<string ...
分类:
其他好文 时间:
2020-01-05 19:03:09
阅读次数:
101
题目链接: "https://loj.ac/problem/6279" 题目描述 给出一个长为 $n$ 的数列,以及 $n$ 个操作,操作涉及区间加法,询问区间内小于某个值 $x$ 的前驱(比其小的最大元素)。 输入格式 第一行输入一个数字 $n$。 第二行输入 $n$ 个数字,第 $i$ 个数字为 ...
分类:
其他好文 时间:
2019-12-28 21:22:20
阅读次数:
95