- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 BSG挑战赛
A/C 模拟题,较简单 B-AVL树的种类 平衡二叉树(AVL树),是指左右子树高度差至多为1的二叉树,并且该树的左右两个子树也均为AVL树。 现在问题来了,给定AVL树的节点个数n,求有多少种形态的AVL树恰好有n个节点。 DP 定义 f[i][j]f[i][j] 为含有 ii 个节点高度为 jj 的平衡树的数量,转移方程就很好写了: if(k > 0) add(f[
2016-05-22 18:33:29 476
原创 CDOJ 1346(斜率DP)
题意&思路: 题意:把大的区间分段,每一段的有一个花费,求总的最小花费。 这种分段的花费的题,貌似成了斜率dp的一眼题了,上次CF的E题比赛的时候,实力套路一波斜率dp的推导过程,感觉还不错,还学习了下二维的斜率优化。 首先,你假设就按二维来做,然后看是否满足能够去斜率优化,写出二维的转移就是: Dp[i][j]Dp[i][j] : 区间 [1,i][1,i] 分为 j
2016-05-15 23:34:09 432
原创 CDOJ 1351(树形DP)
题意&思路: 题意:带权边树上,在起点0出发,初始值为VV,求最多能访问的节点数目? 如果数据小一点,我们可以考虑 dp[u][i]dp[u][i],表示u节点及其子树花费i最多能够访问的节点数,这个是很好做的,树上背包嘛。 但是题目多询问,于是考虑 dp[u][i][o]dp[u][i][o] ,表示当前节点u及其子树,访问了 ii 个节点,并且是否停留在u点的最小花费。
2016-05-15 23:27:23 342
原创 CDOJ 1136(数位DP)
题意&思路: 题意:求区间[1,n] 内满足i < j, 并且f(i) > f(j) 的数对数目? 学习了一波数位dp的一般写法,很爽。。。。 首先把原数字转化为二进制数,然后考虑dp[pos][diff][f1][f2][f3] 表示对于状态下的答案: Pos:当前处于第pos位 Diff:f(i) - f(j)的值 F1: i与n的大小关系,1表示小于
2016-05-15 23:22:02 435
原创 2016 GCJ R1 C
A 给你一串字符,每次只允许取出一个或者两个字符,要求任何时刻不能出现每种字符的出现次数大于总的字符的长度? 我的做法是直接模拟,首先肯定是优先取出现次数最大的,那么每次就去枚举取一个还是两个出现次数最大的字符,然后判断这样取的话,是否满足题目给定的条件,可以就去取。这样一定有解 B 构造包含nn个点的有向图,使得从1−>n1->n的走法恰好为k种,excited! 隐隐约约
2016-05-15 22:58:04 414
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人