首页 > 其他 > 详细

CodeForces 1152D Neko and Aki's Prank

时间:2019-05-06 16:45:47      阅读:170      评论:0      收藏:0      [点我收藏+]

说明

  1. Catalan(i) 表示卡特兰数的第 i 项。

题目链接:http://codeforces.com/problemset/problem/1152/C

题目大意

  有 n 个左括号和 n 个右括号,它们一共可以组成 Catalan(n) 个合法括号字符串,把这些字符串组建成 Trie 树,求这棵树的二分图最大匹配。

分析

  设 Node(L, R) 表示 Trie 树的一个节点,这个节点含有 L 个左括号和 R 个右括号。
  虽然说是求二分图最大匹配,不过这道题却不能用求最大匹配的的方法求(超时 + 爆栈),注意到这棵 Trie 是棵二叉树且根节点到每个叶子节点的距离都是一样的,都为 2*n,于是我们可以把 L + R 为奇数的划分为 A 集合,把 L + R 为偶数的划分为 B 集合,

代码如下

CodeForces 1152D Neko and Aki's Prank

原文:https://www.cnblogs.com/zaq19970105/p/10820410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!