zoukankan      html  css  js  c++  java
  • P3984高兴的津津

    这道题的标签是并查集,但其实是一个并查集思想的模拟题。

    被算法标签迷惑了,一直在想怎么存f[],然后怎么查找,但发现其实很难去做。然后就发现其实就是做一个选择就可以了:拿AU的第i次包含在i-1次里,加上间隔时间,不包含的便直接+t。所以要提前把a[1]

    输进去。值得注意的是:这个循环计算的是i-1-->i的时间,最后in的时间还是没有被算进去,所以还要加上t;

    1.杜绝看算法标签,赛场上没有标签.

    2.谨记一定不要下意识把样例的数据代入到代码当中(比如t==5带到所有代码里了)

    3.明确循环里的求解意义

    4.尽量不从题解中获取提示

    代码

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #define N 1000001
    using namespace std;
    int n,t;
    int a[N];
    int ans=0;
    int  main(){
        cin>>n>>t;
        cin>>a[1];
        for(int i=2;i<=n;i++){
            cin>>a[i];
            if(a[i-1]+t>=a[i]){
                ans+=a[i]-a[i-1];
            }
            else{
                ans+=t;
            }
        }    
        cout<<ans+t;
        return 0;
    }
    待到oi十一月,我花开后百花杀。
  • 相关阅读:
    web&http协议&django初识
    jQuery
    BOM&DOM
    装饰器
    JavaScript
    模块
    面向对象编程
    函数
    CSS
    HTML
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11242059.html
Copyright © 2011-2022 走看看