【BZOJ】4552 排序

这篇博客讨论了BZOJ比赛中遇到的一道题目,指出原题直接出现在省选赛中可能存在的问题。博主认为这道题目由于规模较大且有公开题解,对参赛者不公平。博主提出了一个解决方案,即通过二分猜测答案,并利用线段树进行01序列的排序操作。
摘要由CSDN通过智能技术生成

讲道理省选场上出现这种bc#76 原题的行为真的不厚道。。。。一是因为规模这么大一比赛很少有人不知道,二是人家题解就摆在网上的。。。丫样例都不改

难不成把多组数据改成一组数据也叫改编?(23333

主要思路就是二分猜答案之后,将原序列改成01序列(小于等于mid的变成0,否则变成1)用线段树维护排序操作。

题解传送门

/**************************************************************
    Problem: 4552
    User: RicardoWang
    Language: C++
    Result: Accepted
    Time:12976 ms
    Memory:11428 kb
****************************************************************/
 
#include<cstdlib>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
#include<vector>
#define maxn 200005
using namespace std;
 
int A[maxn],v[maxn];
struct data
{
  int op,x,y;
}B[maxn];
int n,M,q;
 
void Init()
{
  scanf("%d%d",&a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值