码迷,mamicode.com
首页 >  
搜索关键字:ioi2005    ( 18个结果
【BZOJ1812】riv(多叉树转二叉树,树形DP)
题意:给定一棵树,每个点有权值,每条边有边权(单向边)。你可以选取K个黑点,使得从每个点移动到距离他最近的黑点的花费(距离*点权)的总和最小。 n<=100 k<=50 w[i],a[i]<=10000 思路:见IOI2005龙凡解题报告 又是一道从父亲到儿子的树形DP 为什么要多叉转二叉?因为假设 ...
分类:其他好文   时间:2016-12-20 19:56:08    阅读次数:206
BZOJ1812 [IOI2005]river
传送门: 很常规的一道树规,转为左儿子右兄弟。 然后f[node][anc][K]表示在node节点上,最近的有贡献祖先在anc上,在node的儿子和兄弟上有k个有贡献节点的最优值。 然后得出以下转移方程。 f[node][anc][K]=min{f[son[node]][anc][k]+f[bro ...
分类:其他好文   时间:2016-09-06 13:45:21    阅读次数:148
rivers ioi2005 树形dp
说句实话,写完这道题,很想吐一口血出来,以示我心情的糟糕; 题目很简单,树形dp,正常做30分钟,硬是做了好几个小时,真是伤心。 题解不写了,只是吐个槽,网上没有用背包写的dp,全是左儿子右兄弟写法,没法对照一下,难受啊。 代码: 1 #include<iostream> 2 #include<cs ...
分类:其他好文   时间:2016-09-05 19:28:37    阅读次数:223
[bzoj1811] [Ioi2005]mea
还是比较好想到的..设第一个数为x,那么以后的所有数都能用x和M表示出来。 然后再根据非递减的限制条件得出x的取值范围。 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define ll long long 5 usin ...
分类:其他好文   时间:2016-06-28 09:18:15    阅读次数:213
BZOJ 1812: [Ioi2005]riv( 树形dp )
树背包, 左儿子右兄弟来表示树, dp(x, y, z)表示结点x, x的子树及x的部分兄弟共建y个伐木场, 离x最近的伐木场是z时的最小代价. 时间复杂度O(N^2*K^2)--------------------------------------------------------------
分类:其他好文   时间:2016-02-01 17:51:07    阅读次数:224
[Ioi2005]River
设f[i][j][k]表示i上游最近的一个伐木场为j且在i所在的子树里共建了k个伐木场(不包含在i的)的最小运费和设v为u的儿子,dist[u]为u到0号点的距离。则当i>=j时f[u][last][i]=max{f[u][last][i-j]+dist[v][last][j]+w[v]*(dist...
分类:其他好文   时间:2015-10-26 22:06:49    阅读次数:186
BZOJ 1811 IOI2005 mea
题目大意:有一个单调不降整数序列,定义平均值数列为这个数列的相邻两项的平均值组成的序列,现在给定这个平均值序列,问原序列有多少种 这相当于给定了相邻两项之间的对称轴 那么我将这个数轴沿着这个对称轴折叠 相邻两项在数轴上就重合了 如果将整个数轴沿着所有的对称轴各折叠一次,所有的点就会重合于一点 此时所有对称轴组成的区间的交集大小就是解的数量 注意无解情况 500W的读入还真有人敢传。。。 ...
分类:其他好文   时间:2015-01-22 09:27:56    阅读次数:162
【BZOJ1811】【IOI2005】mea 平均数
题意:自己去看 题解: 我们把平均数序列看成一个线段,那么这个线段就被序列中的数分成了若干段。 然后在其中一段上选一个点,原序列应该是唯一的, 【对应点:当前点+对应点/2=平均数序列中两段交界点】 所以它到下一段的对应点就是唯一的,而此时我们不妨把整个序列沿着当前段和下一段的交界点折一下, 这样当前选的这个点直接平移到折完后的那部分就是它的对应点了~ 然后我们就可以把整个序列折来折...
分类:其他好文   时间:2015-01-21 18:22:40    阅读次数:212
18条   上一页 1 2
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!