NOIP 2012 Day1 T3 开车旅行

论文阅读《Eigen-GNN: A Graph Structure Preserving Plug-in for GNNs》 好久没看论文了,感觉好生疏 关于这篇文章的大致脉络,这篇文章已经介绍过了。 阅读详情
#include<cstdio>
#include<iostream>
#include<iomanip>
#include<cmath>
#include<vector>
#include<queue>
#include<stack>
#include<bitset>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
const long long w=1000000000;
struct data{
    int no;
    long long sa,sb;
};
    data f[100005][55];
int n,m,s,p,q;
long long a,b,k;
double z=1e10;
long long h[100005],hf[100005],hs[100005];
int fir[100005],sec[100005];
bool comp(int a,int b)
{
    if (a<=b)  return true;
    return false;
}
void dfs(int x,int t,int w)
{
    if (w%2!=0&&a+b+hs[x]<=t)
    {
        a+=hs[x];
        dfs(sec[x],t,w+1);
    }
    if (w%2==0&&a+b+hf[x]<=t)
    {
        b+=hf[x];
        dfs(fir[x],t,w+1);
    }
    return ;
}
void zzz(int x,int kk)
{
    q=x;
    for (int j=50;j>=0;j--)
        if (f[x][j].no!=0&&f[x][j].sa<=w&&f[x][j].sb<=w&&f[x][j].sa!=0&&f[x][j].sb!=0&&f[x][j].sa+f[x][j].sb<=kk)
        {
            a+=f[x][j].sa;
            b+=f[x][j].sb;
            zzz(f[x][j].no,kk-f[x][j].sa-f[x][j].sb);
            break;
        }
    return ;
}
int main()
{
    freopen ("drive.in","r",stdin);
    //freopen ("drive.out","w",stdout);
    scanf ("%d",&n);
    for (int i=1;i<=n;i++)  scanf ("%lld",&h[i]);
    memset (hf,127,sizeof(hf));
    memset (hs,127,sizeof(hs));
    for (int i=1;i<=n-1;i++)
        for (int j=i+1;j<=n;j++)
        {
            if (hf[i]>abs(h[i]-h[j])||(hf[i]==abs(h[i]-h[j])&&h[j]<h[fir[i]]))
            {
                sec[i]=fir[i];
                hs[i]=hf[i];
                fir[i]=j;
                hf[i]=abs(h[i]-h[j]);
            }
            else if (hs[i]>abs(h[i]-h[j])||(hs[i]==abs(h[i]-h[j])&&h[j]<h[sec[i]]))
            {
                hs[i]=abs(h[i]-h[j]);
                sec[i]=j;
            }
        }
    for (int i=1;i<=n;i++)
    {
        f[i][0].no=fir[sec[i]];
        f[i][0].sa=hs[i];
        f[i][0].sb=hf[sec[i]];
    }
    for (int j=1;j<=50;j++)
        for (int i=1;i<=n;i++)
        {
            f[i][j].no=f[f[i][j-1].no][j-1].no;
            f[i][j].sa=f[i][j-1].sa+f[f[i][j-1].no][j-1].sa;
            f[i][j].sb=f[i][j-1].sb+f[f[i][j-1].no][j-1].sb;
        }
    scanf ("%lld%d",&k,&m);
    for (int i=1;i<=n;i++)
    {
        a=0;b=0;
        zzz(i,k);
        if (f[q][0].sa+a+b<=k)  a+=f[q][0].sa;
        //dfs(i,k,1);
        if (b!=0)
        {
            double zz=(double)a/b;//here
            if (z>zz||(z==zz&&h[i]>h[p]))
            {
                z=zz;
                p=i;
            }
        }
    }
    printf ("%d\n",p);
    for (int i=1;i<=m;i++)
    {
        scanf ("%d%lld",&s,&k);
        a=0;b=0;
        //dfs(s,k,1);
        //printf ("%lld %lld\n",a,b);
        zzz(s,k);
        if (f[q][0].sa+a+b<=k)  a+=f[q][0].sa;
        printf ("%lld %lld\n",a,b);
    }
    return 0;
}

NVIDIA Video Codec SDK-解码接口cuvid简介 特性已废弃的 NVCUVID现代的 NVDECODE (底层 API)现代的 NVDECODE (高层 API - NvDecoder)状态已废弃 (Deprecated)官方推荐 (底层控制)官方推荐 (易用性首选)编程模型C 函数C 函数C++ 类复杂度高,需要管理大量细节中高,仍需管理解码会话低,开箱即用灵活性高高中(满足绝大多数场景)推荐对象遗留项目维护需要极致控制的高级用户所有新项目、大多数开发者。 阅读详情

相关推荐

静态时序分析(STA)_深入解析Data to Data Checks的零周期挑战

本文深入解析了静态时序分析(STA)中Data to Data Checks的核心概念与零周期挑战。重点探讨了当Setup要求值超过时钟周期时,工具如何调整发射沿,并导致Hold检查的发射与捕获沿“分裂”这一反直觉现象。文章通过案例详细解读了时序报告,并提供了通过调整约束或接受多周期保持两种策略来应对这一挑战,帮助工程师正确理解和处理此类复杂时序检查。

weixin_29204205的博客 351

NOIP2012Day1T3-开车旅行

题解: 首先我们可以分别建立小AAA和小BBB路程森林。其实森林也不用用边表去存储它,只要记录一下fa[i]fa[i]fa[i],即iii点的下一个点就可以了 小AAA和小BBB旅行就等价于在这些森林里跑,很容易想到树上倍增。 我们可以令f[i][j]f[i][j]f[i][j]为当前AAA开车在第iii个点经过2j2j2^j天后到达的点 g1[i][j]g1[i][j]g1[i][j...

Mi-Queen 355

D触发器(D Flip-Flop)与D锁存器(D Latch)

在解释这个练习题之前,我们先来简单回顾一下D触发器(D flip-flop)和D锁存器(D latch)的概念,以及它们在数字电路中的作用。这将帮助我们理解所提到的练习。

weixin_65190179的博客 9166

开车旅行

题目链接 真真一道倍增好题。 先说70分思路 我的: 从后边的城市往前跑,这样就能\(n^2\)时间内得到从城市\(i\)到城市\(j\)的路程了。........反正超级麻烦,最后也没写出来。后来想想最直接的暴力好像是\(n*m\),70分也能过。 代码估计以后也看不懂了。。。 #include<iostream> #include<cstdio> #inclu...

weixin_30735745的博客 144

嵌入式Linux网络调试踩坑记:YT8531/YT8521 PHY驱动移植与设备树配置实战

本文深入解析嵌入式Linux系统中YT8531/YT8521 PHY驱动移植与设备树配置的实战经验。从网络不通的常见现象入手,详细介绍了驱动移植关键点、设备树配置详解及常见问题排查技巧,帮助开发者快速解决RGMII接口调试难题,提升嵌入式网络开发效率。

weixin_42525328的博客 444

从零构建边缘AI数据管道:K230+ESP8266的物联网实践指南

本文详细介绍了如何利用K230开发板和ESP8266模块构建高可靠性的边缘AI数据管道,特别针对智能农业监测场景。通过完整的系统架构设计、AI模型部署、低功耗通信优化和云端集成方案,为开发者提供了一套可落地的物联网实践指南,重点解决了边缘计算环境下的数据传输稳定性和能效管理问题。

j2k3l4的博客 873

洛谷 P1081 [NOIP2012 提高组] 开车旅行

小 AA 和小 BB 决定利用假期外出旅行,他们将想去的城市从 11 到 �n 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 �i 的海拔高度为ℎ�hi​,城市 �i 和城市 �j 之间的距离 ��,�di,j​ 恰好是这两个城市海拔高度之差的绝对值,即 ��,�=∣ℎ�−ℎ�∣di,j​=∣hi​−hj​∣。旅行过程中,小 AA 和小 BB 轮流开车,第一天小 AA 开车,之后每天轮换一次。

VF222的博客 1400

FreeCAD地下管道自动化建模实战:Python脚本从入门到导出OBJ

本文详细介绍了如何利用FreeCAD的Python API实现地下管道的自动化建模,从数据处理到模型导出OBJ格式的全流程。通过实战案例和代码示例,展示了圆形和矩形截面管道的创建方法,以及法兰连接等特殊处理技巧,大幅提升工程设计效率。

ff678的博客 248

【NOIP2012提高组】开车旅行

把ab各走一次算一步 f[i][j]表示i点跳2^j步走到的点 da[i][j]表示i点跳2^j步a走的路程 db[i][j]表示i点跳2^j步b走的路程 倒着扫一遍求a从i点走出一次走到的点toi,记录da[i][0] pre[i]表示i这个点是哪个点的to , 倒着扫一遍求b从to[i]走出一次走到的点,存在f[pre[i]][0]中,记录db[pre[i]][0] 倍增 ...

Com_man_der的博客 393

DIKW模型实战:用Obsidian打造个人知识库的5个关键步骤

本文详细介绍了如何利用DIKW模型在Obsidian中构建高效个人知识库的5个关键步骤,从数据收集到智慧应用的全流程实践。通过标记系统、信息加工引擎和知识结晶方法,帮助知识工作者实现从原始数据到决策智慧的认知跃迁,提升个人知识管理效率。

gamma的博客 578

Kong API Gateway 配置与深入

Kong是一个开源的、高性能的API网关,提供了一种简单易用的服务间路由、流量管理和安全防护方案,其最初起源于Nginx Inc.,但后迁移至Apache Software Foundation。Kong支持RESTful、GraphQL、TCP/UDP等协议,可与AWS Lambda、Azure Functions、Google Cloud Functions等云函数平台集成。其主要功能包括:服务发现与负载均衡、请求代理、身份认证与授权、缓存、日志记录、监控指标、灰度发布、多种插件等。

AI天才研究院 2283

NOIP2012提高组day1-T3:开车旅行

NOIP2012提高组day1-T3:开车旅行,倍增法优化动态规划。

少儿编程乔老师 1093

Python的单元测试之unittest

是一个功能类似 unittest 的库,它集合众家标准测试库之所长,和 unittest 相比,功能更为强大,使用更为简单,OpenStack 广泛的利用它编写单元测试。unittest 提供了自动匹配发现并执行测试用例的功能,随着项目代码结构越发庞大,势必有多个测试文件,自动匹配发现并测试用例的功能在此就显得非常有用,只要满足。unittest 提供了丰富的命令行入口,可以根据需要执行某些特定的用例。的测试用例都会被 unittest 发现并执行,测试用例文件的默认匹配规则为 test*.py。

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 283

【NOIP2012】Day1T3 开车旅行

开车旅行 Description 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市ii的海拔高度为HiH_i,城市ii 和城市jj 之间的距离d[i,j]d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j]=∣∣Hi−Hj∣∣d[i,j]=\left|H_i-H_j\right| 。 旅行过程中

Bobby_Z的博客 1396

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

2012Noip提高组Day1 T3 开车旅行

题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的 城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 Hi,城市 i 和城市 j 之间的距离 d[i,j]恰好是这两个城市海拔高度之差的绝对值,即 d[i,j] = |Hi− Hj|。 旅行过程中,小 A 和小 B...

dawzski22234的博客 227

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

NOIP2012DAY1T3【开车旅行】

Description 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j] = |Hi - Hj|。  旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城

Breathe. 2202

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Noip2012 Day1 T3 开车旅行无题解的70分代码(未完成)

目前只能拿70分,有时间会补完。满分貌似要用倍增来优化时间

Build 1504

【题解】 NOIP2012 提高组day1 T3 开车旅行(倍增 dfs 模拟) 70分做法

本文参考自: 原文地址 倍增没有学,不过我们可以通过模拟和dfs得到70分的部分分。 手写dis函数求两个城市距离=海拔差的绝对值。设一个km[i][2]的二维数组,来记录离i个城市距离最近和第二近的城市,要注意题目里有许多细节。例如距离相同时判断海拔低的城市更近。设m2 m1为0代表离i次近和最近的城市,循环城市i,再循环j(i+1 到 n),如果满足上述条件,就用j更新m1,m1更新m2...

qq_39706019的博客 223

习题:开车旅行(倍增+预处理)

开车旅行(NOIP提高组2012)【描述】小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝...

weixin_33810302的博客 116

【noip】开车旅行 平衡树 倍增 treap tree

noip2012年day1最后一题 感觉2012年的都好难写 疫情控制也是。。 描述 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j] = |Hi - Hj|。 旅行过程中,

anantheparty的博客 1166

【NOIp】NOIp2012

NOIp 2012 day 1 T1 Vigenère 密码 标签:模拟 主要是用了ASCII码,字母'A'的ASCII码是41H(0100 0001B),字母'a'的ASCII码是61H(0110 0001B),字母'A'与'a'的二进制后5位是相同的,所以无论是大写字母还是小写字母x,x &31(1 1111B)的值就是x在字母表里的顺序。 简单判一下边界就行了 c...

weixin_30539625的博客 269

NOIp2012 开车旅行

开车旅行 版权yangyaojia.cnblogs.com NOIp2012 day1 T3 题目大意 给出n个排成一行的城市,每个城市有一个不同的海拔。定义两个城市间的距离等于他们的高度差的绝对值,且绝对值相等的时候海拔低的距离近。有两个人轮流开车,从左往右走。A每次都选最近的,B每次都选次近的。旅行时有一个总路程x,如果两个人的总路程>x 或 有一个人无法按照自...

weixin_30426957的博客 177

开车旅行(drive)

来源:NOIP2012提高组Day1

Umbrella__的博客 454

noip2012 开车旅行 (倍增处理)

P1780开车旅行 Accepted 标签:数据结构NOIP提高组2012 描述 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[

把复杂的事情简单描述 816

VIJOS 1780 开车旅行

描述 小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i 的海拔高度为Hi,城市i 和城市j 之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j] = |Hi - Hj|。 旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城市S作为起点,一直向

快到碗里来 1207
上一篇: NOIP 2011 Day1 T2 选择客栈
下一篇: NOIP 2014 Day2 T1 无线网络发射器选址
Ang_Eric_
博客等级 码龄10年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值