当前位置: 首页>>代码示例>>C++>>正文


C++ VPII::insert方法代码示例

本文整理汇总了C++中VPII::insert方法的典型用法代码示例。如果您正苦于以下问题:C++ VPII::insert方法的具体用法?C++ VPII::insert怎么用?C++ VPII::insert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在VPII的用法示例。


在下文中一共展示了VPII::insert方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: back

void back(int mask){
    if(printed)return;
    VPII cpy=ar;
    int topleft, p=ar.size(), maxh=0, dist=0;
    for(int i=0; i<p; i++){
        if(ar[i].S>maxh)
            maxh=ar[i].S, topleft=i;
    }
    for(int i=0; i<topleft; i++)
        dist += ar[i].F;

    if(maxh==0){
        if(mask==(1<<N)-1)
            print();
        return ;
    }


    for(int i=0; i<N; i++)
        if(not (mask&(1<<i))){
            if(ar[topleft].F>=rect[i].F and ar[topleft].S>=rect[i].S){
                ans.pb(node(dist, ar[topleft].S-rect[i].S, dist + rect[i].F, ar[topleft].S));
                int oldwidth = ar[topleft].F;
                ar[topleft].F = rect[i].F;
                ar[topleft].S -= rect[i].S;
                if(oldwidth!=rect[i].F)
                    ar.insert(ar.begin() + topleft + 1, {oldwidth-rect[i].F, maxh});

                merge(ar);
                back(mask|(1<<i));
                ans.pop_back();
                ar = cpy;
            }
            swap(rect[i].F, rect[i].S);
            if(ar[topleft].F>=rect[i].F and ar[topleft].S>=rect[i].S){

                ans.pb(node(dist, ar[topleft].S-rect[i].S, dist + rect[i].F, ar[topleft].S));
                int oldwidth = ar[topleft].F;
                ar[topleft].F = rect[i].F;
                ar[topleft].S -= rect[i].S;
                if(oldwidth!=rect[i].F)
                    ar.insert(ar.begin() + topleft + 1, {oldwidth-rect[i].F, maxh});

                merge(ar);
                back(mask|(1<<i));
                ans.pop_back();
                ar = cpy;
            }
            swap(rect[i].F, rect[i].S);
        }
}
开发者ID:KamikazeCJJ,项目名称:Heuristics-CodeForces-GYM,代码行数:51,代码来源:je.cpp


注:本文中的VPII::insert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。