hdu 4217 (线段树)
来源:互联网 发布:淘宝联盟qq群推广 编辑:程序博客网 时间:2024/05/01 08:38
点击打开链接
模版级别线段树。。
#include"stdio.h"#include"string.h"#define N 300001struct tree{int x,y,mid;int count;}A[3*N];void creat(int x,int y,int k){A[k].x=x;A[k].y=y;A[k].mid=(x+y)/2;A[k].count=1;if(x==y)return ;creat(x,A[k].mid,2*k);creat(A[k].mid+1,y,2*k+1);A[k].count=A[k*2].count+A[k*2+1].count;return ;}int find(int x,int k){if(A[k].x==A[k].y&&A[k].count==1&&x==1){A[k].count=0;return A[k].x;}int ans;if(x>A[2*k].count)ans=find(x-A[2*k].count,2*k+1);else ans=find(x,2*k);A[k].count=A[k*2].count+A[k*2+1].count;return ans;}int main(){int T;int t;int n,m;int i,j;__int64 ans;scanf("%d",&T);t=1;while(T--){scanf("%d%d",&n,&m);creat(1,n,1);ans=0;for(i=0;i<m;i++){scanf("%d",&j);if(j==0)continue;ans+=find(j,1);}printf("Case %d: %I64d\n",t++,ans);}return 0;}
- hdu 4217 (线段树)
- hdu 4217 线段树
- hdu 1166(线段树)
- hdu billboard (线段树)
- hdu LCIS(线段树)
- hdu Billboard (线段树)
- hdu 1556(线段树)
- hdu 1166(线段树)
- hdu 1698 (线段树)
- hdu 1754 (线段树)
- Hdu 4578 (线段树)
- hdu 4614(线段树)
- Hdu 3333 (线段树)
- hdu 4638 (线段树)
- hdu 1394(线段树)
- 线段树(hdu 1754)
- hdu 5023 (线段树 )
- hdu 1754(线段树)
- 构造函数中初始化成员
- 无线模块WizFi630问题集锦
- 关联其它程序打开txt类型文件
- C语言获取本机名称
- 正则表达式判断合法的电话号码
- hdu 4217 (线段树)
- C语言获取当前登录用户名
- 设计模式原来如此-单例模式(Singleton Pattern)
- Shell脚本编程的常识
- Tor源码文件分析 -- Cpuworker
- 访问simulator app的文件目录
- C++获取进程启动参数
- MFC计算两个日期的时差
- 系统分析师考试经验分享