当前位置: 首页 > news >正文

CF1798D Shocking Arrangement 题解

参考了扶苏的证明,看起来很直觉,证明有点不明觉厉。

我们考虑这样一种构造,考虑增量,直接维护当前答案序列的和 \(s\)

  • \(s \ge 0\) 时,随便选一个 \(x(x \le 0)\) 放到序列末尾。
  • \(s \le 0\) 时,随便选一个 \(x(x \ge 0)\) 放到序列末尾。

证明是这样的,因为我们插入的都是与 \(s\) 异号的数,那么显然有 \(\min_{i=1}^n a_i < s < \max_{i=1}^n a_i\),再考虑所有区间的和,在对序列做前缀和之后,都是两个前缀和相减,即 \(s_r - s_l\) 的形式。

那么,因为 \(\forall s_r < \max_{i=1}^n a_i\),并且 \(\forall s_l > min_{i=1}^n a_i\),那么将两式相减,得到 \(|s_r - s_l| < \max - \min\),这里需要一点分讨,读者自证不难。

考虑无解,全 \(0\) 序列显然无解,充分性显然。必要性通过上面的构造性证明,易得只要序列存在任意一个非 \(0\) 数,就能构造出答案。

// 如果命运对你缄默, 那就活给他看。
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast", "inline", "-ffast-math")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include <bits/stdc++.h>
using namespace std;
typedef long long LL; 
// #define int LL
const int maxn = 3e5 + 10;
vector<int>ans;
int a[maxn], n;
inline void ed() {cout << "No\n";
}
inline void solve() {cin >> n;queue<int>q[2];  for(int i = 1; i <= n; ++ i) {cin >> a[i];q[a[i] >= 0].emplace(a[i]); }if(!*max_element(a + 1, a + 1 + n)) return cout << "No\n", void();LL s = 0;vector<int>ans;while(ans.size() < n) {int x; if(q[s < 0].empty()) x = q[s >= 0].front(), q[s >= 0].pop();else x = q[s < 0].front(), q[s < 0].pop();s += x, ans.emplace_back(x); } cout << "Yes\n";for(int x : ans) cout << x << ' '; cout << '\n'; 
}
signed main() {// freopen(".in", "r", stdin);// freopen(".out", "w", stdout);ios :: sync_with_stdio(false);cin.tie(0), cout.tie(0);int T;cin >> T;while(T -- ) solve();return 0;
}
http://www.jsqmd.com/news/24433/

相关文章:

  • P11994 [JOIST 2025] 外郎糕 题解
  • 告别手动上传!10款自动同步本地文件夹的网盘深度评测
  • 腾讯CodeBuddy:AI IDE的革命性突破,开发者工作方式的彻底重塑
  • C++中STL容器应用
  • P7914 [CSP-S 2021] 括号序列
  • 破解跨地域研发协同难题:2025主流制品管理平台选型对比与关键指标解析
  • C#领域驱动设计在 ERP 项目中的应用设计
  • ansible 配置阿里源 实例
  • 借助 ChatGPT API 将 AI 集成到测试自动化框架中
  • 2025 年拉力试验机厂家最新推荐排行榜:聚焦专精特新企业技术实力与市场口碑深度解析
  • easyui gridview中toolbar中按钮的显示与否
  • 逆合成孔径雷达(ISAR)成像中的包络对齐和相位补偿算法MATLAB实现
  • 2025 年洗车机厂家最新推荐排行榜:实力企业技术服务测评及选购指南全自动 / 卷帘门 / 无接触 / 龙门式 / 隧道式 / 智能无人洗车机公司推荐
  • 251027 复现VMScape
  • 2025 年试验机厂家最新推荐排行榜:聚焦专精特新企业,全方位解析技术实力与市场口碑
  • 2025年锌铝镁桥架公司 top 10 推荐
  • 2025年锌铝镁桥架产品行业推荐与洞察
  • 2025 年德州清水混凝土修补,德州仿清水混凝土修补,德州外墙仿清水混凝土修补公司最新推荐,聚焦资质、案例、售后的五家企业深度解读
  • 2025 年德州混凝土修补,山东专业混凝土修补,山东建筑清水混凝土修补,山东装饰清水混凝土修补公司最新推荐,聚焦资质、案例、售后的五家企业深度解读
  • 高端网站设计不只是“好看”——兰亭妙微解读5个提升商业价值的设计策略
  • 前后端分离,千万别再搞错了!
  • OpenRouter vs. SightAI:统一入口,还是统一“智能体验”? - sight
  • ansible init 初始化实例
  • 详细分析Logback日志过大 - 教程
  • 写给26届文科大学应届生的秋招求职建议 - jobleap.cn助你找到满意的工作
  • 产品技术文档新范式:用PandaWiki构建智能化知识管理体系
  • 解析某省零解赛题
  • 2025 年 10 月天河区台历印刷,天河区台历印刷设计公司最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 小程序为什么越做越像App?兰亭妙微解析3个界面设计底层逻辑
  • 通用知识手册