【NOIP 模拟赛】区间第K大(kth) 乱搞
这道题就是预处理,我们就是枚举每一个数,找到左边比他大的数的个数以及其对应的区间,右边也如此,我们把左边的和右边的相乘就得到了我们的答案,我们发现这是O(n^3)的,但是实际证明他能A,分析证明他的时间复杂度是较小的,这个故事告诉我们,对于一些估计的时间复杂度,如果我们估计得太草率以至于他过于偏离实际我们往往会做出错误的决定,于是我们对于某一些拿不准的时间复杂度应该稍作分析。
正解FFT.............
#include <cstdio>
#include <cstring>
namespace Pre{
inline void read(int &sum){
register char ch=getchar();bool symbol=;
for(sum=;ch<''||ch>'';ch=getchar())if(ch=='-')symbol=;
for(;ch>=''&&ch<='';sum=(sum<<)+(sum<<)+ch-'',ch=getchar());
if(symbol)sum=-sum;
}
const int N=;
int Num_Kth[N][N];
int z[N],y[N],l,r,Q;
int n,a[N];
inline void Init(){
for(int mid=;mid<=n;mid++){
memset(z,,sizeof(z));
memset(y,,sizeof(y));
l=r=;z[]=y[]=;
for(int i=mid-;i>;--i){
if(a[i]>=a[mid])++l;
++z[l];
}
for(int i=mid+;i<=n;++i){
if(a[i]>a[mid])++r;
++y[r];
}
for(int i=;i<=l;++i)
for(int j=;j<=r;++j)
Num_Kth[a[mid]][i+j+]+=z[i]*y[j];
}
}
}
namespace P=Pre;
inline void Init(){
P::read(P::n),P::read(P::Q);
for(int i=;i<=P::n;i++)P::read(P::a[i]);
P::Init();
}
inline void Work(){
register int k,x;
while(P::Q--){
P::read(k),P::read(x);
printf("%d\n",P::Num_Kth[x][k]);
}
}
int main(){
Init(),Work();
return ;
}
【NOIP 模拟赛】区间第K大(kth) 乱搞的更多相关文章
- noip模拟赛 区间
分析:要遍历所有的区间,肯定是枚举左端点,然后再枚举右端点.关键是怎么高效地求区间&,|,一般而言是用前缀和的,但是&,|不满足区间可减性,所以可以考虑线段树?这道题不带修改操作,用线 ...
- POJ 2104 K-th Number 主席树(区间第k大)
题目链接: http://poj.org/problem?id=2104 K-th Number Time Limit: 20000MSMemory Limit: 65536K 问题描述 You ar ...
- HDU 2665 Kth number(主席树静态区间第K大)题解
题意:问你区间第k大是谁 思路:主席树就是可持久化线段树,他是由多个历史版本的权值线段树(不是普通线段树)组成的. 具体可以看q学姐的B站视频 代码: #include<cmath> #i ...
- [hdu2665]Kth number(划分树求区间第k大)
解题关键:划分树模板题. #include<cstdio> #include<cstring> #include<algorithm> #include<cs ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOI.AC NOIP模拟赛 第三场 补记
NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不 ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
随机推荐
- 在Pycharm中导入第三方模块库(诸如:matplotlib、numpy等)
在Pycharm中导入第三方模块库 一.打开pycharm: 二.点击菜单上的“file” -> “setting”: 三.步骤二完成后出现界面如下所示.选中你的项目(比如thisyan Pro ...
- stm32+lwip(四):网页服务器测试
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...
- HDOJ 1176 免费馅饼(完全背包)
参考:https://blog.csdn.net/hhu1506010220/article/details/52369785 https://blog.csdn.net/enjoying_scien ...
- MOVE-PERCENTAGE(文字列の部分の代入)
以下の MOVE 命令のバリアントは.c 型項目についてのみ機能します. MOVE c1 TO c2 PERCENTAGE p [RIGHT]. 左寄せした (RIGHT オプションを指定した場合は右 ...
- 理解Canvas像素边界
大家看下面的例子 var context = document.getElementById('canvas').getContext('2d'); context.lineWidth = 1; co ...
- sqlserver一次性删除master数据库中的所有用户添加的表
use master; go sp_msforeachtable @command1="drop table ?" go
- Java测试工具和框架
个人目前只接触过JUnit以及Powermock,后续会关注更多有关测试这方面的东西 8个超实用的Java测试工具和框架_开发/数据库_IT专家网 http://database.ctocio.com ...
- 【APUE】Chapter13 Daemon Processes
这章节内容比较紧凑,主要有5部分: 1. 守护进程的特点 2. 守护进程的构造步骤及原理. 3. 守护进程示例:系统日志守护进程服务syslogd的相关函数. 4. Singe-Instance 守护 ...
- ionic 入口禁止加载其他页面
.state('memberOrders', { prefetchTemplate: false, url: '/memberOrders', templateUrl: '/MemberOrders' ...
- Spotlight on MySQL
聚光灯在MySQL 1.Sessios会话Total Users:总用户数前连接到MySQL服务器的用户会话总数Active Users:活跃用户此控件表示连接到当前正在执行SQL语句或其他数据库请求 ...