标签:奶牛 头牛 谜一样 sum int acw.244 Ai 身高
有 n头奶牛,已知它们的身高为 1∼n 且各不相同,但不知道每头奶牛的具体身高。
现在这 nn 头奶牛站成一列,已知第 i头牛前面有 Ai 头牛比它低,求每头奶牛的身高。
输入格式
第 1行:输入整数 nn。
第 2..n行:每行输入一个整数 Ai,第 i行表示第 i 头牛前面有Ai 头牛比它低。
(注意:因为第 1 头牛前面没有牛,所以并没有将它列出)
输出格式
输出包含 n行,每行输出一个整数表示牛的身高。
第 i 行输出第 i 头牛的身高。
数据范围
1≤n≤105
笔记: 树状数组可以记录sum(x),1~x的前缀和,x前缀和记录身高比x小的牛的数量,和二分结合找sum(x)=k+1。
打卡:https://www.acwing.com/file_system/file/content/whole/index/content/2754779/
int main(){ cin>>n; for(int i=2;i<=n;i++)cin>>h[i]; for(int i=1;i<=n;i++)tr[i]=lowbit(i); for(int i=n;i;i--){ int k=h[i]+1; int l=1,r=n; while(l<r){ int mid=(l+r+1)>>1; if(sum(mid)<k)l=mid; else r=mid-1; } ans[i]=l; add(l,-1); } for(int i=1;i<=n;i++)cout<<ans[i]<<endl; return 0; }
标签:奶牛,头牛,谜一样,sum,int,acw.244,Ai,身高 来源: https://www.cnblogs.com/reene/p/15142545.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。