Codeforces 534B Covered Path【有点奇怪的思维+贪心】

本文探讨了一道关于车辆在特定时间内能达到的最大行驶距离的问题。通过分析车速的变化范围及规律,采用逐步求解的方式计算出最大可能的距离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:已知一辆车在t1时刻的速度v1,在t2时刻的速度v2,t2-t1==t。每秒车速改变范围在[-d,d]内。问,在t时间内,车子最多经过了多少的距离s?

思路:一开始我就想,这tm明显是道物理的v-t图像求面积最值的题,然后分类讨论v1,v2的大小关系去决定面积计算方式。结果发现v最大值好像没法确定。 毫无思路,看了题解,感觉有点奇怪。
题解的意思是:我去求每一秒的最大值,然后累加就是最大的路程。我感觉… 还是没法理解,因为每一秒的最大值是被前一秒和后一秒所约束的。感觉这样做怪怪的。 比如题目给的数据test1 :
5 6
4 2 计算过程是5→7 6→8 7→9 8→10 ans=5+6+7+8感觉怪怪的。还不能理解

#include <bits/stdc++.h>
int v1,v2,t,d,ans;
int main(void)
{
    scanf("%d%d%d%d",&v1,&v2,&t,&d);
    while(t--)
    {
        if(v1<=v2)
            ans+=v1,v1+=d;
        else
            ans+=v2,v2+=d;
    }
    printf("%d",ans);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值