随笔分类 -  贪心

摘要:用(a,b)表示一个点先失去a点HP,然后增加b点HP 首先容易证明忽略父亲条件下,任意两个点,先吃b大的最优 对于一个节点v和它的父节点u,若此时选v最优,那么就是吃到u时可以立即吃掉v, 于是可以将u和v合并表示吃掉u时立即吃v,然后v的子节点连到u上 于是用一个堆维护节点,并查集找父亲 Cod 阅读全文
posted @ 2018-07-31 19:41 void_f 阅读(159) 评论(0) 推荐(0)
摘要:[BZOJ1217] 这题也有树规的打法,但好复杂啊 贪心是这样的,对于深度最深的一个叶子节点,要覆盖它的话,肯定是覆盖它的爷爷是最优的 这样它的父亲跟兄弟都会被覆盖 所以每次找深度最深的,覆盖它的爷爷就行了 Code 阅读全文
posted @ 2018-05-10 19:09 void_f 阅读(127) 评论(0) 推荐(0)
摘要:[不稳定的传送门] Sloution 每次试一下最近的2个楼梯或者电梯就行了 Code 阅读全文
posted @ 2018-05-02 10:27 void_f 阅读(311) 评论(0) 推荐(0)
摘要:[不稳定的传送门] Solution 首先可以证明,hp翻倍的操作一定是在同一个生物上最优 Code 阅读全文
posted @ 2018-05-02 09:10 void_f 阅读(440) 评论(0) 推荐(0)
摘要:Description "题目链接" Solution 这题就是一个贪心, 如果最弱的能赢对方最弱的就赢 否则最强的能赢对面最强的就赢 否则最弱的换对面最强 Code c++ include include using namespace std; int n,Ans,A[100010],B[100 阅读全文
posted @ 2018-04-04 21:17 void_f 阅读(148) 评论(0) 推荐(0)
摘要:Description 在一片栖息地上有N棵树,每棵树下住着一只兔子,有M条路径连接这些树。更特殊地是,只有一棵树有3条或更多的路径与它相连,其它的树只有1条或2条路径与其相连。换句话讲,这些树和树之间的路径构成一张N个点、M条边的无向连通图,而度数大于2的点至多有1个。 近年以来,栖息地频繁收到人 阅读全文
posted @ 2017-11-01 17:09 void_f 阅读(395) 评论(0) 推荐(0)
摘要:Description 小D最近又在种树,可是他的种树技巧还是很差,种出的树都长的歪七扭八,为了让树变得平衡一些,小D决定从树上删掉一条边,然后再加上一条边,使得到的仍然是一棵树并且这棵树的直径(树上最远两点距离)尽量小。请你求出新树的最小直径长度。每条边的长度均为1。 Input Format 第 阅读全文
posted @ 2017-10-30 11:16 void_f 阅读(273) 评论(0) 推荐(0)