bzoj1303:[cqoi2009]中位数图

ZlycerQan ZlycerQan     2022-09-18     652

关键词:

二次联通门 : BZOJ 1303: [CQOI2009]中位数图

 

 

 

 

/*
    BZOJ 1303: [CQOI2009]中位数图
    
    对于一个数
    若当前数大于中位数,则记为1
    小于中位数,记为-1,等于则记为0

    对原数列做一个前缀和

    观察发现,若一段区间符合要求
    则该段区间内大于中位数的数的数量等于小于中位数的
    那么统计一下每个前缀和出现的次数就好了
    
*/
#include <cstdio>
#include <iostream>

const int BUF = 12312313;
char Buf[BUF], *buf = Buf;

inline void read (int &now)
{
    for (now = 0; !isdigit (*buf); ++ buf);
    for (; isdigit (*buf); now = now * 10 + *buf - 0, ++ buf);
}
#define Max 100002
int c[Max], s[Max];
short fc[Max], zc[Max];

int Main ()
{
    fread (buf, 1, BUF, stdin); int N, B; read (N), read (B);
    register int i, j; int x, p = -1, Answer = 0;
    for (i = 1; i <= N; ++ i) 
    {
        read (x); s[i] = s[i - 1];
        if (x > B) ++ s[i];    else if (x < B) -- s[i]; else p = i;
        if (p == -1) s[i] < 0 ? ++ fc[- s[i]] : ++ zc[s[i]];    
    }
    for (++ zc[0]; p <= N; ++ p) Answer += s[p] < 0 ? fc[- s[p]] : zc[s[p]];
    printf ("%d", Answer);    
    return 0;
}
int ZlycerQan = Main ();
int main (int argc, char *argv[]) {;}

 

bzoj1303:[cqoi2009]中位数图前缀和

1303:[CQOI2009]中位数图TimeLimit:1Sec  MemoryLimit:162MBSubmit:2737  Solved:1698[Submit][Status][Discuss]Description给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,... 查看详情

bzoj1303[cqoi2009]中位数图

本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作。   本文作者:ljh2000   作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! &... 查看详情

bzoj1303:[cqoi2009]中位数图

...个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。题解:从中位数向左右扫,小于b减一,大于b加一。让左右两边之和为0就是一个合法的连续子序列,... 查看详情

bzoj千题计划175:bzoj1303:[cqoi2009]中位数图

http://www.lydsy.com/JudgeOnline/problem.php?id=1303 令c[i]表示前i个数中,比d大的数与比d小的数的差,那么如果c[l]=c[r],则[l+1,r]满足条件 #include<cstdio>#include<iostream>usingnamespacestd;constintN=1e7;intc[ 查看详情

bzoj1303:[cqoi2009]中位数图

...个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。Input第一行为两个正整数n和b,第二行为1~n的排列。Output输出一个整数,即中位数为b的连续子序列个数... 查看详情

bzoj1303cqoi2009中位数图

...定的一段包含1-n的序列中找出多少个长度为奇数子序列的中位数为t。 第一眼没看数据范围,于是开心的打了一个O(n^3)的循环,TLE.... 想了想,子序列中必须包含t,所以子序列中其他数的个数必定为偶数,所以子序列... 查看详情

bzoj[cqoi2009]中位数图(代码片段)

...就是l[i]*r[2*n-i]//和为2*n,即减去加上的n,和为0,此时b为中位数 因为题目中说要满足长度为奇数,此时若两个和加起来为2*n,个数相加一定为偶数,加上一个b就为奇数了#include<bits 查看详情

[cqoi2009]中位数图(代码片段)

[CQOI2009]中位数图这是一道OI真题,我们来看看题目:顺便放下地址吧:[CQOI2009]中位数图读了题目之后发现直接枚举是不行的,会超时,那么我们就得换种思路了,我们可以把大于目标数的数设置为1,... 查看详情

bzoj1305:[cqoi2009]dance跳舞

题目链接bzoj1305:[CQOI2009]dance跳舞题解男,女生拆点A1A2,B1B2,拆成两点间分别连容量为K的边,限制与不喜欢的人跳舞的数量A1连接源点容量为x,B1连接汇点容量为x,x即为歌曲数目对与相互喜欢的男女直在A1,B1间接连容量为1的边... 查看详情

[cqoi2009]中位数(前缀和)(代码片段)

[CQOI2009]中位数题目描述给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。输入输出格式输入格式:第一行为两个正整数n和b,第二行为1~n的... 查看详情

bzoj1304:[cqoi2009]叶子的染色

1304:[CQOI2009]叶子的染色TimeLimit: 10Sec  MemoryLimit: 162MBSubmit: 566  Solved: 358[Submit][Status][Discuss]Description给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结 查看详情

bzoj1305[cqoi2009]dance跳舞

1305:[CQOI2009]dance跳舞TimeLimit: 5Sec  MemoryLimit: 162MBSubmit: 2693  Solved: 1111[Submit][Status][Discuss]Description一次舞会有n个男孩和n个女孩。每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞。 查看详情

[bzoj1305][cqoi2009]跳舞(网络流)(代码片段)

1305:[CQOI2009]dance跳舞TimeLimit:5Sec  MemoryLimit:162MBSubmit:3944  Solved:1692[Submit][Status][Discuss]Description一次舞会有n个男孩和n个女孩。每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞。每个男孩都不会和同一个女孩跳... 查看详情

bzoj1304[cqoi2009]叶子的染色树形dp

【BZOJ1304】[CQOI2009]叶子的染色Description给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都... 查看详情

bzoj1305:[cqoi2009]dance跳舞

这题一眼过去网络流,关键是怎么流的问题。。然后回忆起了好久没用过的二分答案+网络流。解法很神奇,主要是构图问题,直接看代码应该看得懂吧(懒得写23333#include<cstdio>#include<iostream>#include<cstring>#include<cst... 查看详情

bzoj1305[cqoi2009]dance跳舞

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1305【题解】把男孩看成点,女孩看成点,一眼就知道是个匹配模型。把男孩拆成B1,B2,女孩拆成G1,G2$B1_i ightarrowB2_i,[k]$$G2_i ightarrowG1_i,[k]$表示至多跟k个不喜欢的人跳舞。如果$(i,j)$喜... 查看详情

bzoj千题计划233:bzoj1304:[cqoi2009]叶子的染色

http://www.lydsy.com/JudgeOnline/problem.php?id=1304 结论1:根节点一定染色如果根节点没有染色,选择其子节点的一个颜色,那么所有这个颜色的子节点都不用染色。答案不会更差。结论2:相邻节点不会染同一种颜色将深度更大的那个... 查看详情

bzoj1305:[cqoi2009]dance跳舞

【传送门:BZOJ1305】简要题意:  有n个男生和n个女生,男生和女生之间存在喜欢关系(只可能互相喜欢,不存在单向喜欢),给出一个字符矩阵代表男生女生之间的关系。他们要跳舞,跳舞的时候有歌,可以跳若干首歌,每... 查看详情