FOJ 1962 新击鼓传花游戏

    技术2024-07-02  64

    嗯,线段树的操作。

     

    点的增加,删除,和查询。有意思的是,增加和查询的是第K小项。O(∩_∩)O~ 写了好久,貌似发呆了一大半时间。

     

    剩下的一大半时间,跑去踢球了。ORZ。ORZ。。我爱走神,偶也。

     

    贴个,我是如何找到第k小元素的函数。[1,2)表示编号为1的小朋友。

    int query(int num,int k) { if(k==tree[num].r-tree[num].l) return tree[num].l+k-1; if(k<=tree[num<<1].cov) query(num<<1,k); else query((num<<1)|1,k-tree[num<<1].cov); } //这个是‘Q’的函数,cov表示l到r之间有几个小朋友。 

    最新回复(0)