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

CF 1031 Div.2 解题报告

A(800)

直接贪。

B(1200)

数学题。能不能放主要是和两个矩形某一维的间隔有关,如果存在某一维的间隔可以用矩形填充,那么肯定存在解;否则肯定无解。

C(1700)

显然我们可以发现炸完一次后我们一定可以收集到剩余的所有金矿。用二维前缀和贪心即可。

D(2200)

神秘结论题。

可以得至少 \(x\) 分当且仅当你前 \(x\) 张牌的最小值大于对方前 \(n-x+1\) 张牌的最小值。

证明:如果成立,那么你至多输 \(n-x+1\) 次,且在遇到最小值后会至少赢 \(x\) 次。

交换通过维护前缀后缀最值即可。

E(2600)

很厉害的题目。

首先观察答案上界是 \(2n\)。( \(n\) 秒躲,\(n\) 秒赶路)

因为可以不动,所以考虑维护每一秒可以抵达的点的增量。

这个增量分两部分:

  • 所有之前可以抵达的点通过走一条边可以到的点;

  • \(i\) 秒不能到的点;(需要判断是否可以与可以抵达的点相邻)

然后对于每一秒不能到的点直接移除可以抵达的点集即可。

F(2500)

没有那么厉害的构造题。

有一个套路:看到两个序列 \(a\)\(b\),而且你觉得像二分图之类的,应该优先考虑图论。

又一个套路:是否交换可以用边的方向来刻画。

于是,我们把 \((a_i,b_i)\) 描述为 \(a_i\)\(b_i\) 之间的无向边。

我们希望每个点既有出边又有入边。

构造方法是:

先从度数为 \(1\) 的点出发,然后边的方向为由自己指向边的另一个端点;

然后对于其他联通块,随便挑一个点,对其中一条边及访问到的节点这么处理,对其他边及访问到的节点反过来定向即可。

http://www.zskr.cn/news/784.html

相关文章:

  • 粘连字符验证码的分割与识别思路
  • Symfony学习笔记 - Symfony Documentation - The Basics(3)
  • HAMi vGPU 原理分析 Part4:SpreadBinpack 高级调度策略实现
  • Brute Ratel C4红队框架 远控工具BRC4 2.1.2 版本分享
  • Navicat连接配置信息还原并导出文件
  • NOIP 集训日记(学术)
  • 一个Python并发编程技巧:future当作字典的key当作中间值构建最终结果
  • 国产DevOps平台Wiki模块能力全景解析:从知识协同到合规部署的关键抉择
  • Gitee Wiki如何重塑软件工厂时代的知识管理体系?
  • 第1章 计算机系统概述
  • 2025年,CRM厂家权威榜单【 TOP 5】
  • Why框架元推理,对本吉奥警告的解析与安全证明
  • Yii-1-1-应用开发即时启动指南-全-
  • 中电金信:AI重构测试体系智能化时代的软件工程新范式
  • DOS系统与Windows系统的区别
  • Android Studio 2025.1.1 安装与配置全流程教学
  • Postgres常用语句
  • 如何在Windows系统上安装Final Cut Pro
  • 【案例+1】HarmonyOS官方模板优秀案例 第7期:金融理财 记账应用
  • BurpSuite 代理原理 和 证书钉扎检测技术
  • java、Kotlin经验
  • 强大的OSINT情报工具:Blackbird用户名与邮箱搜索分析平台
  • MySQL索引
  • 从模糊到超清!Aiarty Image Enhancer 安装与使用教程
  • Google Play更改支付地址
  • 对话式 AI Workshop|零帧起手捏个「 Her」——搭建拥有个人记忆的语音助手
  • Codeforces Round 1048 (Div. 1) A Cake Assignment 题解
  • Linux中的字符设备和块设备详解和应用区别
  • Gitee DevOps:本土化研发效能引擎的崛起与突破
  • 在Docker容器中运行TaichiSLAM