zoukankan      html  css  js  c++  java
  • 线性插值

    #include<iostream>
    #include<set>
    using namespace std;
    
    struct Data
    {
        int index;
        int value;
    };
    
    struct myComp
    {
        bool operator()(const Data &a, const Data &b)
        {
            return a.index < b.index;
        }
    };
    int main()
    {
        set<Data, myComp> dataset;
    
        int m,n;
        cin>>m>>n;
    
    
    
        for(int i=0; i<m; i++)
        {
            int idx;
            int dt;
    
            cin>>idx;
            cin>>dt;
    
            if(dataset.empty())
            {
                Data tmp;
                tmp.index = idx;
                tmp.value = dt;
                dataset.insert(tmp);
            }
            else
            {
                Data last = *(--dataset.end());
    
                if(idx > last.index)
                {
                    for(int i=1; i<=(idx-last.index); i++)
                    {
                        Data tmp;
                        tmp.index = i+last.index;
                        tmp.value = last.value + (dt-last.value)*i/(idx-last.index);
                        dataset.insert(tmp);
                    }
                }
            }
        }
    
        for(set<Data>::iterator itr=dataset.begin(); itr!=dataset.end(); itr++)
        {
            cout<<(*itr).index<<' '<<(*itr).value<<endl;
        }
    
    
    
        return 0;
    }
    

      

  • 相关阅读:
    go-micro registry 服务的注册和发现
    Element UI
    VUE常用插件和依赖的安装!
    Element dialog实现拖拽功能
    JAVA
    修改windows的host文件
    Vue
    Vue
    Vue
    Vue
  • 原文地址:https://www.cnblogs.com/hardsoftware/p/6233576.html
Copyright © 2011-2022 走看看