[CF797C] Minimal string(貪心,棧)

題目鏈接:http://codeforces.com/contest/797/problem/C

題意:給個字符串,求字典序最小的出棧順序。

一開始想用優先隊列記錄全局最小的字符,然后每次入棧的時候檢查當前字符是不是最小的,如果是那么同時pop。這樣做的話,假如不是,那么棧里面的最小就找不到了。

所以重寫,直接維護一個數組sm[i]表示i之后的字符最小的是誰。從頭掃,每次都入棧。將棧里小于等于當前位置后綴的最小字符pop輸出就行了。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 typedef long long LL;
 5 const int maxn = 100100;
 6 const int inf = 'z'+1;
 7 int n;
 8 char s[maxn], t[maxn], sm[maxn];
 9 priority_queue<char> pq;
10 
11 int main() {
12     // freopen("in", "r", stdin);
13     while(~scanf("%s", &s)) {
14         n = strlen(s);
15         sm[n] = inf;
16         for(int i = n - 1; i >= 0; i--) {
17             sm[i] = min(sm[i+1], s[i]);
18         }
19         int j = 0;
20         for(int i = 0; i < n; i++) {
21             t[j++] = s[i];
22             while(j && t[j-1] <= sm[i+1]) {
23                 printf("%c", t[--j]);
24             }
25         }
26         printf("\n");
27     }
28     return 0;
29 }

?

轉載于:https://www.cnblogs.com/kirai/p/6846027.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370717.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370717.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370717.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

讓我們緊縮大數據

作為開發人員&#xff0c;我們的重點是簡單&#xff0c;有效的解決方案&#xff0c;因此&#xff0c;最有價值的原則之一就是“保持簡單和愚蠢”。 但是使用Hadoop map-reduce很難堅持這一點。 如果我們要評估多個Map Reduce作業中的數據&#xff0c;那么最終將得到與業務無關但…

行內元素和塊元素以及行內塊元素的特點

一、背景 初學html&#xff0c;接觸很多標簽 <h1>、<p>、<span>、<ul>、<em>等&#xff0c;當寫出簡單的小頁面的時候&#xff0c;例如僅僅是一篇帶有標題的文章&#xff0c;標題 <h1>標簽單獨一行&#xff0c;不管后面有多大的空間&…

軟件測試的功能測試和性能測試,大型軟件的功能測試流程及性能測試流程

大型軟件具有涉及子模塊繁多、建設過程復雜、功能全面、性能具有較高要求的特點。依據ISO/IEC 9126軟件產品評估標準&#xff0c;需要對軟件的功能性、可靠性、可用性、效率、可維護性、可移植性等方面進行評估。因此&#xff0c;需要有一種方法能夠對大型軟件進行測試&#xf…

vue 分模塊打包 腳手架_Vue面試官最愛的底層源碼問題,你可以這樣回答!

最近看到身邊很多人都在投簡歷&#xff0c;有因為企業裁員的&#xff0c;有因為自己想跳槽的&#xff0c;原因不一&#xff0c;但是最終大家都會需要接觸到面試這個事情。但是很多人對待面試不夠認真&#xff0c;只會等待結果&#xff0c;不去努力。所以這邊想整理一些懶人面試…

re.containerbase.startinternal 子容器啟動失敗_Python項目容器化實踐(二) Docker Machine和Docker Swarm...

前言這篇文章介紹Docker生態中的常被提到的Engine、Machine和Swarm&#xff0c;大家以了解為主&#xff0c;工作需要再深入。EngineDocker Engine其實就是我們常說的「Docker」&#xff0c;它是一個C/S模型(Client/Server)的應用&#xff0c;包含如下組件:Daemon。守護進程&…

基于設備樹的TQ2440的中斷(2)

下面以按鍵中斷為例看看基于設備數的中斷的用法&#xff1a; 設備樹&#xff1a; tq2440_key {compatible "tq2440,key";interrupt-parent <&gpf>;interrupts <0 IRQ_TYPE_EDGE_FALLING>, <1 IRQ_TYPE_EDGE_FALLING>;key_3 <&gpf 2…

計算機里有個不能進入的磁盤分區,新電腦只有一個分區怎么辦? 教你們如何不進pe給硬盤創建新分區!...

很多朋友新電腦剛買回來打開發現明明自己機械硬盤1T或者1T機械加128G固態&#xff0c;但是卻只有一個或者兩個分區&#xff0c;但是又不會分區現在教大家如何不用老毛桃大白菜之類的進pe系統里面就能直接創建新分區1 WinR輸入diskmgmt.msc2進入磁盤管理可以查看本機的C盤與E盤的…

OSGi中的權限

在上一篇文章中 &#xff0c;我們介紹了為Java應用程序實現沙箱的方法&#xff0c;在其中我們可以安全地運行移動代碼 。 這篇文章探討了如何在OSGi環境中執行相同的操作。 OSGi OSGi規范 為Java定義了一個動態模塊系統 。 因此&#xff0c;它是實施那種可以使您的應用程序動…

HTTP簡單教程

目錄 HTTP簡介 HTTP工作原理 HTTP消息結構 客戶端請求消息服務器響應消息實例 HTTP請求方法HTTP響應頭信息HTTP狀態碼 HTTP狀態碼分類HTTP狀態碼列表 HTTP content-type對照表 HTTP簡介 HTTP協議是Hyper Text Transfer Protocol&#xff08;超文本傳輸協議&#xff09;的縮寫&…

Reversed-Z詳解

在3D渲染管線中&#xff0c;Z這個家伙幾乎無處不在&#xff0c;如Z-Buffer&#xff0c;Early-Z&#xff0c;Z-Cull&#xff0c;Z-Test&#xff0c;Z-Write等等&#xff0c;稍有接觸圖形學的人都會對這些術語有所耳聞。 那么Z到底是什么呢&#xff1f;首先Z當然可以是任意坐標系…

pyqt開發的程序模板_小程序定制開發和模板開發要多少錢?有什么區別?

到現在&#xff0c;小程序開發已經有了1年多的歷史&#xff0c;已經達到百萬數量級。無論是小程序商城還是小程序游戲&#xff0c;其開發方式不外乎兩種&#xff0c;一種是定制開發&#xff0c;另一種是模板開發。對于很多初次接觸小程序的客戶來說&#xff0c;還不知道小程序的…

實現字符串的編碼轉換,用以解決字符串亂碼問題

引起亂碼的情況很多~實質上 主要是字符串本身的編碼格式 與程序所需要的編碼格式不一致導致的。要解決亂碼其實很簡單&#xff0c; 分2步 &#xff1a; 1&#xff1a;獲取到字符串 本身的編碼 2&#xff1a;改變字符串編碼 &#xff08;本身編碼 -> 新編碼&#xff09; 話不…

python運行原理_Python線程池及其原理和使用(超級詳細)

系統啟動一個新線程的成本是比較高的&#xff0c;因為它涉及與操作系統的交互。在這種情形下&#xff0c;使用線程池可以很好地提升性能&#xff0c;尤其是當程序中需要創建大量生存期很短暫的線程時&#xff0c;更應該考慮使用線程池。 線程池在系統啟動時即創建大量空閑的線程…

Google Guava緩存

這篇文章是我在Google Guava上系列文章的續篇&#xff0c;這次涵蓋了Guava Cache。 與HashMap或ConcurrentHashMap相比&#xff0c;Guava Cache提供了更大的靈活性和功能&#xff0c;但不像使用EHCache或Memcached那樣繁重&#xff08;就此而言&#xff0c;它很健壯&#xff0c…

html 三列布局(兩列自適應,一列固定寬度)

不做過多解釋&#xff1a;主要是記錄一個完整的布局樣式&#xff0c;實現頁面大致三列其中左右兩列是自適應寬度&#xff0c;中間固定寬度效果。 不多少代碼奉上&#xff1a; CSS樣式代碼&#xff1a; /*********************公共標簽樣式********************//************…

jsp常用動作

jsp:include 動態包含&#xff1b; jsp:forward 轉發&#xff1b; jsp:useBean 實例化bean對象&#xff1b; jsp:setProperty 設置一個屬性值 jsp:getProperty 獲取一個屬性值 jsp:param 動態傳參數&#xff1b; jsp:plugin 生成一個插件 jsp:useBean 實例化一個對象…

單曲循環 翻譯_歌單 | 單曲循環amp;熱評

December2020/12/ 寫在前面的話 /本來打算在跨年的時候才更文&#xff0c;但是吧又覺得空出這最后一個月有點蒼白&#xff0c;然后最近一直夜半網抑云(敏感ing)就想到可以做一期分享歌單的推文&#xff0c;分享一些最近聽得頻繁的歌曲(還不是刷抖音刷出來的)。《曖昧》// 王菲徘…

python的字符串內建函數

python的字符串內建函數 字符串方法是從python1.6到2.0慢慢加進來的——它們也被加到了Jython中。 這些方法實現了string模塊的大部分方法&#xff0c;如下表所示列出了目前字符串內建支持的方法&#xff0c;所有的方法都包含了對Unicode的支持&#xff0c;有一些甚至是專門用…

休息使用Jersey –包含JAXB,異常處理和客戶端程序的完整教程

最近&#xff0c;我開始使用Jersey API開發一個Restful Web服務項目。 在線提供了一些教程&#xff0c;但是我遇到了異常處理方面的一些問題&#xff0c;而且在使用JaxB和提供異常處理方法的完整項目中找不到任何地方。 因此&#xff0c;一旦我能夠使用帶有異常處理和客戶端程序…

python基于web可視化_獨家 | 基于Python實現交互式數據可視化的工具(用于Web)

轉自&#xff1a;數據派ID&#xff1a;datapi 作者&#xff1a;Alark Joshi 翻譯&#xff1a;陳雨琳 校對&#xff1a;吳金笛 本文2200字&#xff0c;建議閱讀8分鐘。 本文將介紹實現數據可視化的軟件包。 這學期&#xff08;2018學年春季學期&#xff09;我教授了一門關于數據…