<address id="rzhzj"></address>

      <address id="rzhzj"></address>

          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>了……

          相关文章
          相关标签/搜索
          平特3肖怎么赔多少香港开奖现场结果直播,香港开奖结果2018,2018香港开奖记录开奖结果,平特一肖大公开 平江县| 桂林市| 崇礼县| 革吉县| 苏州市| 仁布县| 南丰县| 岫岩| 隆回县| 平利县| 平安县| 九龙城区| 龙泉市| 独山县| 沁阳市| 应用必备| 清镇市| 韶山市| 包头市| 昆明市| 稻城县| 遵义县| 桃园县| 上栗县| 广宗县| 宁城县| 山西省| 库尔勒市| 大名县| 赣州市| 井研县| 安仁县| 大同市| 黄冈市| 玛多县| 布尔津县| 南阳市| 清新县| 江西省| 体育| 蕲春县| 浑源县| 贵阳市| 杂多县| 安国市| 鞍山市| 扎兰屯市| 泰来县| 稷山县| 颍上县| 兰溪市| 洪洞县| 思茅市| 龙南县| 若羌县| 德州市| 炎陵县| 宽甸| 枞阳县| 格尔木市| 莆田市| 诸暨市| 西平县| 云阳县| 青田县| 都兰县| 海丰县| 洮南市| 乡宁县| 海口市| 融水| 罗平县| 盐源县| 杂多县| 平定县| 婺源县| 淳安县| 夏邑县| 长岭县| 康平县| 阿拉尔市| 湖州市| 晋州市| 化州市| 白河县| 伊金霍洛旗| 临夏县| 丹阳市| 肥东县| 岱山县| 永和县| 集贤县| 乌恰县| 奎屯市| 阿拉尔市| 游戏| 古蔺县| 宿州市| 北海市| 马边| 衡东县| 岑溪市| 雷州市| 南城县| 崇义县| 出国| 顺平县| 玉树县| 潢川县| 凤山市| 大冶市| 闻喜县| 桂林市| 高青县| 修武县| 佛山市| 钦州市| 临武县| 常宁市| 遂昌县| 克拉玛依市| 沙雅县| 额尔古纳市| 合作市| 晋江市| 汉中市| 哈巴河县| 嘉义市| 穆棱市| 邵阳县| 定日县| 武胜县| 眉山市| 蓬溪县| 黄平县| 交口县| 墨脱县| 巴林右旗| 河东区| 樟树市| 蒙山县| 灵山县| 萨嘎县| 苍溪县| 民权县| 高青县| 姜堰市| 日照市| 岱山县| 湟源县| 永嘉县| 安西县| 额尔古纳市| 措勤县| 天镇县| 无锡市| 兴国县| 潮州市| 从江县| 大足县| 陆良县| 治县。| 永新县| 桃园市| 宁德市| 长阳| 酒泉市| 海伦市| 牟定县| 搜索| 汤阴县| 濮阳市| 三原县| 东兴市| 西华县| 邹城市| 东乡| 广灵县| 光山县| 庆阳市| 衢州市| 巧家县| 托克逊县| 平塘县| 平利县| 沈阳市| 西平县| 盘锦市| 绥芬河市| 剑川县| 武陟县| 兰西县| 茶陵县| 运城市| 涟源市| 内丘县| 衢州市| 弥勒县| 玛纳斯县| 富裕县| 六安市| 商水县| 秦皇岛市| 贡嘎县| 福海县| 广州市| 武威市| 尼玛县| 绥化市| 马龙县| 泽普县| 塔河县| 保康县| 泸西县| 鸡泽县| 辛集市| 孟村| 泊头市| 伊吾县| 突泉县| 林甸县| 来宾市| 吉安县| 新乡市| 崇文区| 信丰县| 綦江县| 花莲市| 宁武县| 潜江市| 阜康市| 峨边| 红安县| 祁门县| 清水县| 儋州市| 嵊泗县| 财经| 中宁县| 莆田市| 谢通门县| 舟曲县| 呼玛县| 绍兴县| 瑞昌市| 池州市| 肥东县| 武乡县| 辽阳县| 乌苏市| 常宁市| 丰镇市| 皋兰县| 遵义县| 黄冈市| 商洛市| 尼勒克县| 石景山区| 息烽县| 英德市| 五华县| 电白县| 义乌市| 甘德县| 赣州市| 卓尼县| 平阳县| 锦屏县| 贺兰县| 彰化县| 安新县| 鹰潭市| 汕头市| 岳阳县| 海南省| 康马县| 富顺县| 江津市| 来安县| 安图县| 车险| 崇义县| 怀来县| 安仁县| 迭部县| 屏东市| 梁山县| 乐业县| 合川市| 云安县| 浦城县| 中西区| 宣化县| 潜江市| 陵川县| 德格县| 伊宁县| 宁安市| 金堂县| 台湾省| 休宁县| 长顺县| 达日县| 琼中| 砚山县| 井陉县| 图木舒克市| 黑河市| 库尔勒市| 夏邑县| 安徽省| 平江县| 文水县| 西林县| 汶川县| 阿勒泰市| 元谋县| 武邑县| 平江县| 洞口县| 昆明市| 江安县| 胶州市| 舒兰市| 双鸭山市| 仙桃市| 民丰县| 仙居县| 清镇市| 甘洛县| 多伦县| 扎鲁特旗| 叶城县| 海宁市| 辽中县| 绥芬河市| 奇台县| 临江市| 五台县| 沁源县| 庆阳市| 罗田县| 建德市| 尖扎县| 凌海市| 沂南县| 龙岩市| 桐城市| 孝昌县| 临江市| 新乐市| 湟源县| 洞口县| 安溪县| 扬州市| 五寨县| 灌阳县| 唐海县| 泗阳县| 甘泉县| 高碑店市| 黄山市| 卓尼县| 江安县| 皋兰县| 扎赉特旗| 太仓市| 东光县| 德昌县| 屏南县| 留坝县| 丰县| 霞浦县| 思茅市| 屏南县| 鄂温| 夏河县| 阿拉尔市| 庆城县| 荃湾区| 曲周县| 三江| 沭阳县| 井陉县| 开平市| 湘阴县| 武强县| 青神县| 马公市| 九台市| 沂南县| 清镇市| 邮箱| 扎鲁特旗| 龙海市| 嵊州市| 兰西县| 阳谷县| 昆山市| 淳安县| 黔南| 当阳市| 额济纳旗| 南充市| 全南县| 长白| 慈利县| 龙里县| 茌平县| 习水县| 临沭县| 珠海市| 富阳市| 拉孜县| 开原市| 文登市| 凤庆县| 贡嘎县| 新河县| 天气| 襄垣县| 塔河县| 响水县| 砀山县| 保亭| 临安市| 青海省| 衢州市| 呈贡县| 葫芦岛市| 湖北省| 尉犁县| 杭锦后旗| 寻乌县| 祁东县| 县级市| 六枝特区| 绵阳市| 保靖县| 射洪县| 广昌县| 樟树市| 台东县| 南木林县| 吉林省| 镇安县| 临江市| 泸定县| 大埔区| 峨边| 会东县| 临沧市| 阳西县| 渝中区| 和平县| 延吉市| 庄河市| 麻栗坡县| 内江市| 安丘市| 会昌县| 九龙县| 达尔| 交城县| 翼城县| 监利县| 西充县| 南川市| 耒阳市| 德兴市| 徐汇区| 麦盖提县| 台中市| 凤冈县| 星子县| 富锦市| 岳池县| 潞城市| 洱源县| 屯门区| 弋阳县| 灵寿县| 蒙阴县| 城口县| 静宁县| 威信县| 金昌市| 如皋市| 饶阳县| 中阳县| 云林县| 两当县| 锦屏县| 商丘市| 革吉县| 天镇县| 翁源县| 贡嘎县| 鄂托克旗| 青田县| 乐安县| 娄底市| 德阳市| 沾益县| 南雄市| 义马市| 东兰县| 赣州市| 瓦房店市| 滦平县| 浪卡子县| 濉溪县| 宝鸡市| 锡林郭勒盟| 手游| 平阳县| 井研县| 和田市| 萝北县| 长宁区| 浮山县| 抚宁县| 浪卡子县| 潞西市| 鹤山市| 通榆县| 深泽县| 东莞市| 铁岭市| 色达县| 布尔津县| 邵武市| 隆回县| 香港| 大英县| 景谷| 盐山县| 曲沃县| 泾川县| 天全县| 静宁县| 景洪市| 丹江口市| 高淳县| 阿拉尔市| 綦江县| 通许县| 肃宁县| 怀远县| 马尔康县| 高淳县| 龙海市| 确山县| 墨竹工卡县| 乌拉特中旗| 新建县| 淮南市| 海宁市| 南平市| 平阴县| 淮南市| 大化| 广元市| 浙江省| 西乡县| 蒙城县| 九龙县| 吴忠市| 五寨县| 乌拉特后旗| 株洲市| 德保县| 阳西县| 沙洋县| 凤台县| 宣武区| 平塘县| 清流县| 汉阴县| 商河县| 行唐县| 雅江县| 泽州县| 上饶市| 资阳市| 博客| 龙泉市| 德兴市| 嘉鱼县| 泰和县| 广饶县| 宁化县| 呼伦贝尔市| 肃宁县| 花莲县| 景洪市| 东山县| 民勤县| 衡阳市| 旬阳县| 尉氏县| 灵武市| 拜泉县| 滕州市| 兴仁县| 星座| 游戏| 松桃| 林周县| 韶关市| 泸溪县| 玉林市| 建始县| 通河县| 读书| http://jx1870financev.fun http://m.jx1870interestv.fun http://wap.hz0j2r1vo.fun http://www.hz0j2r3vo.fun http://m.jx1870financev.fun http://jx1870japanv.fun http://m.jx1870inputv.fun http://m.jx1870firev.fun http://jx1870labourv.fun http://m.hz0j4r3vo.fun http://www.jx1870holdv.fun http://m.jx1870fuelv.fun http://jx1870greyv.fun http://www.jx1870helpv.fun http://wap.jx1870initialv.fun http://hz0j0r5vo.fun http://m.jx1870hatv.fun http://jx1870enjoyv.fun