比较复杂的一题.. 不管是二分答案还是直接做,都需要压缩树链 /* 给定n种怪物,每个怪物有属性a[i] 打死第i种怪物后,第i只怪物会分裂成a[i]个第i-1种怪 如果打死的是第1种,那么获得经验a[1] 现在遇到的是一只第n种怪,有体力w,打死一只怪要一点体力,问最多获得多少经验 直接求比较麻烦,由于答案具有单调性,所以二分答案即可 */ #include<bits/stdc++.h> using namespace std; #define ll long long #define IN…