poj 2886 (线段树 统计左右各有多少个节点.)
来源:互联网 发布:办公室必备软件 编辑:程序博客网 时间:2024/05/23 15:53
什么是反素数..
#include<iostream>#define N 5000006#include<cstdio>using namespace std;int div_num[N];int max_id[N];char name[N][12];int n_person; int s_id;int card[N];struct Node{ int l,r; int mid; int cnt;};Node node[5*N];int flag;void init_tree(int id,int l,int r);void query(int id,int num);void init() ;int main(){ freopen("in.txt","r",stdin); init(); while(scanf("%d%d",&n_person,&s_id)!=EOF) { for(int i=0;i<n_person;i++) { scanf("%s%d",name[i],&card[i]); } init_tree(1,0,n_person); int x=max_id[n_person]; int t=s_id; int num=n_person; int tmp=0; int id; while(x--) { if(tmp<0) { tmp%=num; tmp=num+tmp+1; } t=(t+tmp-1)%num; // cout<<t<<endl; query(1,t+1); tmp=card[flag]; num--; } printf("%s %d",name[flag],div_num[max_id[n_person]]+2); }}void init_tree(int id,int l,int r){ node[id].l=l; node[id].r=r; node[id].cnt=r-l; node[id].mid=(l+r)/2; if(l+1==r) return; init_tree(2*id,l,node[id].mid); init_tree(2*id+1,node[id].mid,r);}void query(int id,int num){ node[id].cnt--; if(node[id].l+1==node[id].r) { flag=node[id].l; return ; } if(node[2*id].cnt>=num) query(2*id,num); else query(2*id+1,num-node[2*id].cnt);}void init() //约数的个数{ int i=2; div_num[1]=-1; while(i<N) { if(div_num[i]>div_num[max_id[i-1]]) max_id[i]=i; else max_id[i]=max_id[i-1]; for(int j=i+i;j<N;j+=i) div_num[j]++; i++; }}
- poj 2886 (线段树 统计左右各有多少个节点.)
- POJ 1737 统计有n个顶点的连通图有多少个 (带标号)
- N个节点二叉树有多少种形态
- n个节点的二叉树有多少种形态
- N个节点的二叉树有多少种形态
- N个节点的二叉树有多少种形态
- N个节点的二叉树有多少种形态
- N个节点的二叉树有多少种形态
- N个节点的二叉树有多少种形态
- 面试题:完全二叉树699个节点,则叶子节点有多少个?
- 顺序二叉树,求m下面有多少个节点(总共n个节点)
- 统计1~n有多少个9
- HDU 1312 统计有多少个点
- HDU 1312 统计有多少个点
- 统计1~n有多少个9
- 统计1~n有多少个9
- 统计1~n有多少个9
- 800个节点的完全二叉树共有多少个叶子节点?相反,已知叶子节点,求最多有多少个节点!
- 关于MYSQL索引优化和in or替换为union all
- ssh登录局域网主机,复制文件
- 首款MeeGo系统上网本 华硕Eee PcX101H独家首测(7)
- axis2 pentest
- UNICODE中我调用了一些库,库中函数不支持Unicode怎么办
- poj 2886 (线段树 统计左右各有多少个节点.)
- JavaScript中window.showModalDialog()详解
- test
- QT导出dll 与 QT调用dll
- eclipse配置Android或OPhone提示Failed to find an AVD compatible with target 'Android 1.5'. Launch aborted.
- python体验
- 程序员,还是公务员?是时候考虑了。
- 多线程太可怕了
- mitab库的API函数注释