【SCOI2003】【BZOJ1092】蜘蛛难题

Description

有一堆管道,另一个蜘蛛Willy,例如以下图所看到的。

全部管道的是上端开口,下端封底,直径都是1cm。连接两个管道的连接容量无限。但体积能够忽略不计。

在第一个管道上方有一个水源,从中有水不断往下流,速度为每秒0.25? cm3。

因为管道横截面积为0.25? cm3。所以单给一个管道注水时水面每秒上升1cm。依据物理知识,在前2秒中,水注如左边的管道底部,第3~5秒时注入右边的管道。第6~9秒同一时候注入两个管道(尽管流量不变。可是因为同一时候给两个管道注水,因此水面上升的速度仅为每秒0.5cm),接触到蜘蛛。 给出管道和管道之间连接的位置。以及蜘蛛Willy的位置。求水面接触到Willy的时间。如果蜘蛛的实际位置比给出的略高一点,因此如果蜘蛛在左边管道的n=4的位置,答案应该是5秒。

因为前两秒后水面尽管看起来接触到了Willy,但实际上比Willy略低一点。

Input

全部位置都用有序数对(x, y)表示。当中y坐标从上到下逐渐增大;x坐标从左到右逐渐增大,因此左上角的坐标为(0,0)。其它全部坐标值为0到100之间的整数。输入第一行为一个整数p(1<=p<=20)。表示管道的数目;下面p行。每行用x, y, h三个整数描写叙述一根管道。(x,y)为管道左上角坐标;h为管道高度(1<=h<=20)。下面一行为一个整数L(0<=L<=50)。为连接的个数。

下面L行每行用三个整数x, y, d描写叙述一个连接,(x,y)为左端点的坐标。d为连接的长度(1<=d<=20)。最后一行为两个整数a, b,表示Willy在管道a的y坐标为b的位置。

管道依照在文件里出现的顺序编号为1,2,3…p 下面为一些如果:? 水源总是在第一根管道的正上方? 连接不会穿越管道? 随意两个连接的y坐标都不同样? 随意两个管道的左上角的x坐标都不同样? 随意连接的两个端点都在管道上(不会出现悬空的情形)

Output

仅一个整数,为水面接触到Willy的时间。

如果水面无法接触到Willy,输出-1。

Sample Input

2

2 0 6

5 1 6

1

3 4 2

2 2

Sample Output

9

HINT

该例子相应题目中的例子。

Source

考虑直接按注水时间来模拟

物理题?数学题?

感觉不符合连通器原理TAT

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define MAXN 30
#define MAXM 110
using namespace std;
int n,m,S,T,maxn,ans,top;
struct pipe
{
    int x,y,h,v;
}s[MAXN];
int find(int x) {for (int i=1;i<=n;i++) if (s[i].x==x)  return i;return 0;}
struct edge
{
    int to,w;
    edge *next;
}e[MAXM<<1],*prev[MAXN];
void insert(int u,int v,int w)  {e[++top].to=v;e[top].next=prev[u];prev[u]=&e[top];e[top].w=w;}
int main()
{
    scanf("%d",&n);int x,y,w,t1,t2;
    for (int i=1;i<=n;i++)  scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].h),s[i].h+=s[i].y;
    s[1].v=1;
    scanf("%d",&m);
    for (int i=1;i<=m;i++)  scanf("%d%d%d",&x,&y,&w),t1=find(x-1),t2=find(x+w),insert(t1,t2,y),insert(t2,t1,y);
    scanf("%d%d",&S,&T);
    while (1)
    {
        for (x=1;x;)
        {
            x=0;
            for (int i=1;i<=n;i++)
                if (s[i].v)
                for (edge *t=prev[i];t;t=t->next)
                    if (s[i].h<=t->w&&!s[t->to].v)  s[t->to].v=x=1;
        }
        maxn=0;
        for (int i=1;i<=n;i++)  if (s[i].v) maxn=max(maxn,s[i].h);
        if (s[S].v&&maxn==T)    {printf("%d\n",ans);return 0;}
        for (int i=1;i<=n;i++)
            if (s[i].v&&s[i].y==s[i].h&&s[i].y==maxn)   {puts("-1");return 0;}
        for (int i=1;i<=n;i++)
            if (s[i].v&&s[i].h==maxn)   s[i].h--,ans++;
    }
}
时间: 2024-11-01 04:47:23

【SCOI2003】【BZOJ1092】蜘蛛难题的相关文章

200道物理学难题——064蜘蛛收网

网络蜘蛛

网络蜘蛛基本原理 网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网 站所有的网页都抓取完为止.如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 对于搜索引 擎来说,要抓取互联网上所有的网页几乎是不可

4步解决网站被恶意泛域名解析的难题

貌似最近不有少的网站被人做了恶意泛域名解析,连xbiao.c_o_m也在其中,见下图1.鉴于许多朋友遇到了这样的问题,我就把自己处理这个被恶意泛解析难题时的过程发出来,仅供大家参考之.如果大家有什么不明白的地方,欢迎找我单聊,我可以提供技术指导.也在此感谢松松提供这个机会与大家交流. ------以下是正文开始------- 今天在照例检查我们的网站时,突然发现site结果中出现了很多博彩类的二级域名,立即意识到我们的网站被人做了恶意泛域名解析了!见图1: 图1:网站被恶意泛解析的截图记录 泛域

探讨webapp的SEO难题(上)

前言 网络蜘蛛无法解析javascript,至少百度是不能的,神马搜索差的更远,而我们的webapp的渲染展示完全由javascript驱动 所以蜘蛛访问webapp页面会得到一个白页面,比如,我们期待SEO看到的是这个样子的网页 其实他看到的是这个样子的代码: 那么这个问题应该如何处理呢?比较早的处理方案是提供两套代码,一套用于webapp一套用于SEO,比如: webapp/blade/demo/debug.html是用于webapp的 而html5/blade/demo/debug.htm

复工后,园区人员检查,学生健康上报—用蜘蛛表格高效方便。

看到腾讯新闻疫情实时追踪情况,从17号起,新增疑似持续下降,说明之前延期春节行动及自行隔离措施都非常有效,不过就现在的现状来说,除了武汉,其他城市开始陆续复工,在人员流动方面又加大的管控的南富,但是这些依旧不能忽视. 在疫情防控过程中,学校.企业所在园区.政府部门对城市人员流动等情况核查管理尤其重要.为了快速掌握疫情防控主动权,有很多相关单位及组织使用轻流快速搭建了适合他们需要的疫情防控管理系统,我们一起来看看他们是如何操作的吧. 学校疫情防控实例拥有多个校区,学校教师数千人,学生更是有几万人之

1225 八数码难题

1225 八数码难题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description Yours和zero在研究A*启发式算法.拿到一道经典的A*问题,但是他们不会做,请你帮他们.问题描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765

孪生蜘蛛

codevs1020 孪生蜘蛛 1020 孪生蜘蛛 题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息,敌方已经有一只特种飞蛾避过第二层防卫,直逼内城南端通道入口.但优秀的蜘蛛已经在每个通道内埋下了坚固的大网,无论飞蛾进入哪个通道,他只有死路一条!(因为他是无法挣脱超级蛛网的) 现在,001和002分别驻扎在某两个通道内.各通道通过内线相通,通过每条内线需要一定的时间.当

“黑五”的本土化难题,如何定位、立足?

黑五,或者黑色星期五,对大部分中国人来说都会觉得很陌生,但这个在欧美如同双十一的购物节日已经开始被一部分中国消费者所接受并且积极的进行消费购物.虽然在国内黑五还无法与双十一相提并论,但随着跨境电商的兴起,黑五的本土化氛围正越来越浓. "黑五"关注度持续升温 从特定人群向多元化.年轻化转变 从市场层面的变化来看,这两年跨境电商的持续发展为黑五提供了基本的市场促销环境,虽然国内的黑五发展程度尚不足以与双十一相提并论,但对跨境电商企业而言,这几年已经逐渐向市场传达到了"黑五&quo

hdu 1251 统计难题(字典树)

Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:本题只有一组测试数据,处理到文件结束. Output 对于每个提