折半搜索
L_0_Forever_LF
一个热爱OI的OIer
展开
-
51nod 1446
一个good点如果只和bad相连就不计算他的价值,否则算入总价值记作great点,要求总价值<=maxval这些good点之间除了权值没啥区别,生成树计数容易想到用矩阵树定理去统计,但是用矩阵树定理,只能通过让他们之和bad间有边限制i个点一定不是great点,对于其他点有可能还有不是great点的情况统计 于是用g[i]表示至少i个good点非great,f[i]表示恰好i个good点非grea原创 2017-11-20 21:46:23 · 379 阅读 · 0 评论 -
BZOJ1130: [POI2008]POD Subdivision of Kingdom
直接搜感觉会T折半搜一下,meet in middle,位运算可以省掉一个ncode:#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>原创 2017-12-08 10:11:47 · 377 阅读 · 0 评论 -
CodeChef LEBOXES
有n个箱子,每个箱子打开有Pi的概率获得Vi的金币,1-Pi的概率获得1个钻石 这个人开完箱子后,会拿这些金币和钻石去买东西,m个东西,第i个东西需要Ci金币,Di钻石购买,问购买的东西数量的最大值的期望Vi很大,但是注意到钻石数量很小,我们先做一个dp,f[i][j]表示我要买i个东西,用了不超过j个钻石,所需要的最少金币数然后对n折半,搜出开出i个钻石的所有情况,然后枚举分别开了x,...原创 2018-04-20 21:26:09 · 255 阅读 · 0 评论