【暴力剪枝】CF1708D

https://codeforces.com/contest/1708/problem/D

题意

思路

这样的操作下,数列减的速度是非常快的 ,也就是说,易出现很多的0,0的操作没啥意义,所以我们要找到第一个 >0 的数对其后的序列进行排序,就能大大减少复杂度

这道题告诉我们实在没思路可以猜个暴力剪枝的做法

Code:

cpp 复制代码
#include <bits/stdc++.h>

#define int long long

constexpr int N = 2e5 + 10;
constexpr int mod = 998244353;

int n;
int a[N];

void solve() {
	std::cin >> n;
	for (int i = 1; i <= n; i ++) {
		std::cin >> a[i];
	}
	int pos = 0;
	for (int i = 1; i <= n; i ++) {
		if (a[i]) {
			pos = i - 1;
			break;
		}
	}
	while(n > 1) {
		for (int i = std::max(pos, 1ll); i <= n; i ++) {
			a[i] = a[i + 1] - a[i];
		}
		n --;
		std::sort(a + pos, a + 1 + n);
		pos = std::upper_bound(a + 1, a + 1 + n, 0) - a - 1;
		if (pos == n - 1) break;
	}
	std::cout << a[n] << "\n";
}
signed main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int t = 1;
	std::cin >> t;
	while (t--) {
		solve();
	}
	return 0;
}
相关推荐
zyq99101_110 分钟前
DFS算法实战:经典例题代码解析
python·算法·蓝桥杯·深度优先
智者知已应修善业15 分钟前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
广州灵眸科技有限公司17 分钟前
为RK3588注入澎湃算力:RK1820 AI加速卡完整适配与评测指南
linux·网络·人工智能·物联网·算法
qinian_ztc25 分钟前
frida 14.2.18 安装报错解决
算法·leetcode·职场和发展
AI应用实战 | RE30 分钟前
012、检索器(Retrievers)核心:从向量库中智能查找信息
人工智能·算法·机器学习·langchain
凤年徐31 分钟前
C++手撕红黑树:从0到200行,拿下STL map底层核心
c++·后端·算法
Thomas.Sir35 分钟前
AI 医疗之罕见病/疑难病辅助诊断系统从算法到实现【表型驱动与知识图谱推理】
人工智能·算法·ai·知识图谱
liliangcsdn1 小时前
MCP协议的深度分析与应用示例
人工智能·机器学习·全文检索
tankeven1 小时前
动态规划专题(03):区间动态规划从原理到实践(未完待续)
c++·算法·动态规划
田梓燊2 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode