CF1523C Compression and Expansion (思维 + 模拟)

题目链接: Compression and Expansion

大致题意

让你模拟写书的目录, 但是对于每一行的情况, 都只保留了最后一个数字. (看样例吧QAQ, 不好叙述啊)

要求, 还原出一个合法的目录.

解题思路

首先我们考虑到1这个数字, 他比较特殊, 因为这表示我们必须新开一点.

然后对于其余的所有数字. 我们的做法是, 能保证上一行尽可能少删除的情况下, 使得当前情况合法.

因为我们一旦把某些点删除了, 我们再开新行的时候, 就再也不能返回去用了. 且我们也可以保证在这种情况下, 可以得到最优解, 因为之前出现过的每一点, 也必然都是之前给出过的数字. 因此如果给出的序列是合法的, 必然我们可以回溯到合法位置.

模拟的过程, 用vector来模拟栈即可. vector内维护每一行的情况.

AC代码

#include <bits/stdc++.h>
#define rep(i, n) for (int i = 1; i <= (n); ++i)
using namespace std;
typedef long long ll;
int main()
{
	int t; cin >> t;
	while (t--) {
		vector<int> v;

		int n; scanf("%d", &n);
		rep(i, n) {
			int x; scanf("%d", &x);
			if (x > 1) {
				while (!v.empty() and v.back() + 1 != x) v.pop_back();
				v.pop_back();
			}
			v.push_back(x);

			rep(i, v.size()) {
				if (i > 1) putchar('.');
				printf("%d", v[i - 1]);
			}
			puts("");
		}
	}
	return 0;
}

END

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
《图像压缩基础、标准与实践PDF》 是一本关于图像压缩的教材。图像压缩是指通过减少图像数据的表示和存储量来减小图像文件的大小,同时保持尽可能高的视觉质量。图像压缩有很多基本原理和方法,这本教材系统地介绍了这些内容。 首先,教材介绍了图像压缩的基本原理。它解释了如何利用图像中的冗余信息来减小文件大小,例如空间冗余、统计冗余和人眼视觉系统的特点。此外,教材还介绍了不同类型的图像压缩算法,包括基于无损和有损压缩的方法,如RLE、哈夫曼编码、离散余弦变换和小波变换等。 然后,教材详细介绍了图像压缩的标准。它解释了JPEG、JPEG 2000和PNG等常用的图像压缩标准,包括它们的压缩原理、编码方法和解码过程。通过学习这些标准,读者可以了解到当前流行的图像压缩技术,并了解它们的优缺点和适用场景。 最后,教材提供了实践部分,让读者通过实际操作来加深对图像压缩的理解。它介绍了一些常用的图像处理软件和工具,以及它们的图像压缩功能。读者可以通过使用这些工具来压缩和解压缩图像,并对压缩的效果进行评估和比较。 总之,这本教材全面地介绍了图像压缩的基础原理、标准和实践,适合对图像压缩感兴趣的人学习和参考。无论是在图像处理领域的研究者、工程师,还是对图像压缩有需求的普通用户,都可以从这本教材中获得有关图像压缩的深入知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥Fau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值