zootopia

Description

你意外来到了一个未知的星球, 这里是一个动物乌托邦, 生活着一群拥有非凡智力的动物.

你遇到了一个叫做尼克的狐狸, 他准备给他的 GF 过生日 。

他将制作一个巨大的多层蛋糕, 他已经有了一些圆柱形的单层蛋糕, 可以把这些蛋糕拼
装起来。 遗憾的是, 由于一些限制, 这些单层蛋糕并不能被全部利用, 你只能选出一部分来
制作多层蛋糕:

  • 1.物理学要求: 为了稳定和美观, 半径大的蛋糕必须在放在半径小的蛋糕下面。
  • 2.Mr.Big 的钦定要求: 编号小的蛋糕必须放在编号大的蛋糕下面。

作为交换, 他将向你介绍黑社会老大 Mr.Big, Mr.Big 会告诉你一些黑科技, 这也许是
击败人工智能的关键。

你需要帮他制定一个使多层蛋糕总体积最大的方案, 并计算出最大蛋糕的总体积。

注意: 两个半径相同的蛋糕不能放在一起。

Input

第一行一个整数 n,

接下来 n 行,第 i+1 行两个整数 R,H 分别表示编号为 i 的蛋糕的半径和高度。

Output

只有一行一个整数, 为最大总体积, 你需要精确到整数位。

Sample Input

5

10 7

12 1

1 4

9 7

1 1

Sample Output

3983.54

二维偏序稞题,首先按读入顺序更新线段树,以蛋糕半径为下标,以当前此半径为低的最优体积为线段树的值。最终答案为线段树中的最大值。

看到一份优秀的代码,写得比某蒟蒻好得多,发出来供大家参考。

 1     #include <iostream>
 2     #include <cstdio>
 3     #include <cstdlib>
 4     #include <cstring>
 5     #include <algorithm>
 6     #include <cmath>
 7     #include <stack>
 8     #include <map>
 9     #include <vector>
10     #include <queue>
11     #define ls (x << 1)
12     #define rs (x << 1 | 1)
13     #define mid ((l + r) >> 1)
14     #define L 100010
15     #define LL long long
16     const double pi = 3.14159265358979323846;
17     using namespace std;
18
19     inline int gi() {
20       char cj = getchar();
21       int ans = 0, f = 1;
22       while (cj < ‘0‘ || cj > ‘9‘) {
23         if (cj == ‘-‘) f = -1;cj = getchar();
24       }
25       while (cj >= ‘0‘ && cj <= ‘9‘) ans = ans * 10 + cj - ‘0‘, cj = getchar();
26       return f * ans;
27     }
28
29     int n, R, r[L], h[L];
30     LL v[L], tr[L << 3], ans;
31
32     inline LL query(int x, int l, int r, int a, int b) {
33       if (a <= l && b >= r) return tr[x];
34       if (b < l || a > r) return 0;
35       if (b <= mid) return query(ls, l, mid, a, b);
36       else if (a > mid) return query(rs, mid + 1, r, a, b);
37       else return max(query(ls, l, mid, a, mid), query(rs, mid + 1, r, mid + 1, b));
38     }
39
40     inline void update(int x, int l, int r, int a, LL w) {
41       if (l == r) {tr[x] = max(w, tr[x]); return ;}
42       if (a <= mid) update(ls, l, mid, a, w);
43       else if (a > mid) update(rs, mid + 1, r, a, w);
44       tr[x] = max(tr[ls], tr[rs]);
45     }
46
47     int main() {
48       n = gi();
49       for (int i = 1; i <= n; ++i) r[i] = gi(), h[i] = gi(), R = max(R, r[i]);
50       R++;
51       for (int i = 1; i <= n; ++i) {
52         LL maxx = query(1, 0, R, r[i] + 1, R);
53         v[r[i]] = max(v[r[i]], maxx + h[i] * r[i] * r[i]);
54         update(1, 0, R, r[i], v[r[i]]);
55       }
56       ans = query(1, 0, R, 0, R);
57       printf("%.2lf\n", ans * pi);
58       return 0;
59     }
时间: 2024-10-27 11:36:43

zootopia的相关文章

疯狂动物城 zootopia

今天下午出去溜达溜达,看了被大家安利了很久的疯狂动物城. 从技术上说,确实超级厉害啊.完整的呈现了一个动物的世界,而且对每个动物都有精准的刻画,对细节非常之讲究.也看过一些网上的动画技术分析贴,不得不感慨迪士尼强大的动画技术. 从动画的剧情来说,这部电影带给人的更多呀,作为一个将要步入工作岗位的女生,在女主角朱迪的身上多多少少看到了自己的影子,出身小城,要去一个大城市打拼,从事的行业带有偏见等等.抛开电影中表现的其他内容,对于我来说这个电影更像一碗心灵鸡汤,朱迪也像是我们这些正在奋斗的女生的一个

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

《疯狂动物城》观影感受

过了三个月才开始观看这部电影,这是一部制作精良的作品,让我愉快的度过了周末的夜晚. 该片讲述的是在一个动物和平共处的城市Zootopia,兔子朱迪通过自己不懈努力,实现自己童年梦想,成为一名动物城警察的故事. 有几个细节印象深刻. 第一就是去车管所查询车牌归属的情节,搞笑幽默有创意. 第二就是狐狸倾诉童年阴影的情节,造就了他的冷静. One,I was never gonna let anyone see that they got to me. Two,If the world's only

程序员超浓鸡汤,知乎上赞同数最高的999个回答

原文出处 http://lanbing510.info/2016/04/14/ZhiHu-Good-Answers.html#title0 最近发现这个文章,真的是非常适合程序员看的鸡汤文列表,超强浓缩版的!!! 1哪些素质很重要,却是读书学不来的?101501肥肥猫 2有哪些很重要又被忽视的炒菜技巧?85658庄力 3想要充实自己,有哪 10 本书和 10 部电影值得推荐?77738Jee Xin 4要怎样努力,才能成为很厉害的人?76144朱炫 5如何看待「医生拒绝给艾滋病人做手术」?748

Redis -- 01 入门

1. Redis是什么 与memcached 和 couchbase类似,redis是非常快速的基于内存的键值数据库,使用标准c编写,是使用最广泛的缓存中间件.利用Redis提供的五种基本数据类型(String, List, Set, Zset, Hash)可以做一些很灵活很强大的应用程序组件. 2. 安装 CentOS 通过redis的官方网站 http://redis.io/download 可以下载到最新的redis源代码 先安装gcc, 再make编译,然后make install 安装

A great tutorial with Jupyter notebook for ML beginners

An end to end implementation of a Machine Learning pipeline SPANDAN MADAN Visual Computing Group, Harvard University Computer Science and Artificial Intelligence Laboratory, MIT Link to Github Repo Section 1. Introduction Background In the fall of 20

内地电影票房总排行榜

WORLDWIDE GROSSES#1-100 - #101-200 - #201-300 - #301-400 - #401-500 - #501-600 - #601-700 - #701-705 Pink highlight = official revisions of older moviesGold highlight = now playing or recent movies Rank Title Studio Worldwide Domestic / % Overseas / 

疯狂动物城台词:

疯狂动物城 1.Fear, treachery, blood lust. 恐惧,背叛,还有血腥 treachery: lust: 2.Thousands of years ago, these were the forces that ruled our world. 很早很早以前,这是主宰我们世界的主要力量 3.A world where prey were scared of predators. 那是一个弱肉强食的世界 predators: 4.And predators had an u