正睿25csp七连测day5

news/2025/10/13 22:11:02/文章来源:https://www.cnblogs.com/SigmaToT/p/19139535

题面:
image
image
image
image
image
image
image
image
image
image
image
这场打得很飞舞,\(40pts,rk54\)

T1

这道题比较考验思维。
我们可以考虑每个点是从最初序列的哪个位置转移过来了(记为 \(from\))。
不难发现,如果最终序列中的几个位置的 \(from\) 相等,那么这几个位置代表的数的和肯定模 \(10\) 同余于 \(from\) 代表的值。
于是,我们可以利用这个性质(我们不妨叫他性质 \(1\)),贪心地往每个位置里放数,即假设这 \(k\) 个数拥有相等 \(from\),那么我们可以把最高位的那 \(k - 1\) 个位置填上 \(9\),剩下的位置根据那几个 \(9\) 和性质 \(1\) 来放最后一个位置。

#include <iostream>
#include <algorithm>
#include <vector>
#define pii std::pair<int, int>using std::cin;
using std::cout;
const int N = 1e6 + 10;int n;
int cnt[N];
int num[N];
int fr[3 * N];
int ans[3 * N];
int from[3 * N];
std::vector<pii> v;int main()
{int m;cin >> m;char c = getchar();while (!isdigit(c))c = getchar();while (isdigit(c)){num[++n] = c - '0';c = getchar();}std::reverse(num + 1, num + n + 1);int l = 1;int r = n;for (int i = 1; i <= m; ++i){fr[++r] = l;fr[++r] = l;l++;}int i;for (i = 1; i <= n; ++i)from[i] = i;for (; i <= n + 2 * m; ++i)from[i] = from[fr[i]];for (int i = l; i <= r; ++i){cnt[from[i]]++;v.emplace_back(from[i], i);}std::sort(v.begin(), v.end());int now = 0;for (auto it : v){if (now != it.first){now = it.first;ans[it.second] = (num[now] - 1ll * (cnt[now] - 1) * 9 % 10 + 10) % 10;}elseans[it.second] = 9;}for (int i = r; i >= l; --i)cout << ans[i];cout << '\n';return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C/C++ 指针详解与各种指针定义 - 指南

C/C++ 指针详解与各种指针定义 - 指南2025-10-13 22:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

14 10.13

上了数据结构 统一建模语言 Java跑步了背了单词

日志|前端框架Vue

Vue是一款用于构建用户界面的渐进式的JavaScript框架1)2)3)v-bindv-onv-if v-else-if v-else = v-showv-forv-实例演示vue生命周期的挂载完成提示

oop.shiyan1

实验1 源代码:1 #include<iostream>2 #include<string>3 #include<vector>4 #include<algorithm>5 6 //模版函数声明7 template<typename T>8 void output(const T& c);9 10 void …

玄机——第一章 应急响应-Linux日志分析 wp

简介 账号root密码linuxrz ssh root@IP 1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割 2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割 3.爆破用户名字典是什么?如果有多个使…

第四周第五天4.5

所用时间:180分钟 代码量(行):0 了解到的知识点: 1.无约束问题方法求解 无约束问题的核心求解方法分为解析法和数值迭代法,前者直接求导找最优解,后者通过逐步迭代逼近最优解 解析法仅适用于目标函数可微且能通…

深入解析:flutter AudioPlayer的使用问题及处理

深入解析:flutter AudioPlayer的使用问题及处理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

11 10.10

学习了看书了

12 10.11

出去玩儿了 学习了

P3330 [ZJOI2011] 看电影

思路 第一眼看去好像并没有什么思路,于是我们通过手算或者暴力搜索打了一个表, 当 \(n = 2\) 时,当 \(k\) 变化时,答案如表所示n\ k 1 2 3 41 (1, 1) (2, 2) (3, 3) (4, 4)2 (0, 1) (3, 4) (15, 16) (24, 25)3 (0,…

09 面向对象基础概念的总结

09 面向对象基础概念的总结面向对象 总结类与对象的定义 类是一个模板,是抽象的,将一些元素的共性集合在一起。 对象是具体的实例,创建对象的过程叫做实例化。方法 方法的定义: 修饰符 返回值 函数名 参数 函数体对…

20232315 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一、实验目标 对一个名为pwn1的linux可执行文件: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数。 利用foo函数的Bof漏洞,构造一个攻击输入字符串,覆盖返回地址,触发getShell函数。 注入一个自己…

CSP-S 2025 提高级模拟赛 Day6 复盘 B.连通子图

题意 给定正整数 \(k\),求构造一棵树,使得包含了1号点的连通子图个数恰好为 \(k\)。 赛时做法 没想出来,骗了个 \(n\leq60\) 的20pts部分分(输出一条长度为 \(k\) 的链,此时一定有 \(k\) 个联通子图) #include&l…

基于Java的家政服务管理优秀的系统的设计与完成-计算机毕设 附源码05300

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Android Camera openCamera - 教程

Android Camera openCamera - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

大作业第一阶段验收小组集体加5分 -

大作业第一阶段验收小组集体加5分任务二 小组:郝正一,文利,武浩翔 验收集体加5分

业务定义与指标体系搭建

一、指标 1、什么是指标? 定义:衡量目标的方法,构成要素有维度+汇总方式+度量 2、好的指标 = 可比较(增量>全量,优先比率/比例,慎用绝对值) + 预见性(领先>滞后) + 行动导向(过程型 > 结果性) 3、…

Linux使用笔记

Linux使用笔记Ubuntu替换“系统启动界面”图片sudo cp yourlogo.png /usr/share/plymouth/themes/spinner/watermark.png // 若要替换“登录”界面的图片: sudo cp yourlogo.png /usr/share/plymouth/Ubuntu-logo.png…