zoj 3635(树状数组求K大)
来源:互联网 发布:免费大数据分析软件 编辑:程序博客网 时间:2024/04/27 19:00
zoj题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3635
解题报告人:GHQ(SpringWater)
题目大意:每次从编号1-n删除一个数字,重新编号1-(n-1),重复操作,问你每次删除的那个编号的最初编号是?
解题思路,利用树状数组,求出第K大的编号是ans,则当前编号为k的最初编号为ans!
求最低位
int Lowbit(int t)
{
return t & ( t ^ ( t - 1 ) );
}
求前n项和:
int Sum(int end)
{
int sum = 0;
while(end > 0)
{
sum += in[end];
end -= Lowbit(end);
}
return sum;
}
对某个元素进行加法操作:
void plus(int pos , int num)
{
while(pos <= n)
{
in[pos] += num;
pos += Lowbit(pos);
}
}
#include<stdio.h>#include<string.h>#define MAXN 50005int res[MAXN],c[MAXN];int find_kth(int k,int N){ int ans = 0, cnt = 0, i; for (i = 20; i >= 0; i--) { ans += (1 << i); if (ans >= N|| cnt + c[ans] >= k) ans -= (1 << i); else cnt += c[ans]; } return ans + 1;}int lowbit(int x){ return x & -x;}void add(int x, int num,int N){ for ( ; x <= N; x += lowbit(x)) c[x] += num;}int main(){int N,K,i,num;while(~scanf("%d",&N)){memset(c,0,sizeof(c));for(i=1;i<=N;i++)add(i,1,N);for(i=1;i<=N;i++){scanf("%d",&K);res[i]=find_kth(K,N);add(res[i],-1,N);}scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d",&num);if(i<N)printf("%d ",res[num]);elseprintf("%d",res[num]);}printf("\n");}return 0;}
- zoj 3635(树状数组求K大)
- zoj 3635 Cinema in Akiba 树状数组求第K大
- zoj 2112 主席树+树状数组求动态第k大
- 树状数组求第k大值
- ZOJ 2112 动态第k大 主席树+树状数组
- ZOJ 2112 Dynamic Rankings 树状数组套主席树 单点修改求动态区间第K大
- ZOJ 2112 Dynamic Rankings (动态第k大,树状数组套主席树)★★
- ZOJ 2112 Dynamic Rankings (动态第k大,树状数组套主席树)
- zoj 2112 Dynamic Rankings(动态第k大,树状数组套主席树)
- 树状数组 求第K大的数 Swun1012
- hdu 5249 树状数组求第K大
- Poj 2985 树状数组求第k大
- hdu 5249 KPI 离线+树状数组求第k大
- 求第K小/大的数(树状数组解法)
- 求第K小/大的数(树状数组解法)【续】
- HDU 4217 Data Structure?(树状数组求前k大)
- hdu step5.3.3 Median Filter(树状数组求第k大的值)
- zoj 2112 树状数组 套主席树 动态求区间 第k个数
- 软件分享 数码大师破解版
- 深圳10.1中秋国庆免费玩的旅游景点 吃喝玩乐汇总
- 用EXCLE把汉字转化成拼音
- android SearchableDictionary 示例 详解
- 如何实现FHSS模型和CST模型之间的相互导入导出!
- zoj 3635(树状数组求K大)
- 应用层和传输层的关系
- HGE 系列教材(8) --- hgeResourceManager helper class(本文未完成)
- 基于vs2008的OpenCV2.3.1配置及SIFT算法实现
- 设计模式--单例模式(一)懒汉式和饿汉式
- 1019 打怪的力量
- WPF Cover Flow Tutorial : Part 6
- poj 1088 滑雪
- VBS脚本的一些问题以及WIN7环境下运行VBS脚本