BZOJ4631: 踩气球
线段树 的 奇幻世界
题解:
在dalao fqk的模拟赛里我自己想出来的!
撒花 撒花
线段树维护气球,把一个孩子拆成若干个线段树上的区间,并放在对应线段树节点的vector里,并且记录num[i]孩子i被拆成了几个区间。
每当一个区间变成0时,就把它vector里的孩子的num[ch[i]]−−,如果num[ch[i]]==0就计数。
Code:
//日常丢失代码系列+1
//我这个蒟蒻都能在考场上写出来应该不会很难写吧。。。
线段树 的 奇幻世界
在dalao fqk的模拟赛里我自己想出来的!
撒花 撒花
线段树维护气球,把一个孩子拆成若干个线段树上的区间,并放在对应线段树节点的vector里,并且记录num[i]孩子i被拆成了几个区间。
每当一个区间变成0时,就把它vector里的孩子的num[ch[i]]−−,如果num[ch[i]]==0就计数。
Code:
//日常丢失代码系列+1
//我这个蒟蒻都能在考场上写出来应该不会很难写吧。。。