栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2182 Lost Cows

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2182 Lost Cows

#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 8005int n, f[maxn];int ar[maxn];int ans[maxn];int lowb(int t){    return t &(-t);}void add(int i, int v){    for (; i < maxn; ar[i] += v, i += lowb(i));}int sum(int i){    int s =0;    for (; i >0; s += ar[i], i -= lowb(i));    return s;}int calspace(int index){    return index - sum(index);}int binarysearch(int a){    int l =1;    int r = n;    int mid;    while (l < r)    {        mid = (l + r) /2;        int temp = calspace(mid);        if (temp < a) l = mid +1;        else r = mid;    }    return l;}int main(){    scanf("%d", &n);    f[0] =0;    for (int i =1; i < n; i++)        scanf("%d", &f[i]);    for (int i = n -1; i >=0; i--)    {        int a = binarysearch(f[i] +1);        ans[i] = a;        add(a, 1);    }    for (int i =0; i < n; i++)        printf("%dn", ans[i]);    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378067.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号