璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:704b_card_deck
problems
名称Card Deck
题目编号704B
题目链接codeforces.com/…
来源CodeForces
算法分类贪心
难易程度独立完成

Card Deck

想法

从后往前,每次贪心区域最大值。处理这个最大值也就一个循环就结束了。

代码实现

#include<cstdio>//uncle-lu
#include<algorithm>
template<class T>void read(T &x)
{
	x=0;int f=0;char ch=getchar();
	while(ch<'0'||ch>'9') { f|=(ch=='-'); ch=getchar(); }
	while(ch<='9'&&ch>='0') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
	x = f ? -x : x;
	return ;
}
 
int line[100010];
int tag[100010];
int n;
 
int main()
{
	int T;
	read(T);
	for (int t = 1; t <= T; t++) 
	{
		read(n);
		for (int i = 1; i <= n; i++) 
			read(line[i]);
 
		int mx=line[1], sit=1;
		for (int i = 1; i <= n; i++) 
		{
			if(line[i] > mx)
			{
				sit = i;
				mx = line[i];
			}
			tag[i] = sit;
		}
 
		sit = n;
		while(sit)
		{
			for(int i=tag[sit]; i<=sit; ++i)
				printf("%d ", line[i]);
			sit = tag[sit] - 1;
		}
		printf("\n");
	}
 
	return 0;
}
/app/www/public/data/pages/icpc/problems/704b_card_deck.txt · 最后更改: 2023/10/01 10:32 由 温婕莺