摘要:
依赖背包转化为树形dp 阅读全文
摘要:
记忆化搜索啊 或者直接对高度排序啊,这样就会先更新步数少的,后更新步数多的了,就可以直接利用先前已经得到的值了 阅读全文
摘要:
中文题 我是传送门 我们定义dp[i][j][k]为利用前i张牌使两个人的分数分别为j和k的方案数 需要注意的就是数组的大小而已。一开始没有想清楚,看到牌的大小不超过100,以为得分也不会超过一百...其实异或后可能出现得分二进制表示为1111111的情况 别忘了初始化。双方都不拿也是一种情况,dp 阅读全文
摘要:
传送门 Vasya有n天假期,每天可以去健身房或者撸代码。她不想连续两天做同种运动(脑力也是运动),但她可以每天当一条咸鱼,给出事件,求解最小的休息天数。 事件 健身房 机房 0 关 关 1 关 开 2 开 关 3 开 开 很明显的计数和状态转移,用dp解。dp[i][j]代表第i天做j事总计的休息 阅读全文
摘要:
题意 给定n,和n个非负数c[] 若有1~n的排列满足该位置上数的值比左右两端大(h[0] = h[n + 1] = 0),将该位置上的c[i]添加到sum上。 求sum的数学期望 我一开始是按分处于两端和中间考虑,去算对sum有贡献的概率。算出两段的是1/2后,思考中间的发现,其实你只需要关注一个 阅读全文
摘要:
给定n,0 <= n <= 100000000,斐波那契数列的第n项的前四位(不足则全部输出) 利用不动点去解得斐波那契数列的公式,显然数据爆longlong,所以以10为底取对数即可 前20项不足10000,预处理会更方便 阅读全文
摘要:
单向匹配 POJ 1274 POJ 2239 双向匹配 HDU 2063 HDU 1045 简单二分图匹配,把横向上连续的'.'处理为一个x值,纵向上连续的'.'处理成一个y值,以x,y值为顶点,坐标点为连接相应x,y值的边,二分图匹配即可。原理是图论上对匹配的定义。注意此时处理数组的大小,Vert 阅读全文
摘要:
POJ2342 一棵树,每个节点有权值,儿子与父亲不能同时取,求解从树上选取点能获得的最大权值 dp[i][0]表示不取,dp[i][1]表示取。 设j为i的儿子节点,dp[i][0] += max(dp[j][0], dp[j][1]), dp[i][1] += dp[j][0]; 入度为零的点是 阅读全文
摘要:
链接 每给定一个n,代表你有n根长度依次为1-n的棍子,求由这n根棍子可组成多少三角形 我们定义a[i]为最长边为i的三角形的数量,ans[i]为要输出的答案 显然ans[i + 1] = ans[i] + a[i + 1]; 那么如何由a[i]求解a[i + 1]? 我们可以得到同时含有边i 和 阅读全文