题目链接 http://vjudge.net/problem/POJ-2182

解题思路

用最朴素的想法,从尾到头扫描,再开两个循环找空位,时间复杂度O(n3),容易超时。

正确的做法是建立线段树。维护每个区间的长度。长度足够排下就往左子树走,否则往右子树。

直到叶子节点,此时叶子节点的区间(点)为此奶牛的编号。

代码

#include<stdio.h>
#define MAX_SIZE 10010
struct Node {int l, r;int len;
}tree[4*MAX_SIZE];
int small[MAX_SIZE], q[MAX_SIZE];
void BuildTree(int root, int left, int right)
{if(left == right) {tree[root].l = tree[root].r = right;tree[root].len = 1;return ;}tree[root].l = left; tree[root].r = right;tree[root].len = right - left + 1;int mid = (left + right) / 2;BuildTree(root*2, left, mid);BuildTree(root*2+1, mid+1, right);
}
int query(int root, int s)
{tree[root].len--;if(tree[root].l == tree[root].r) return tree[root].l;if(tree[root*2].len >= s) return query(root*2, s);else return query(root*2+1, s - tree[root*2].len);
}
int main()
{int n;scanf("%d", &n);for(int i=2; i<=n; i++) scanf("%d", &small[i]);small[1] = 0;BuildTree(1, 1, n);for(int i=n; i>=1; i--) q[i] = query(1, small[i]+1);for(int i=1; i<=n; i++) printf("%d\n", q[i]);return 0;
}

转载于:https://www.cnblogs.com/ZengWangli/p/5890941.html

poj2182-Lost Cow相关推荐

  1. POJ2182 HDU2711 Lost Cows【树状数组+线段树】

    Lost Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17113 Accepted: 10664 Descripti ...

  2. POJ 3268 D-Silver Cow Party

    http://poj.org/problem?id=3268 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...

  3. usaco Cow Tours 牛的旅行

    Cow Tours 牛的旅行 农民 John 的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场. 但是就目前而言,你能看到至少有两个牧区不连通.这样,农民 John 就有 ...

  4. 贪心  POJ - 3617 ​​​​​​​Best Cow Line

    Best Cow Line POJ - 3617 FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of ...

  5. 【POJ】3268 Silver Cow Party (将有向图的边反转)

    问题链接:http://poj.org/problem?id=3268 [问题描述] One cow from each of N farms (1 ≤ N ≤ 1000) conveniently ...

  6. 解题报告:CF1307D Cow and Fields(最短路、最优解不等式化简)

    CF1307D Cow and Fields 整张无向图的边权为1. 首先求出 1,n1,n1,n 两个点的单源最短路径.这 kkk 个特殊点中,我们令第 aaa 个特殊点到 111 的距离为 xax ...

  7. SP11469 SUBSET - Balanced Cow Subsets(折半搜索+状态压缩)难度⭐⭐⭐⭐★

    题目链接 SP11469 SUBSET - Balanced Cow Subsets 题目翻译 给出N(1≤N≤20)N(1≤N≤20)N(1≤N≤20)个数M(i)(1<=M(i)<=1 ...

  8. P2888 [USACO07NOV]牛栏Cow Hurdles(Floyd算法)

    P2888 [USACO07NOV]牛栏Cow Hurdles 行 1-T: 行 i 为一个整数,表示任务i路径上最高的栏的高度的最小值.如果无法到达,输出 -1. 5 6 3 1 2 12 3 2 ...

  9. P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希)

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Gold(加强版)(贪心+hash哈希) 洛谷上这道水题丧心病狂地把数据范围加到了500000 普通的做法肯定A不了了, ...

  10. H - Cow Contest POJ - 3660(Floyd 传递闭包)

    H - Cow Contest POJ - 3660 题意: 有 n 头牛比赛,边 1 -> 2 代表 1 能赢 2 ,给你 m 条边,问能确定出多少头牛的名次? 思路: 如果 1->2 ...

最新文章

  1. java总复习_java期末复习
  2. 【实用】C#测试web服务是否可用
  3. php置顶文章,php实现文章置顶功能的方法
  4. 延迟任务调度系统—技术选型与设计(上篇)
  5. 华为云AI斩获2019数博会“黑科技”等四大奖项
  6. setuptools Command Reference
  7. python log
  8. 数据库——关系数据理论学习笔记
  9. pytorch forward
  10. Java实用教程(第5版)参考答案
  11. 网络工程制图论文计算机,工程制图论文.doc
  12. CentOS 查看操作系统版本
  13. 蔡为东:行之有效的IT技术团队管理实践
  14. 获取代理IP的三种途径
  15. tp5 mysql悲观锁_thinkphp悲观锁机制处理高并发
  16. Latex 中的空格汇总
  17. 零极限:关于蓝色太阳水原理
  18. ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流
  19. python中迭代_python中的迭代什么意思
  20. 计算机管理员权限打不开怎么办,administrator管理员权限怎么打开?

热门文章

  1. 如何查看mongo集合的数据类型
  2. ICLR 2022 论文列表公布,接收率高达 32%
  3. 【实战】NLP命名实体识别开源实战教程
  4. 20191228_Python语言课程设计
  5. 养成女友?我训练出了一个“杨超越”聊天机器人
  6. pycharm—误删代码怎么办
  7. mysql基础7-MYSQL连接查询
  8. 图论算法——Prim算法和Kruskal算法
  9. 博文视点云原生书单丨释放云原生技术红利
  10. Tesler去世丨你逃不过复制粘贴,同样也逃不过Tesler定律