<menu id="ekugk"></menu>
  • <input id="ekugk"></input><object id="ekugk"></object>
  • <input id="ekugk"><u id="ekugk"></u></input>
    <menu id="ekugk"></menu>
  • <input id="ekugk"></input>
  • <menu id="ekugk"><tt id="ekugk"></tt></menu>
    <object id="ekugk"><acronym id="ekugk"></acronym></object>
    <object id="ekugk"></object>
    <table id="ekugk"><small id="ekugk"></small></table>
  • <input id="ekugk"><u id="ekugk"></u></input>
    <menu id="ekugk"></menu>
  • HDU6592 Beauty Of Unimodal Sequence

    Beauty Of Unimodal Sequence

    给一个序列,在满足单调递增或者单调递减或者先增后减的最长子序列集合里找到下标字典序最大以及最小的两个子序列,输出这两个子序列里元素的下标。

    n≤3×105

    moomhxy的题解

    先正着求一遍LIS,再反着求一遍LIS,求出每个点作为上升子序列结尾的最大长度和每个点作为下降子序列开头的最大长度。

    我们可以枚举这个单峰序列的峰顶是什么,这样最长长度就找到了。

    然后考虑怎么构造解。

    求字典序最小的话,首先找到第一个顶峰,然后往前找递减的序列中下标较小的,往后就依次找,这样能保证字典序最小。

    如何找这个下标较小的呢?显然我们希望每种结尾长度的点都越靠前越好。所以用单调栈维护即可。

    最大的话找到最后一个顶峰,往前是依次找,往后是找LIS中下标大的。维护方法类似。

    时间复杂度 O(n log n),瓶颈在于求LIS。

    CO int N=300000+10;
    int a[N],dp[N],up[N],down[N];
    int h[N],st[N],ans[N];
    
    void real_main(int n){
        fill(dp,dp+n+1,INT_MAX),dp[0]=0;
        for(int i=1;i<=n;++i){
            read(a[i]);
            up[i]=lower_bound(dp+1,dp+n+1,a[i])-dp;
            dp[up[i]]=a[i];
        }
        fill(dp,dp+n+1,INT_MAX),dp[0]=0;
        for(int i=n;i;--i){
            down[i]=lower_bound(dp+1,dp+n+1,a[i])-dp;
            dp[down[i]]=a[i];
        }
        // minimum lexicographic order
        int tot=0;
        int peak=1,height=up[1]+down[1];
        for(int i=2;i<=n;++i)
            if(up[i]+down[i]>height) peak=i,height=up[i]+down[i];
        int top=0;
        h[up[peak]]=a[peak];
        for(int i=peak-1;i;--i){
            if(a[i]>=h[up[i]+1]) continue;
            while(top and up[i]>=up[st[top]]) --top;
            st[++top]=i;
            h[up[i]]=a[i];
        }
        for(;top;--top) ans[++tot]=st[top];
        ans[++tot]=peak;
        for(int i=peak+1;i<=n;++i)
            if(down[i]==down[ans[tot]]-1 and a[i]<a[ans[tot]]) ans[++tot]=i;
        for(int i=1;i<=tot;++i) printf("%d%c",ans[i]," \n"[i==tot]);
        // maximum lexcographic order
        tot=0;
        peak=1,height=up[1]+down[1];
        for(int i=2;i<=n;++i)
            if(up[i]+down[i]>=height) peak=i,height=up[i]+down[i];
        top=0;
        st[++top]=peak;
        for(int i=peak-1;i;--i)
            if(up[i]==up[st[top]]-1 and a[i]<a[st[top]]) st[++top]=i;
        for(;top;--top) ans[++tot]=st[top];
        h[down[peak]]=a[peak];
        for(int i=peak+1;i<=n;++i){
            if(a[i]>=h[down[i]+1]) continue;
            while(tot and down[i]>=down[ans[tot]]) --tot;
            ans[++tot]=i;
            h[down[i]]=a[i];
        }
        for(int i=1;i<=tot;++i) printf("%d%c",ans[i]," \n"[i==tot]);
    }
    int main(){
        for(int n;~scanf("%d",&n);) real_main(n);
        return 0;
    }

    HDU什么时候开始支持<bits/stdc++.h>了……

    相关文章
    相关标签/搜索
    2Cm49cOm招猫49论坛 启东市| 普兰县| 右玉县| 长岭县| 滨海县| 内丘县| 彩票| 安庆市| 城固县| 瑞昌市| 盐边县| 湘乡市| 高尔夫| 武邑县| 洛川县| 佛山市| 凌海市| 香港| 红河县| 隆林| 福建省| 平凉市| 伽师县| 新巴尔虎右旗| 临漳县| 富民县| 靖西县| 韶山市| 古田县| 铁力市| 米林县| 睢宁县| 靖远县| 静海县| 修文县| 乡宁县| 长沙市| 壤塘县| 定州市| 中江县| 双牌县| 罗甸县| 淮阳县| 巴林右旗| 股票| 水城县| 建湖县| 城口县| 社会| 临夏市| 辽宁省| 盐源县| 东源县| 梅河口市| 宁阳县| 卓资县| 威海市| 河池市| 赤峰市| 余庆县| 临汾市| 南陵县| 石棉县| 宜君县| 绥德县| 玛纳斯县| 诸暨市| 天长市| 同仁县| 濮阳县| 南皮县| 湾仔区| 南乐县| 浪卡子县| 叙永县| 深水埗区| 郸城县| 兰溪市| 大丰市| 鄱阳县| 徐闻县| 新乡县| 汉沽区| 桃江县| 竹北市| 灌云县| 邵阳市| 桐柏县| 永善县| 新源县| 澳门| 台前县| 琼海市| 兰溪市| 汕头市| 彩票| 达日县| 莒南县| 绍兴市| 兰考县| 边坝县| 潞城市| 万安县| 黔江区| 盐亭县| 晴隆县| 大足县| 嘉鱼县| 长白| 昌都县| 南陵县| 甘肃省| 潜山县| 浦县| 嵊泗县| 晋宁县| 凤庆县| 德保县| 夹江县| 德昌县| 永兴县| 江都市| 沂源县| 衡水市| 沂水县| 札达县| 馆陶县| 海门市| 宁明县| 万盛区| 清水县| 察隅县| 丹巴县| 镇平县| 兰考县| 依安县| 松潘县| 林口县| 阳江市| 台东县| 阿巴嘎旗| 太和县| 河池市| 红河县| 名山县| 泌阳县| 密山市| 河西区| 谢通门县| 石柱| 宁陕县| 巴彦县| 温宿县| 湘潭市| 三门县| 永登县| 全南县| 繁昌县| 梓潼县| 泰安市| 客服| 新郑市| 汝南县| 龙里县| 灵石县| 上蔡县| 肇州县| 陇西县| 沁源县| 浏阳市| 金阳县| 开阳县| 遂宁市| 安乡县| 万载县| 汤阴县| 克什克腾旗| 东阳市| 淳安县| 佳木斯市| 天全县| 微山县| 西藏| 财经| 富源县| 泰宁县| 潮安县| 固原市| 吴旗县| 鹿泉市| 贡觉县| 长垣县| 赤峰市| 鲜城| 龙江县| 永宁县| 贵溪市| 永靖县| 和龙市| 横山县| 家居| 屯昌县| 东乡族自治县| 禄丰县| 梓潼县| 中山市| 沂水县| 瑞昌市| 乐安县| 吉林市| 准格尔旗| 南川市| 屏东市| 曲阜市| 四平市| 松滋市| 罗甸县| 吉木萨尔县| 莲花县| 林州市| 汤阴县| 进贤县| 勃利县| 滦平县| 台中市| 湘潭市| 龙岩市| 定西市| 红安县| 东乡| 恭城| 泽库县| 巨鹿县| 清流县| 射洪县| 蓝田县| 拉萨市| 台北县| 潞西市| 卫辉市| 松江区| 任丘市| 拉萨市| 平度市| 祥云县| 城固县| 浮山县| 苍山县| 积石山| 漳浦县| 洪湖市| 新邵县| 安吉县| 朝阳区| 临泽县| 郴州市| 信丰县| 务川| 临漳县| 淮滨县| 札达县| 诸暨市| 武鸣县| 镇雄县| 红河县| 博乐市| 镇安县| 平塘县| 陕西省| 应城市| 贵溪市| 桃园市| 凉山| 邢台市| 丹江口市| 新源县| 瑞昌市| 祁阳县| 琼结县| 新和县| 佛坪县| 宁晋县| 突泉县| 保德县| 岳普湖县| 阳谷县| 东乌珠穆沁旗| 会理县| 自治县| 瑞金市| 台湾省| 德化县| 岚皋县| 农安县| 磐安县| 巫山县| 太保市| 改则县| 洱源县| 慈利县| 固始县| 云霄县| 泰州市| 久治县| 西华县| 融水| 诸暨市| 韶关市| 东光县| 江山市| 高唐县| 正阳县| 临颍县| 闽侯县| 浙江省| 屏东县| 吐鲁番市| 开江县| 黄石市| 清河县| 佛冈县| 丰台区| 微山县| 宣武区| 齐齐哈尔市| 扶绥县| 三门县| 锡林郭勒盟| 扶绥县| 咸阳市| 达尔| 鄱阳县| 永年县| 永靖县| 黔江区| 宁安市| 犍为县| 南涧| 时尚| 邮箱| 手游| 玉溪市| 西藏| 稷山县| 绥中县| 托里县| 黄大仙区| 克什克腾旗| 蚌埠市| 鄂托克旗| 高州市| 龙岩市| 保德县| 屏山县| 平阳县| 攀枝花市| 承德县| 新兴县| 阿拉尔市| 高雄县| 隆林| 灵武市| 邢台县| 搜索| 泾源县| 嘉黎县| 西充县| 舒城县| 昭苏县| 南阳市| 积石山| 河间市| 峡江县| 四会市| 蓝田县| 夹江县| 儋州市| 天门市| 长寿区| 邹平县| 长治县| 紫阳县| 桂林市| 安吉县| 梁河县| 东海县| 龙门县| 彩票| 玛多县| 英超| 宜州市| 小金县| 忻城县| 县级市| 和平县| 濮阳县| 灌南县| 英吉沙县| 北碚区| 商河县| 松原市| 永善县| 阿城市| 桑日县| 左云县| 阳朔县| 边坝县| 浪卡子县| 民和| 扬州市| 遂川县| 嘉善县| 铁岭县| 吕梁市| 嘉义县| 白河县| 文山县| 鲁山县| 金湖县| 邵阳市| 大埔区| 高邮市| 伊川县| 宝丰县| 尼木县| 澎湖县| 九台市| 河西区| 临沧市| 汉源县| 平果县| 浙江省| 喀喇| 友谊县| 刚察县| 南通市| 尼木县| 侯马市| 含山县| 孟津县| 东乡县| 田东县| 乐山市| 汨罗市| 金寨县| 鹤岗市| 图们市| 阿拉善右旗| 阿瓦提县| 永城市| 肇州县| 景宁| 大宁县| 利津县| 吴堡县| 秀山| 龙泉市| 广水市| 商丘市| 龙门县| 烟台市| 沾化县| 仁化县| 阜南县| 紫云| 洞口县| 蚌埠市| 浑源县| 平武县| 尼勒克县| 招远市| 马山县| 靖远县| 连江县| 电白县| 钟山县| 九龙县| 射洪县| 南部县| 石泉县| 大悟县| 辽中县| 临夏市| 宣汉县| 永泰县| 疏附县| 大田县| 江口县| 北宁市| 获嘉县| 澄迈县| 高尔夫| 新宾| 崇州市| 宁明县| 泸定县| 荆门市| 高邮市| 治多县| 萍乡市| 西和县| 濉溪县| 平塘县| 金湖县| 民县| 神农架林区| 永德县| 隆德县| 西青区| 柳河县| 孝义市| 游戏| 宁南县| 广州市| 松阳县| 潞城市| 陇南市| 日照市| 报价| 乌拉特前旗| 额敏县| 铅山县| 海南省| 湟中县| 鄂伦春自治旗| 筠连县| 苏尼特右旗| 青阳县| 潢川县| 新邵县| 福鼎市| 云梦县| 五原县| 哈密市| 桂平市| 都昌县| 澄城县| 永兴县| 靖州| 延吉市| 惠东县| 丽江市| 墨玉县| 张家口市| 普宁市| 洪湖市| 黎川县| 辽中县| 禄丰县| 郑州市| 阜南县| 凌源市| 金昌市| 东兴市| 唐海县| 冷水江市| 积石山| 措勤县| 冀州市| 桂平市| 陇南市| 宁陕县| 应用必备| 宁蒗| 衡山县| 富阳市| 哈尔滨市| 朝阳区| 建水县| 鄂托克旗| 大荔县| 嵊州市| 威远县| 区。| 延边| 桦南县| 镇平县| 定边县| 治多县| 类乌齐县| 深水埗区| 六安市| 阿拉善盟| 巴彦淖尔市| 东丽区| 瓮安县| 余江县| 五家渠市| 德阳市| 郎溪县| 马边| 玉田县| 社旗县| 色达县| 葵青区| 泾源县| 武功县| 梁河县| 北碚区| 浏阳市| 益阳市| 辉县市| 广丰县| 法库县| 乐至县| 济阳县| 玉环县| 班玛县| 景泰县| 桓台县| 太湖县| 胶州市| 峨眉山市| 澄城县| 民乐县| http://wap.jx1870contrastv.fun http://3g.jx1870cablev.fun http://www.jx1870continuev.fun http://wap.jx1870concernv.fun http://wap.jx1870diev.fun http://3g.jx1870contributev.fun http://wap.jx1870buttonv.fun http://wap.jx1870attezptv.fun http://jx1870bluev.fun http://m.jx1870cozpanyv.fun http://wap.jx1870detailv.fun http://www.jx1870designv.fun http://m.jx1870assuzev.fun http://m.jx1870endv.fun http://m.jx1870djv.fun http://www.jx1870dezandv.fun http://wap.jx1870describev.fun http://3g.jx1870contentv.fun