XJOI练习2神奇的供水系统
神奇的供水系统
在游遍神秘岛过程中,Z4发现每一个小岛上都有若干个奇怪的类似小水缸似的立方体,这另到Z4相当迷惑不解!这天晚上,忽然下起了一场大雨,在中心岛小树屋上类似那个圆形石槽中间的小孔中涌出了一泓清水,z4不禁一阵欢呼也不自觉的联想起那些类似小水缸的东西。
经过一连数日的观察,发现那些形似小水缸是用来收集雨水的集水器,连同有很多埋在地底下的贮水器形成一个庞大的供水系统。而且特别的是这个供水网络不存在循环连接,也就是贮水系统的连接不存在环。
供水系统是用粗幼不同的水管连接,所有水管都是单向传输的。所有的集水器都有且仅有一条指向某个贮水器的输出水管。所有的贮水器都连有若干条或自某集水器连至或自其他贮水器连至的输入水管,也有且仅有一条连向其他贮水器的输出水管。在小树屋地底下有一个中央贮水器,类似于其他贮水器,所有收集到的雨水将最终汇集到这里,它的输出水管直接供应上树屋。
这套供水系统是这样工作的:下雨过后,每个集水器都收集到一定体积的水,并通过水管,贮水器向中央贮水器汇集。而当任意一个贮水器所有输入水管都输送完毕,他的输出水管才会开启,把当中所有的水输送出去。直到中央贮水器的出水水管开启时,树屋上的Z4(可怜的Z4!)才得到水供应。
由于严密的设计,所有贮水器的容量都是足够的大!
由于水管粗幼不同,所以每道水管运水的速度各不相同。
现在问题是,当雨停后过多久,中央贮水器才会向树屋上供水?智慧过人的Z4当然不会给自己计算找麻烦,所有数据中的时间单位统一为s,体积单位统一为L。
输入格式:
输入文件water.in的第一行包括四个整数n,m,s_rain,t_rain(1<=n<=1000,1<=m<=1000000)分别表示n个贮水器,m个集水器,了方便计算,Z4人为地把他们分别按1..n,1..m标号,而其中第n个贮水器即为中央贮水器,s_rain表示单位时间里单位面积的降雨量,t_rain表示该次降雨持续时间。
接下来的m行分别描述第1至第m个集水器。每行含有四个整数S,h,k,t。S表示该集水器容器底面积,h表示容器的高(S*h<=20000),k表示该集水器输出水管指向第k个贮水器,t表示输出水管输送一单位的水所用的时间。
再接下来n-1行分别描述第1至第n-1个贮水器。每行包括两个整数k,t。k表示该贮水器输出水管指向第k个贮水器,t表示该贮水器的输出水管输送一单位的水所用的时间。
输出格式:
输出文件water.out只有一行,表示雨停后直到得到水供应的时间.(结果肯定<=maxlongint)
样例输入:
5 5 1 1 10 1 1 2 5 1 3 4 10 1 4 3 10 1 4 6 8 1 5 9 2 2 5 1 5 2 5 2
样例输出:
100
这道题看似很麻烦实际很水,所有的集水器与储水器都只在灌满水后才会输向下一个储水器,这又是一棵树,深搜即可。
#include<cstdio>
#include<iostream>
using namespace std;
],Vo[],Sp[],tree[][],size[];
inline void dfs(int x)
{
;i<=size[x];i++)
{
dfs(tree[x][i]);
Ti[x]=max(Ti[x],Ti[tree[x][i]]+Vo[tree[x][i]]*Sp[tree[x][i]]);
Vo[x]+=Vo[tree[x][i]];
}
}
int main()
{
int n,m,s,t,s1,h1,k,sp1,vo1;
scanf("%d%d%d%d",&n,&m,&s,&t);
s*=t;
;i<=m;i++)
{
scanf("%d%d%d%d",&s1,&h1,&k,&sp1);
vo1=min(s1*h1,s*s1);
Vo[k]+=vo1;
Ti[k]=max(Ti[k],vo1*sp1);
}
;i<n;i++)
{
scanf("%d%d",&k,&Sp[i]);
tree[k][++size[k]]=i;
}
dfs(n);
printf("%d",Ti[n]);
;
}
XJOI练习2神奇的供水系统的更多相关文章
- BA-给排水-供水系统自动控制(转载)
浙江省建筑设计研究院划 杨绍胤 杨庆 摘 要:探讨供水系统变流量和恒压自动控制和设计方法.关键词: 供水系统 自动控制 传统给水系统常在屋顶设置高位水箱.水从地下水箱用水泵打到高位水箱.从高位水箱通过 ...
- 神奇的Bank系统之旅哦
奋斗不能等待,我们不能等到垂暮之年再去“全力以赴”.让我们从现在开始,为理想而努力,为人生而拼搏.精诚所至,金石为开,相信奋斗会让我们的青春之花绽放得更加绚烂,让我们的人生之路走下来不留遗憾. ...
- OpenWrt——神奇的路由系统
鉴于最近大家对这个系统比较感兴趣而且疑问很多所以本渣就整理下我对这个系统的理解和最实用的802.1x认证的理解.还望大家多多互相交流. 如果您时间紧张直接看最后的步骤,时间充裕的请仔细阅读,理解. O ...
- linux 系统函数 basename和dirname
在linux系统中有这样两个系统函数,basename 和 dirname 1.basename 用于 获取文件名, 1.1 当给定扩展名作为参数之后,甚至可以直接获取文件名 2.与basename ...
- 什么是英特尔® Edison 模块?
英特尔® Edison 模块 是一种 SD 卡大小的微型计算芯片,专为构建物联网 (IoT) 和可穿戴计算产品而设计. Edison 模块内含一个高速的双核处理单元.集成 Wi-Fi*.蓝牙* 低能耗 ...
- 谁让APP工程师产生了泡沫?
这两年移动互联网比较火,移动APP的开发人员也是比较紧缺. 面试了一个做APP的,能力很一般,态度也比较傲慢.最后感觉肯定不会用这个人了,但是出于验证自己想法的目的,还是很诚恳地以一个决定录取他的态度 ...
- [题解]noip2016普及组题解和心得
[前言] 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. 第一题可以说的内 ...
- 项目经验之:GIS的初步工作窗体的搭建
不多说了,上图,初步工作刚好完 GIS平台系统,实现整个供水系统的协调与统一.系统以管网为基础依据,建立可实现供水管网规划设计.输配管理.图档管理.抢修辅助决策及综合查询.统计等功能. 整体窗口设计 ...
- ZeroMQ:云计算时代最好的通讯库
还在学socket编程吗?还在研究为什么epoll比select更好吗? 噢,不必了! 在复杂的云计算环境中,我们面临的难题远比这个复杂得多. 庞大的服务器集群作为计算云,对来来看或许只是一个简单的搜 ...
随机推荐
- 【Zookeeper】源码分析之请求处理链(二)
一.前言 前面学习了请求处理链的RequestProcessor父类,接着学习PrepRequestProcessor,其通常是请求处理链的第一个处理器. 二.ZooKeeper源码分析 2.1 类的 ...
- UML类图中的关系和表示方法
类图是用来描述程序中的类以及它们之间的关系的,使用类图可以帮助我们简化对系统的理解.在UML类图中比较常见的关系有六种,它们分别是:依赖.关联.聚合.组合.泛化.实现,这六种关系中类之间的紧密程度是依 ...
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...
- android学习6——canvas的save,restore作用
先看如下代码 public class SaveRestoreActivity extends Activity { @Override public void onCreate(Bundle sav ...
- RDLC系列(一)ASP.NET RDLC 报表自定义数据源
最近一段时间开发ERP系统中要用到不少报表打印,在网上找了一圈发现想些好用的报表控件大部分要收费,一些面免费要么不好用要么IE8不兼容,最后还是用了微软自带的RDLC报表,把自己遇到的坑和技巧整理分享 ...
- Hadoop基本开发环境搭建(原创,已实践)
软件包: hadoop-2.7.2.tar.gz hadoop-eclipse-plugin-2.7.2.jar hadoop-common-2.7.1-bin.zip eclipse jdk1.8 ...
- index_merge引发的死锁排查
概述 前几天排查了一个死锁问题,最开始百思不得其解,因为发生死锁的两个事务是单语句事务,语句类型相同(where属性列相同,仅值不同),而且语句都走了相同的索引,但最终确实发生了死锁.通过定位排查发现 ...
- select函数的用法
首先介绍阻塞方式与非阻塞方式: 阻塞方式(block),就是进程或是线程执行到这些函数时必须等待某个事件的发生.如果事件没有发生,进程或线程就被阻塞,函数不能立即返回. 非阻塞方式(non-block ...
- MySQL C#教程
这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作: 数据库访问组件MySql Connect/NET MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常 ...
- canvas小球动画原理
随着html5发展,canvas标签作为h5革命性的发展标志也越来越流行.canvas标签的强大之处,不仅在于它可以作为一个独立的画布,也可以利用canvas做一些动画而不用导入flash文件.同时, ...