zoukankan      html  css  js  c++  java
  • luogu P1368 工艺 /【模板】最小表示法

    最小表示法模板题:

    代码:

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    
    using namespace std;
    
    const int N=300009;
    int n,a[N];
    
    void init()
    {
    	scanf("%d",&n);
    	for (int i=1;i<=n;i++)
    		scanf("%d",&a[i]);
    }
    
    int t(int x) { return x==n?x:x%n; }
    
    void work()
    {
    	int i=1,j=2,k=0;
    	while(i<=n&&j<=n&&k<n)
    	{
    		if(a[t(i+k)]==a[t(j+k)])
    			k++;
    		else
    		{
    			if(a[t(i+k)]>a[t(j+k)]) i=i+k+1;
    			else j=j+k+1;
    			k=0;
    			if(i==j) i++;
    		}
    	}
    	i=min(i,j);
    	for (int j=i;j<=n;j++)
    		printf("%d ",a[j]);
    	for (int j=1;j<i;j++)
    		printf("%d ",a[j]);puts("");
    }
    
    int main()
    {
    	init();
    	work();
    	return 0;
    }
    
    由于博主比较菜,所以有很多东西待学习,大部分文章会持续更新,另外如果有出错或者不周之处,欢迎大家在评论中指出!
  • 相关阅读:
    GARP和GVRP
    VLAN间路由
    Voice VLAN
    VLAN
    SSH
    Telnet
    FTP
    DHCP
    STP
    交换机
  • 原文地址:https://www.cnblogs.com/With-penguin/p/13403213.html
Copyright © 2011-2022 走看看