首先如果一个数是中位数,在这段区间中比他大的数量=比他小的数量,那么如果一个数比他大设为1,比他小设为-1,设要求的数在数组中的位置是mid,那么我们可以用num[i] 表示1-mid这一段中,j-mid的和为i的j的数量。那么我们扫mid到n,假设mid到j的和为a,那么代表这段比他大的有a个,因为要保证数量相等,所以要在num数组里-a的个数累加答案。

/**************************************************************
    Problem:
    User: BLADEVIL
    Language: Pascal
    Result: Accepted
    Time: ms
    Memory: kb
****************************************************************/
 
//By BLADEVIL
var
    n, k                    :longint;
    a                       :array[..] of longint;
    num                     :array[-..] of longint;
    ans                     :int64;
     
procedure init;
var
    i                       :longint;
begin
    read(n,k);
    for i:= to n do read(a[i]);
end;
 
procedure main;
var
    i                       :longint;
    mid                     :longint;
    tot                     :longint;
begin
    for i:= to n do if a[i]=k then break;
    mid:=i;
    for i:= to n do
        if a[i]>k then a[i]:= else
        if a[i]<k then a[i]:=- else a[i]:=;
     
    tot:=;
    for i:=mid downto do
    begin
        tot:=tot+a[i];
        inc(num[tot]);
    end;
    tot:=;
    for i:=mid to n do
    begin
        tot:=tot+a[i];
        ans:=ans+num[-tot];
    end;
    writeln(ans);
end;
 
begin
    init;
    main;
end.

bzoj 1303 杂题的更多相关文章

  1. BZOJ 2456 杂题 卡内存

    2456: mode Time Limit: 1 Sec  Memory Limit: 1 MBSubmit: 3702  Solved: 1551[Submit][Status][Discuss] ...

  2. bzoj 2749 杂题

    我们可以发现,phi(x)与x相比,相当于x的每个质因子-1后再分解质因数,添加到现有的质因子中,比如质因子13相当于将13变成12,然后分解成2*2*3,再将2的质数+2,3的指数+1,除了质因子2 ...

  3. 贪心/构造/DP 杂题选做Ⅱ

    由于换了台电脑,而我的贪心 & 构造能力依然很拉跨,所以决定再开一个坑( 前传: 贪心/构造/DP 杂题选做 u1s1 我预感还有Ⅲ(欸,这不是我在多项式Ⅱ中说过的原话吗) 24. P5912 ...

  4. [BZOJ 1303] [CQOI2009] 中位数图 【0.0】

    题目链接:BZOJ - 1303 题目分析 首先,找到 b 的位置 Pos, 然后将数列中小于 b 的值赋为 -1 ,大于 b 的值赋为 1 . 从 b 向左扩展,不断算 Sum[i, b - 1] ...

  5. bzoj 前100题计划

    bzoj前100题计划 xz布置的巨大的坑.. 有空填题解... 1002 轮状病毒 用python手动matrixtree打表. #include<bits/stdc++.h> #def ...

  6. 正睿OI DAY3 杂题选讲

    正睿OI DAY3 杂题选讲 CodeChef MSTONES n个点,可以构造7条直线使得每个点都在直线上,找到一条直线使得上面的点最多 随机化算法,check到答案的概率为\(1/49\) \(n ...

  7. dp杂题(根据个人进度选更)

    ----19.7.30 今天又开了一个新专题,dp杂题,我依旧按照之前一样,这一个专题更在一起,根据个人进度选更题目; dp就是动态规划,本人认为,动态规划的核心就是dp状态的设立以及dp转移方程的推 ...

  8. wangkoala杂题总集(根据个人进度选更)

    CQOI2014 数三角形 首先一看题,先容斥一波,求出网格内选三个点所有的情况,也就是C(n*m,3);然后抛出行里三点共线的方案数:C(n,3)*m; 同理就有列中三点共线的方案数:n*C(m,3 ...

  9. 2019暑期金华集训 Day6 杂题选讲

    自闭集训 Day6 杂题选讲 CF round 469 E 发现一个数不可能取两次,因为1,1不如1,2. 发现不可能选一个数的正负,因为1,-1不如1,-2. hihoCoder挑战赛29 D 设\ ...

随机推荐

  1. define 和 const常量有什么区别?

    define在预处理阶段进行替换,const常量在编译阶段使用 宏不做类型检查,仅仅进行替换,const常量有数据类型,会执行类型检查 define不能调试,const常量可以调试 define定义的 ...

  2. (原)UnrealObj篇 : 反射获取Struct类型

    @Author: 白袍小道 转载请说明     案例一:蓝图传递任意Struct ,导出struct的相关属性 相关: 1.宏:DECLARE_FUNCTION: 此宏用于在自动生成的样板代码中声明t ...

  3. SQL的鸡肋:“视图”

        不知道当年SQL定义者们设计视图时是出于什么样的考虑.实际效果是,视图夹在SQL指令和表之间,形成了一个三明治的结构.在这种结构下做检索,SQL指令每次都要通过视图转换,才能作用到表上.如果不 ...

  4. parity的使用

    parity --chain dev --port 8045 ps aux | grep "parity" ps -elf | grep "pari"

  5. ThinkPHP自定义成功界面、失败界面、异常界面

    在ThinkPHP的手册中,附录里边的配置参考,有一个模板引擎设置. 或者在手册里面的控制器,跳转和重定向里面. 紧接着,就讲到了如何自定义这些界面. 将上诉的配置参数写到到配置文件里,修改路径到自己 ...

  6. 【iOS开发】字典的快速赋值 setValuesForKeysWithDictionary

    前言 在学习解析数据的时候,我们经常是这么写的:PersonModel.h文件中 @property (nonatomic,copy)NSString *name; @property (nonato ...

  7. intelliJ idea 使用技巧&方法

    导入的项目查看svn地址:在项目上右键--subversion--relocate可以看到以前对应的svn地址. 重要的几个快捷键的使用方式: (1)       alt+insert 成员变量封装 ...

  8. 【原创】Sagger使用

    Swagger使用 1. Spring MVC配置文件中的配置 <mvc:annotation-driven/> <context:component-scan base-packa ...

  9. 从pthread 到QThread

    该文出自:http://www.civilnet.cn/bbs/topicno/78430 使用线程技术进行应用编程的意义在gemfield的文章<从进程到线程>中已经介绍过了,我们就直奔 ...

  10. 【Python】Python—判断变量的基本类型

    type() >>> type(123)==type(456) True >>> type(123)==int True >>> type('ab ...