hnoi2015专题

BZOJ4010: [HNOI2015]菜肴制作(优先队列拓扑排序)

Description 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴。 ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予 1到N的顺序编号,预估质量最高的菜肴编号为1。由于菜肴之间口味搭配的问题, 某些菜肴必须在另一些菜肴之前制作,具体的,一共有 M 条形如“i 号菜肴‘必须’ 先于 j 号菜肴制作”的限制,我们将这样的限制简写为<i,j>。现在,酒店希望能

bzoj4010: [HNOI2015]菜肴制作

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4010 思路:显然最小字典序是错误的,那么应该怎么求? 直接选小的在前不一定对,但是如果没有都没有后继,大的在后面一定是对的 所以考虑倒着DP,求出最大拓扑序,反向输出即可 #include<queue>#include<cstdio>#include<cstrin

【bzoj4011】【HNOI2015】【落忆枫音】【dp+容斥原理】

Description 「恒逸,你相信灵魂的存在吗?」  郭恒逸和姚枫茜漫步在枫音乡的街道上。望着漫天飞舞的红枫,枫茜突然问出 这样一个问题。  「相信吧。不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见 到你姐姐吧。」  恒逸给出了一个略微无厘头的回答。枫茜听后笑了笑。  「那你仔细观察过枫叶吗?」  说罢,枫茜伸手,接住了一片飘落的枫叶。  「其实每一片枫叶都是有灵

[BZOJ 4008][HNOI2015]亚瑟王:期望DP

点击这里查看原题 f[i][j]表示第i张卡在第j回合被轮到(但不一定发动)的概率。 f[i][j]= f[i-1][j] * ( 1-p[i-1] ) ^ j + f[i-1][j+1] * ( 1- ( 1-p[i-1] ) ^ ( j+1 ) ) ,ans+=f[i][j] * ( 1 - ( 1 - p[i] ) ^ j ) * d[i]。 /*User:SmallLanguag

[HNOI2015]亚瑟王 题解

[HNOI2015]亚瑟王 [HNOI2015]亚瑟王 根据期望的线性性质,我们考虑每一张牌的贡献。也就是每一张牌被使用的概率。 显然第一张牌使用的概率就是 1 − ( 1 − p 1 ) r 1 - (1 - p_1) ^ r 1−(1−p1​)r。 但是发现之后的牌的使用依赖于前面的牌的使用,因为如果前面有 j j j 张牌被使用了,相当于有 j j j 轮对于当前牌是