每次找到两边离中心最高的板,如果等,再找外围的最高版...
画图便于理解
两边先找到距离(-1,1)最近的最大值L和R,因为可能存在多个最高的挡板。
接着比较两个L和R的大小,相等的话分别分析两边,取最小值
注意L和R一边高的话两边都会流,所以这块的时间要乘2。
比如分析右边,从最外围开始,顶部画平行线往内部走,就发现分成了几个区间,加起来就可以了。
L,R不等的话,(这里出现了一个坑),高的那边可能有比低的那边高的其他边;然后又有一个坑,可能找到的边和低的那个边等高

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; const int N = ;
int l, r, x[N], y[N];
int L, R, idl, idr; void read() {
R = L = ;
for (int i = l; i <= r; i += ) {
if (i < ) {
scanf("%d", &x[(-i)/]);
if (L <= x[(-i)/]) {
L = x[(-i)/]; idl = (-i)/;
}
}
else {
scanf("%d", &y[i/]);
if (R < y[i/]) {
R = y[i/]; idr = i/;
}
}
}
return ;
} int solve() {
l = (-l) / ; r = r / ;
int tmp;
if (R == L) {
int k = , t = ;
tmp = x[l];
for (int i = l; i > idl; i--) {
k += tmp; tmp = max(tmp, x[i-]);
}
tmp = y[r];
for (int i = r; i > idr; i--) {
t += tmp; tmp = max(tmp, y[i-]);
} return (idl + idr + ) * R * + min(k, t) * * ;//*2*2因为要从中间分开流
} else {
int T = min(R, L);
int p = , q = , k = , t = ;
while (p < l && x[p] < T) p++;
while (q < r && y[q] < T) q++; if (R > L) {
tmp = y[q];
for (int i = q; y[i] <= L; i++) {
k += tmp; tmp = max(tmp, y[i+]);
}
tmp = x[l];
for (int i = l; i > p; i--) {
t += tmp; tmp = max(tmp, x[i-]);
} } else {
tmp = x[p];
for (int i = p; x[i] <= R; i++) {
k += tmp; tmp = max(tmp, x[i+]); //k是从另一边流(如果开始找到的边高度等于T),直到遇到高于T的
}
tmp = y[r];
for (int i = r; i > q; i--) {
t += tmp; tmp = max(tmp, y[i-]);
}
}
int ans = t> k ? t + k : * t; //t<k,说明确实要分开流,从T那边流走的时间;t>k,(总体积2*k+2*k+2*(t-k))
return ans * + (p + q + ) * T * ;
}
} int main() {
while (scanf("%d%d", &l, &r) == && l && r) {
read();
printf("%d\n", solve());
}
return ;
}

uva10366 Faucet Flow的更多相关文章

  1. uva 10366 Faucet Flow

    题意: 给出l和r,然后从l坐标到r坐标每隔两个位置有一个档板,给出挡板的高度,然后想(-1, 1)中间加水,问什么时候会溢出. 分析: 两边先找到距离(-1,1)最近的最大值L和R.接着比较两个L和 ...

  2. 一位学长的ACM总结(感触颇深)

    发信人: fennec (fennec), 信区: Algorithm 标 题: acm 总结 by fennec 发信站: 吉林大学牡丹园站 (Wed Dec 8 16:27:55 2004) AC ...

  3. HOJ题目分类

    各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...

  4. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  5. [LeetCode] Pacific Atlantic Water Flow 太平洋大西洋水流

    Given an m x n matrix of non-negative integers representing the height of each unit cell in a contin ...

  6. BZOJ 4390: [Usaco2015 dec]Max Flow

    4390: [Usaco2015 dec]Max Flow Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 113[Submi ...

  7. ArcGIS制作放射状流向地图(Radial Flow Map)

    流向地图火了,因为Facebook的那张著名的友邻图,抑或因为<数据可视化之美>中介绍飞行模式的航线图,总之,流向地图以它特殊的可视化形式,直观地展示事物之间的联系,尤其在展示网络流向.贸 ...

  8. SSIS Data Flow优化

    一,数据流设计优化 数据流有两个特性:流和在内存缓冲区中处理数据,根据数据流的这两个特性,对数据流进行优化. 1,流,同时对数据进行提取,转换和加载操作 流,就是在source提取数据时,转换组件处理 ...

  9. Data Flow的Error Output

    一,在Data Flow Task中,对于Error Row的处理通过Error Output Tab配置的. 1,操作失败的类型:Error(Conversion) 和 Truncation. 2, ...

随机推荐

  1. 【2017省中集训DAY1T1】 小X的质数

    [题目链接] 点击打开链接 [算法] 如果一个数是小X喜欢的数,那么有两种可能: 1.这个数是质数 2.这个数除以它的最小质因子是一个质数 所以我们可以用线性筛+前缀和的方式预处理,询问的时候O(1) ...

  2. SKU的结构与页面渲染

    http://blog.jobbole.com/109138/?lwfrom=user_dingfriend

  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理

    源码的github的地址 https://github.com/solenovex/ASP.NET-Core-MVC-Tutorial-Code 语雀上的人的地址: https://github.co ...

  4. UVa 11040 Add bricks in the wall (水题递推)

    题意:给定一个金字塔,除了最后一行,每个数都等于支撑它的两个数的和,现在给奇数行的左数奇数位置,求整个金字塔. 析:很容易看出来,从下往上奇数行等于 a[i][j] = (a[i-2][j-1] - ...

  5. (水题)洛谷 - P1149 - 火柴棒等式

    https://www.luogu.org/problemnew/show/P1149 一开始还分类重复了.在非0的dfs中居然赋值了0,脑残得一笔. 其实就按 $lead0$ 分类就好了, $lea ...

  6. C++笔试题(三)

    普天是南京一家通信公司,全称为:南京普天通信股份有限公司,公司网址为:http://www.postel.com.cn 网上流传一套普天C++笔试题,我将我做的答案公布与此,仅供参考. 1.实现双向链 ...

  7. POJ2370【水题】

    //#include <bits/stdc++.h> #include<iostream> #include<string.h> #include<cstdi ...

  8. python __builtins__ license类 (41)

    41.'license', 许可证,执照 class _Printer(builtins.object) | interactive prompt objects for printing the l ...

  9. 树莓派 zero w 一根线使用

    参考网站:https://sspai.com/post/40086 硬件: 一台mac电脑 一根micro b usb线 一块zero w板子 一张micro sd卡 一.制卡 格式化 烧写镜像文件 ...

  10. 黑客攻防技术宝典web实战篇:定制攻击自动化习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 指出使用自动技巧在应用程序中枚举标识符时用到的 3 个标识符“触点”. (a) HTTP ...