HDU 2852 KiKi's K-Number(离线+树状数组)
省赛训练赛上一题,貌似不难啊。当初,没做出。离线+树状数组+二分。
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define N 100000
int p[];
int qur[][];
int lowbit(int t)
{
return t&(-t);
}
void insert(int t,int d)
{
while(t <= N)
{
p[t] += d;
t += lowbit(t);
}
}
int getsum(int t)
{
int sum = ;
while(t)
{
sum += p[t];
t -= lowbit(t);
}
return sum;
}
int bin(int x)
{
int str,end,mid;
if(x > getsum(N))
return -;
str = ;
end = N;
while(str < end)
{
mid = (str + end)/;
if(getsum(mid) < x)
str = mid + ;
else
end = mid;
}
return str;
}
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
memset(p,,sizeof(p));
for(i = ;i < n;i ++)
{
scanf("%d",&qur[i][]);
if(qur[i][] == ||qur[i][] == )
scanf("%d",&qur[i][]);
else
scanf("%d%d",&qur[i][],&qur[i][]);
}
for(i = ;i < n;i ++)
{
if(qur[i][] == )
insert(qur[i][],);
else if(qur[i][] == )
{
if(getsum(qur[i][])-getsum(qur[i][]-) > )
insert(qur[i][],-);
else
printf("No Elment!\n");
}
else
{
int flag;
flag = bin(getsum(qur[i][])+qur[i][]);
if(flag == -)
printf("Not Find!\n");
else
printf("%d\n",flag);
}
}
}
return ;
}
HDU 2852 KiKi's K-Number(离线+树状数组)的更多相关文章
- HDU 5603 the soldier of love 离线+树状数组
这是bestcorder 67 div1 的1003 当时不会做 看了赛后官方题解,然后翻译了一下就过了,而且速度很快,膜拜官方题解.. 附上官方题解: the soldier of love 我们注 ...
- HDU 5869 Different GCD Subarray Query 离线+树状数组
Different GCD Subarray Query Problem Description This is a simple problem. The teacher gives Bob a ...
- HDU 1394:Minimum Inversion Number(树状数组,线段树)[水]
题意:有0~n-1这n个数,以一定的排列.这个排列可以循环,就是可以把第一个拿到最后,然后形成新的排列.问这些排列中的逆序对最小值. 思路: 最后的循环,拿走一个之后,新的逆序对数 newsum = ...
- hdu 4605 Magic Ball Game (在线主席树/离线树状数组)
版权声明:本文为博主原创文章,未经博主允许不得转载. hdu 4605 题意: 有一颗树,根节点为1,每一个节点要么有两个子节点,要么没有,每个节点都有一个权值wi .然后,有一个球,附带值x . 球 ...
- HDU 4417 离线+树状数组
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 区间的关系的计数 HDU 4638 离线+树状数组
题目大意:给你n个人,每个人都有一个id,有m个询问,每次询问一个区间[l,r],问该区间内部有多少的id是连续的(单独的也算是一个) 思路:做了那么多离线+树状数组的题目,感觉这种东西就是一个模板了 ...
- HDU - 4777 离线树状数组
离线树状数组搞一搞. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #de ...
- 13年山东省赛 Boring Counting(离线树状数组or主席树+二分or划分树+二分)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud 2224: Boring Counting Time Limit: 3 Sec ...
- SPOJ DQUERY - D-query (莫队算法|主席树|离线树状数组)
DQUERY - D-query Given a sequence of n numbers a1, a2, ..., an and a number of d-queries. A d-query ...
随机推荐
- failed to load session "ubuntu"
https://answers.launchpad.net/ubuntu/+source/gnome-desktop/+question/211792
- PHP 遍历数组的方法汇总
1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法. #example1: <?php $colors= array('red','blue','green' ...
- 【Python】python 普通继承方式和super继承方式
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递.举一个很常见的例子:>>&g ...
- HTML模仿桌面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ext树表+ZeroClipboard复制链接功能
效果图:
- 解决 mysql 启动报错--发现系统错误2,系统找不到指定的文件
HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-services-mysql(服务名)-ImagePath 更改为(自己的):"C:\Program ...
- 昨天用的流量有点多60M
就是因为值班这里没有无线,然后自己又是受前几次的影响,没有收到微信,然后就看了热点,这是用的快的.
- ssh ip "WARING:REMOTE HOST IDENTIFICATION HAS CHANGED!"
[root@ok network-scripts]# ssh 192.168.1.10 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- 使用Java内存映射(Memory-Mapped Files)处理大文件
>>NIO中的内存映射 (1)什么是内存映射文件内存映射文件,是由一个文件到一块内存的映射,可以理解为将一个文件映射到进程地址,然后可以通过操作内存来访问文件数据.说白了就是使用虚拟内存将 ...
- 微信支付v3发布到iis时的证书问题(转)
本文纯粹转载(原地址:微信支付v3发布到iis时的证书问题 ) 一开始报“出现了内部错误” 解决方法是 方法一 var cer = new X509Certificate(certpath, pass ...