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

ICPC nanchang 2025 M

题目链接:https://codeforces.com/gym/105911/problem/M

题目背景:

        n 枚硬币,小T翻转其中 k 枚,既 k 枚朝下,其余朝上,不知道是哪 k 枚,可以对每枚硬币执行一下操作之一:

  1. 放入第一堆(不翻转)
  2. 放入第一堆并翻转
  3. 放入第二层(不翻转)
  4. 放入第二层并翻转

        判断是否存在一种序列,在小T翻转任意k枚硬币的情况下,都保证两遍朝上的数量相同。

思路:

       第一堆放置 k 枚硬币(全部执行操作1),第二堆放置 n - k 枚硬币(全部执行操作4)。

        假设第一堆有 x 枚小T翻转过的硬币,那么就有 k - x枚朝上。

        第二堆就有 k - x 枚小T翻转过的硬币,那么就有 k - x 枚硬币朝上。

        所有在 x 取任意数时都成立。

数据范围:

        1 <= n <= 1e4,0 <= k <= n。

时间复杂度:

        O(n)。

ac代码:

#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* ----------------- 有乘就强转,前缀和开ll ----------------- */void solve()
{int n, k;cin >> n >> k;for (int i = 0; i < k; ++i)cout << 1;for (int i = k; i < n; ++i)cout << 4;cout << endl;
}int main()
{ioscc;solve();return 0;
}

 

 

http://www.xdnf.cn/news/12662.html

相关文章:

  • Codeforces Round 509 (Div. 2) C. Coffee Break
  • 关于GitHub action云编译openwrt
  • 【Python】屏幕像素颜色值的获取
  • uniapp 对接腾讯云IM群组成员管理(增删改查)
  • 14.MySQL使用C语言连接
  • 20、typedef和typename
  • 什么是异步 I/O?深入解析从基础到实践
  • 多区域协同的异地多活AI推理服务架构
  • 手机端抓包大麦网抢票协议:实现自动抢票与支付
  • 【C++进阶篇】C++11新特性(下篇)
  • 领域驱动设计(DDD)
  • 我计划做自己的小项目了
  • 多文化软件团队的协作之道:在认知差异中寻找协同的支点
  • BeckHoff(倍福) PLC 顺控器执行超时故障在北尔触摸屏显示的实现
  • CKA考试知识点分享(1)---HPA
  • 以智能管理为基础,楼宇自控打造建筑碳中和新路径
  • Day42 训练
  • 数据仓库建模的艺术论
  • 华为云Flexus+DeepSeek征文|华为云一键部署知识库搜索增强版Dify平台,构建智能聊天助手实战指南
  • 从标准输入直接执行 ELF 二进制文件的实用程序解析(C/C++实现)
  • ubuntu显示器未知
  • 深入理解 Agent 与 LLM 的区别:从智能体到语言模型
  • 【手动触发浏览器标签页图标自带转圈效果】
  • SQL-事务(2025.6.6-2025.6.7学习篇)
  • 如何思考?分析篇
  • 【Dv3Admin】系统视图下载中心API文件解析
  • 【Linux】Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法
  • 【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析
  • 第3章:图数据模型与设计
  • Linux Gnome壁纸