zoukankan      html  css  js  c++  java
  • Shortest and Longest LIS

    Codeforces Round #620 (Div. 2)

    D. Shortest and Longest LIS

    题解:

    贪心即可,对于最短序列,我们尽可能用可用的最大数字放入序列中,对于最长序列,我们尽可能用可用的最小数组放入序列即可,再处理序列时,当满足当前防止变化规律的符号直接防止,如果不满足则向后遍历直到遇到满足条件的符号,然后倒序放直到放完。eg. “><<>” 我们从大向小取,第一个为大于号所以直接填入,第二为小于号暂时不填,第三为小于号暂时不填,第四个为大于号,开始填,直到填到第二位结束,最后一个放在最后即可。

    /**********************************************************
    * @Author: 			   Maple
    * @Date:   			   2020-02-24 16:40:40
    * @Last Modified by:   Maple
    * @Last Modified time: 2020-02-24 16:49:03
    * @Remark: 
    **********************************************************/
    #include <bits/stdc++.h>
    #define lowbit(x) (x&(-x))
    #define CSE(x,y) memset(x,y,sizeof(x))
    #define INF 0x3f3f3f3f
    #define Abs(x) (x>=0?x:(-x))
    #define FAST ios::sync_with_stdio(false);cin.tie(0);
    using namespace std;
    
    typedef long long ll;
    typedef pair<int,int> pii;
    typedef pair<ll , ll> pll;
    
    const int maxn=2e5+100;
    int n,ans[maxn];
    char str[maxn];
    
    int main()
    {
    	#ifndef ONLINE_JUDGE
    	freopen("in.in","r",stdin);
    	#endif
    	int t;
    	cin>>t;
    	while(t--){
    		cin>>n;
    		cin>>str;
    		int num=n,ls=0;
    		//最短排列
    		for(int i=0;i<n;i++){
    			if(str[i]=='>'||i==n-1){
    				for(int j=i;j>=ls;j--){
    					ans[j]=num--;
    				}
    				ls=i+1;
    			}
    		}
    		for(int i=0;i<n;i++)
    			cout<<ans[i]<<" ";
    		cout<<endl;
    		num=1,ls=0;
    		//最长排列
    		for(int i=0;i<n;i++){
    			if(str[i]=='<'||i==n-1){
    				for(int j=i;j>=ls;j--){
    					ans[j]=num++;
    				}
    				ls=i+1;
    			}
    		}
    		for(int i=0;i<n;i++)
    			cout<<ans[i]<<" ";
    		cout<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    mysql支持跨表delete删除多表记录
    三种循环的流程图画法总结
    巧用svn create patch(打补丁)方案解决定制版需求
    svn branch and merge(svn切换分支和合并)详解
    visualvm
    Java -verbose[:class|gc|jni] 转 ----JAVA源码分析
    BootstrapClassloader ExtClassloader AppClassloader
    LINUX 源码+内核所有参数说明
    SDN
    人工智能之数学基础
  • 原文地址:https://www.cnblogs.com/LeafLove/p/12357671.html
Copyright © 2011-2022 走看看