摘要:
二分: 查看代码 bool check(int x) int l=1,r=n,ans=0; while(l<=r){ int mid=(l+r)>>1; if(check(mid)){ ans=mid; r=mid-1; } else l=mid+1; } 归并排序: 查看代码 void merge 阅读全文
摘要:
先上头图: 诈骗题认真读题 c<=7 只需要考虑前七个操作 一.动态开点即可 二.线段树合并 三.四.对于这两个操作,可以先统计出有多少个数小于/大于x,然后删除所有小于/大于x的数,并在x位置加上这些数 五.下放标记查询即可 六.每个数最大为1e9,直接乘肯定会炸,所以可以用double存它们的对 阅读全文
摘要:
阅读全文