Codeforces Round 930 (Div. 2) (A~B)

比赛:Codeforces Round 930 (Div. 2) (A~B)

目录:A B

A题:Shuffle Party

标签: 模拟

题目大意

  • 给你一个数组 a1,a2,…,an。最初,每个 1 ≤ i ≤ n都有 ai = i,整数 k ≥ 2的运算 swap(k)定义如下:
    • 设 d是不等于 k本身的最大除数 。然后交换元素 ad 和 ak
  • 执行swap(2) swap(3) … swap(n):问执行完后1在哪个位置

思路

  • 只关注1的交换位置,2的最大除数是1,4的最大除数是2,8的最大除数是4…
  • 所以1的位置会有1 -> 2 -> 4 -> 8 -> 16 … 一直到接近n的位置

AC代码

#include <bits/stdc++.h>
using namespace std;
void solve()
{int n; cin >> n;int t = log2(n);	// 找到满足 2^t <= n 最大的tcout << (1 << t) << endl; // 2^t即为答案
} 
int main()
{int T; cin >> T;while(T--)solve();return 0;
}

B题:Binary Path

标签: 实现问题,编程技巧,模拟(implementation)

题目大意

  • 给你一个 2×n 充满了 0 和 1的 网格。 i 行和j列的数字是 aij
  • 从(1, 1)点开始只能向下或向右走,走到(2, n),经过路径上的数字拼接起来。
  • 问:拼接后的数字 字典序最小的是什么,有几种走法能得到这个字典序最小值。

思路

  • 因为是2 * n的网格只能向下或向右走,所以只能向下走一次,走完一次向下后路线固定了因为只能向右走了
  • 为了好说明,这里将那个向下走的位置称为断点
  • 将1 ~ n 每一个点当作断点枚举,要字典序最小所以要走法有以下几种情况:
    1. 如果当前点右边点小于下边点那么一定向右走,继续向后寻找断点
    1. 下面的点小于右边的点,那么向下走。那么这个点就是断点,并且只有这一种情况
    1. 下面的点等于右边的点,这时既可以向下又可以向右,但如果在之后遇到下面的点不等于右边的点得情况那么路线会被确定到后面得点,没有则当前点和右边点都可以作为断点
  • 样例3 断点可为0011,即从0011往下字典序最小且一样,如下:
  • 001 0011 1
    111 011 01

AC代码

#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
vector<string> v;
void solve()
{int n; cin >> n;v.clear();for(int i = 0; i < 2; i++){string s; cin >> s;v.push_back(s);}	int res = 1, idx = 0;for(int i = 0; i < n-1; i++){if(v[0][i+1] == v[1][i])res ++;else {// 下面的点小于右边的点,那么向下走,那么这个点就是断点if(v[0][i+1] > v[1][i]) {idx = i; break;}// 如果当前点右边点小于下边点那么一定向右走,那么当前点不是断点,继续向后寻找断点idx = i + 1;res = 1; // 上一步是向右走,路线时固定的刷新为一种情况}}// 断点为idx输出路径for(int i = 0; i <= idx; i++)cout << v[0][i];for(int i = idx; i < n; i++)cout << v[1][i];cout << "\n" << res << "\n";
} 
int main()
{int T; cin >> T;while(T--)solve();return 0;
}

logo

//へ     /|
//  /\7    ∠_/
//  / │   / /
// │ Z _,< /   /`ヽ
// │     ヽ   /  〉
//  Y     `  /  /
// イ● 、 ●  ⊂⊃〈  /
// ()  へ    | \〈
//  >ー 、_  ィ  │ //
//  / へ   / ノ<| \\
//  ヽ_ノ  (_/  │//
//	  7       |/
//
/*__   _,--="=--,_   __/  \."    .-.    "./  \/  ,/  _   : :   _  \/` \\  `| /o\  :_:  /o\ |\__/`-'| :="~` _ `~"=: |\`     (_)     `/.-"-.   \      |      /   .-"-.
.---{     }--|  /,.-'-.,\  |--{     }---.)  (_)_)_)  \_/`~-===-~`\_/  (_(_(_)  (
(                         				))                                     (
'---------------------------------------'
*/

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

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

相关文章

Python图像形态学处理:腐蚀、膨胀、礼帽、黑帽……

文章目录 二值形态学灰度形态学 python图像处理教程&#xff1a;初步&#x1f4f7;插值变换 最基础的形态学操作有四个&#xff0c;分别是腐蚀、膨胀、开计算和闭计算&#xff0c;【scipy.ndimage】分别实现了二值数组和灰度数组的这四种运算。而针对灰度图像&#xff0c;【sc…

Office/WPS 好用的PPT插件-智能选择布局

软件介绍 PPT大珩助手是一款全新设计的Office PPT插件&#xff0c;它是一款功能强大且实用的PPT辅助工具&#xff0c;能够轻松帮助您修改、优化和管理幻灯片。凭借丰富的功能和用户友好的界面&#xff0c;PPT大珩助手能够助力您打造出精美而专业的演示文稿。我们致力于为用户提…

Flutter学习7 - Dart 泛型

1、泛型类 //泛型类 class Cache<T> {final Map<String, T> _cache {};void saveData(String key, T value) {_cache[key] value;}//泛型方法T? getData(String key) {return _cache[key];} }void main() {Cache<int> cache1 Cache();const String name…

NGINX的重写与反向代理机制解析

目录 引言 一、重写功能 &#xff08;一&#xff09;if指令 1.判断访问使用的协议 2.判断文件 &#xff08;二&#xff09;return指令 1.设置返回状态码 2.返回指定内容 3.指定URL &#xff08;三&#xff09;set指令 1.手动输入变量值 2.调用其它变量值为自定义变…

RISC-V特权架构 - CSR寄存器

RV32/64 特权架构 - CSR寄存器 1 CSR地址空间2 CSR定义2.1 用户级2.2 监管级2.3 超级监管级2.4 机器级 3 CSR访问3.1 CSRRW3.2 CSRRS3.3 CSRRC3.4 CSRRWI3.5 CSRRSI3.6 CSRRCI 本文属于《 RISC-V指令集基础系列教程》之一&#xff0c;欢迎查看其它文章。 1 CSR地址空间 RISC&…

房贷计算器微信小程序原生语言

微信小程序: 房贷计算器 效果: 输入 300万 结果 还款明细 一共有3个页面 1、输入页面 2、结果页面 3、详情页面 1 index页面 index.wxml文件 <view class="text-black"><!--房屋总价--><view class="cu-bar bg-white solid-bottom"&…

TCP/IP状态迁移

TCP&#xff08;传输控制协议&#xff09;是一种面向连接的流式控制协议&#xff0c;它定义了不同的状态以管理通信过程中的连接。TCP 状态迁移描述了 TCP 连接在不同状态之间的转换过程&#xff0c;常见的 TCP 状态包括 CLOSED、LISTEN、SYN_SENT、SYN_RECEIVED、ESTABLISHED、…

免费下载《金融行业数据安全交换解决方案白皮书》

金融行业包括商业银行业务、证券业务、保险业务、基金业务、信托业务等&#xff0c;因此数据类型多种多样&#xff0c;并且数据涉及主体众多&#xff0c;应用场景上较为多样复杂&#xff0c;在数据交换上存在安全、合规、可控、可靠、高效等需求。 金融行业会面临哪些数据安全…

IIS发布PHP网站字体404解决办法

最近在使用 IIS 发布 PHP 网站时&#xff0c;我遇到了一个前端问题&#xff0c;即字体库文件 404 错误。这个问题的根本原因是 IIS 未能正确识别字体文件类型&#xff0c;导致浏览器在加载页面时无法正确获取所需字体资源&#xff0c;进而触发了404错误。这样的问题会导致网站页…

npm install 报错常见的解决方法

npm install 报错的情况有很多种&#xff0c;每种错误的具体解决方案也有所不同。这里我将汇总一些常见的npm install报错及其解决办法&#xff1a; 1. 下载速度慢/网络问题 解决办法&#xff1a;更换npm包的镜像源至国内镜像&#xff0c;如淘宝npm镜像&#xff1a;npm confi…

Javascript:输入输出

目录 一.前言 二.正文 1.输出 2.输入 3.字面量 概念&#xff1a; 三.结语 一.前言 Javascript作为运行浏览器的语言&#xff0c;对于学习前端的同学来说十分重要&#xff0c;那么从现在开始我们将开始介绍有关 Javascript。 二.正文 1.输出 document.write() : 向body内…

第十四篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读Azure Cognitive Services个性化推荐系统

传奇开心果博文系列 系列博文目录Python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、个性化推荐系统介绍和关键功能以及优势解说二、雏形示例代码三、个性化推荐示例代码四、实时推荐示例代码五、多种推荐算法示例代码六、易于集成示例代码七、数据安全和隐私保…

C# DLL实现泄露实验

先说结论&#xff1a;如果应用程序项目中使用直接引用的形式调用动态链接库&#xff0c;当动态链接库是在调试模式生成的情况下&#xff0c;即使应用程序以发布模式生成&#xff0c;跟随应用程序一同生成的动态链接库仍为调试模式&#xff0c;会引发DLL实现泄露问题&#xff1b…

Google Genie:创意互动环境

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

cJSON读写数据例子

cJSON使用案例代码。 #include <stdio.h> #include <stdlib.h> #include "../cJson/cJSON.h" int main() { FILE* jsonFile fopen("data.json", "r"); if (jsonFile) { fseek(jsonFile, 0, SEEK_END); i…

C++的一些细节技巧

列表和数组的区别 【C】list使用 1.C中怎么把字符串放到list&#xff1a; 在C中将字符串存入列表&#xff08;List&#xff09;可以使用标准库的std::list<std::string>。下面是示例代码&#xff1a; #include <iostream> #include <list> #include <st…

pt模型转换为onnx的作用,直接用pt模型去检测可以吗

将PyTorch模型转换为ONNX模型的作用主要在于提高模型的可移植性和兼容性&#xff0c;同时不能直接用PyTorch模型去检测的原因可能涉及到环境配置、性能优化等方面。 首先&#xff0c;关于将PyTorch模型转换为ONNX模型的作用&#xff0c;ONNX&#xff08;Open Neural Network E…

day57 集合 List Set Map

List实现类 List接口特点&#xff1a;元素有序 可重复 Arraylist 可变数组 jdk 8 以前Arraylist容量初始值10 jdk8 之后初始值为0&#xff0c;添加数据时&#xff0c;容量为10&#xff1b; ArrayList与Vector的区别&#xff1f; LinkList&#xff1a;双向链表 优点&#xff1…

智慧工地物联网云平台APP源码:监管端、工地端、危大工程、智慧大屏

目录 技术说明 智慧工地 服务对象&#xff1a;项目现场 企业项目管理 服务对象&#xff1a;建设领域企业 政府工地监管 服务对象&#xff1a;全国各省建设领域政府机构 劳务实名制管理解决方案 绿色施工解决方案 视频监控解决方案 塔机安全监控解决方案 施工升降机安…

Windows安装Docker 容器教程(转载)

Windows安装Docker 容器教程 Docker Desktop - WSL distro terminated abruptlyA WSL distro Docker Desktop relies on has exited une Docker Desktop - Unexpected WSL error