关键词:
二次联通门 : 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个女生,男生和女生之间存在喜欢关系(只可能互相喜欢,不存在单向喜欢),给出一个字符矩阵代表男生女生之间的关系。他们要跳舞,跳舞的时候有歌,可以跳若干首歌,每... 查看详情