上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页
摘要: 就是一些感觉比较容易忘的知识 假设根为第0层, 在二叉树的i层上至多有2i个结点,整颗二叉树(深度为k)最多有$2^{k+1} 1$个节点 对于任何一棵非空二叉树,如果叶结点个数为$n_0$,度为2的结点个数为$n_2$,则有: $n_0 = n_2 + 1$。然后我们就能得到在二叉树中,叶结点的个 阅读全文
posted @ 2018-07-19 20:32 Lance1ot 阅读(177) 评论(0) 推荐(0) 编辑
摘要: "P1250 种树" 题目描述 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号成1..N。每个部分为一个单位尺寸大小并最多可种一棵树。每个居民想在门前种些树并指定了三个号码B,E,T。这三个数表示该居民想在B和E之间最少种T棵树。当然,B≤E,居民必须记住在 阅读全文
posted @ 2018-07-19 20:03 Lance1ot 阅读(149) 评论(0) 推荐(0) 编辑
摘要: "P2607 [ZJOI2008]骑士" 题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队。于 阅读全文
posted @ 2018-07-19 14:08 Lance1ot 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 1.树形dp 例题1 树上最长链 其实有两种方法,但为了简便,就只学了最通用的dp算法 我们考虑设dp[i][0/1]表示以i为根的最长路和次长路,然后拼接就行了 第二维0表示最长路,1表示次长路 if dp[i][0]dp[son][0] && dp[i][1] include include u 阅读全文
posted @ 2018-07-18 23:54 Lance1ot 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 例题1 noiopenjudge9277 给出在最底层的木头的个数,问有多少种堆放木头的方式,当然你的堆放方式不能让木头掉下来. 在堆放的时候木头必须互相挨着在一起. 设dp[i]表示多少个log(原木)为底时的方案数。 dp[i]=dp[1] (i 1)+dp[2] (i 2).....dp[i 阅读全文
posted @ 2018-07-18 08:32 Lance1ot 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 首先我们从最简单的dp开始 $dp[i][j]=dp[i 1][j]+dp[i 1][j+1]+dp[i 1][j 1]$ 然后这是一个O(NM)的做法,肯定行不通,然后我们考虑使用矩阵加速 $\begin{bmatrix} 1\\ 0 \\0\\0\end{bmatrix}\quad$ 鉴于纵坐标 阅读全文
posted @ 2018-07-17 21:03 Lance1ot 阅读(183) 评论(0) 推荐(0) 编辑
摘要: Description 混乱的奶牛 [Don Piele, 2007] Farmer John的N(4 include include long long data[20]; long long f[70000][20]; int main() { int n,k; scanf("%d%d",&n, 阅读全文
posted @ 2018-07-17 15:13 Lance1ot 阅读(113) 评论(0) 推荐(0) 编辑
摘要: "P1896 [SCOI2005]互不侵犯" 数据不大,时间复杂度很高也差不多能过。 使用状压dp dp[i][j][k]表示到第i行,状态为j,选了k个人 然后就是转移,转移的难点就是快速判断 判断的话,我们整体考虑。 然后一个状态是否有相邻的国王。用它本身按位与它本身右移(左移),若结果为0,则 阅读全文
posted @ 2018-07-17 14:39 Lance1ot 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 例题1:乌龟棋 略 例题2: noip2015 子串 有两个仅包含小写英文字母的字符串 A 和 B。 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串, 请问有多少种方案可以使得这个新串与字符串 B 相等?注意 阅读全文
posted @ 2018-07-16 20:39 Lance1ot 阅读(163) 评论(0) 推荐(0) 编辑
摘要: CF467C George and Job 使用luogu Romote judge "luoguの翻译de su" 状态定义:f[i][j]表示在第i时,已经选了j段时的最优值 cpp include include include using std::cin; using std::cout; 阅读全文
posted @ 2018-07-15 21:02 Lance1ot 阅读(190) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页