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

Educational Codeforces Round 129 (Rated for Div. 2)

A. Game with Cards.

题目链接

题目大意:

Alice和Bob玩卡牌。Alice有n张,Bob有m张。第一轮选手出一张数字卡牌。第二轮另一个选手要选择一张比他大的,依此类推。谁没有牌可出则输。问Alice和Bob分别先手时,谁赢?输出两行,代表赢的人。

思路:

博弈:

如果Alice拥有的牌上面的数字的最大值 大于Bob拥有的牌上面的数字的最大值,无论谁先手都是Alice赢,因为Alice打出最大的那一张牌时Bob接不下去,若Bob只有一张牌,且Bob先手,那么他打出这一张牌之后Alice可以拿最大的牌压住,同样的,如果Alice拥有的牌上面的数字的最大值 小于Bob拥有的牌上面的数字的最大值,那么总是Bob赢,若最大值相同,谁先手谁赢.

参考代码:

void solve() {int n, m;std::cin >> n;std::vector<int> a(n);for (int i = 0; i < n; i++)std::cin >> a[i];std::cin >> m;std::vector<int> b(m);for (int i = 0; i < m; i++)std::cin >> b[i];int maxa = *max_element(a.begin(), a.end());int maxb = *max_element(b.begin(), b.end());if (maxa > maxb)std::cout << "Alice\nAlice\n";else if (maxa < maxb)std::cout << "Bob\nBob\n";elsestd::cout << "Alice\nBob\n";
}

B. Card Trick

题目链接

题目大意:

有一个队列a,以及m次操作第i次操作将a中前b[i]个数从队列中取出,放到队尾。问m次操作后队头数字是多少?

思路:

计算游标在环上到哪个位置即可。答案a[bsum % n] .每调换n张牌相当于没变化.

参考代码:

void solve() {int n, m;std::cin >> n;std::vector<int> a(n);for (int i = 0; i < n; i++)std::cin >> a[i];std::cin >> m;std::vector<int> b(m);for (int i = 0; i < m; i++)std::cin >> b[i];int pos = accumulate(b.begin(), b.end(), 0ll) % n;std::cout << a[pos] << '\n';
}

C. Double Sort

题目链接

题意:

题意:给定两个数组 a,b ,问能否进行以下操作,使得两个数组均有序(不降)。

  • 选择位置 i,j,交换 ai,aj ;交换 bi,bj。

数组长度是 100 ,交换次数不能超过 10000 。如果可以,输出一种方案。

分析:先进行交换使得 a 有序。交换次数不会超过 10000 。如果这个限制缩小的话,可以使用选择排序。

然后再对 a 进行排序,这里需要注意:不能破坏 a 的有序性,即若希望交换 bi,bj ,必须有 ai=aj 。

参考代码:

void solve() {int n;std::cin >> n;std::vector<int> a(n + 1), b(n + 1);for (int i = 1; i <= n; i++)std::cin >> a[i];for (int i = 1; i <= n; i++)std::cin >> b[i];std::vector<std::array<int, 2>> v;// v数组存每次交换的下标for (int i = 1; i <= n; i++) { // 先排a数组for (int j = i + 1; j <= n; j++) {if (a[i] > a[j]) {std::swap(a[i], a[j]);std::swap(b[i], b[j]);v.push_back({i, j});}}}for (int i = 1; i <= n; i++) {for (int j = i + 1; j <= n; j++) {if (b[i] > b[j]) {if (a[i] == a[j]) {std::swap(a[i], a[j]);std::swap(b[i], b[j]);v.push_back({i, j});}else {std::cout << "-1\n";// 无法在不影响a的有序性的情况下使得b数组有序return;}}}}std::cout << v.size() << '\n';for (auto [x, y] : v) {std::cout << y << " " << x << '\n';}
}

思路二:

按pair顺序排一下序,记录位置,检查b是否有序,如果无序,则无解。有序则按位置安排一下。比较简单的办法是用插入排序或者冒泡,比较好写。

也可以不用,直接用sort记录位置,可以应对n = 10^6的情形。

 

参考代码:

void solve() {int n;std::cin >> n;std::vector<int> a(n), b(n), id(n), pos(n), originalPos(n);for (int i = 0; i < n; i++)std::cin >> a[i];for (int i = 0; i < n; i++)std::cin >> b[i];std::iota(id.begin(), id.end(), 0);std::iota(pos.begin(), pos.end(), 0);std::iota(originalPos.begin(), originalPos.end(), 0);// copy(id.begin(), id.end(), pos.begin());std::sort(id.begin(), id.end(), [&](const int i, const int j){if (a[i] < a[j]) return true;if (a[i] == a[j] && b[i] < b[j]) return true;return false; });for (int i = 1; i < n; i++) {if (b[id[i]] < b[id[i - 1]]) {std::cout << "-1\n";return;}}// id: 排在第i的,原先在哪个位置// pos: 原来位置i,现在在哪// originalPos = pos的逆,当前第i个位置,原先是哪个位置std::vector<std::array<int, 2>> ans;for (int i = 0; i < n; i++){int j = pos[id[i]];if (i == j)continue;ans.push_back({i + 1, j + 1});std::swap(pos[originalPos[i]], pos[originalPos[j]]);std::swap(originalPos[i], originalPos[j]);}std::cout << ans.size() << "\n";for (std::array<int, 2> &a : ans) {std::cout << a[0] << " " << a[1] << "\n";}
}

相关文章:

Educational Codeforces Round 129 (Rated for Div. 2)

A. Game with Cards. 题目链接 题目大意&#xff1a; Alice和Bob玩卡牌。Alice有n张&#xff0c;Bob有m张。第一轮选手出一张数字卡牌。第二轮另一个选手要选择一张比他大的&#xff0c;依此类推。谁没有牌可出则输。问Alice和Bob分别先手时&#xff0c;谁赢&#xff1f;输出…...

[数据库]表的增删改查

●&#x1f9d1;个人主页:你帅你先说. ●&#x1f4c3;欢迎点赞&#x1f44d;关注&#x1f4a1;收藏&#x1f496; ●&#x1f4d6;既选择了远方&#xff0c;便只顾风雨兼程。 ●&#x1f91f;欢迎大家有问题随时私信我&#xff01; ●&#x1f9d0;版权&#xff1a;本文由[你帅…...

分享77个JS菜单导航,总有一款适合您

分享77个JS菜单导航&#xff0c;总有一款适合您 77个JS菜单导航下载链接&#xff1a;https://pan.baidu.com/s/1e_384_1KC2oSTDy7AaD3og?pwdzkw6 提取码&#xff1a;zkw6 Python采集代码下载链接&#xff1a;https://wwgn.lanzoul.com/iKGwb0kye3wj class ChinaZJsSeleni…...

kubernetes -- 核心组件介绍以及组件的运行流程

常用组件大白话说 如果想要官方的&#xff0c;详细的信息&#xff0c;请看官方文档。 https://kubernetes.io/zh-cn/docs/concepts/overview/components/ 现在介绍一些核心的概念&#xff1a; etcd&#xff1a;存储所有节点的信息&#xff0c;节点上部署的容器信息等都存在数…...

微信小程序Springboot短视频分享系统

3.1小程序端 用户注册页面&#xff0c;输入用户的个人信息点击注册即可。 注册完成后会返回到登录页面&#xff0c;用户输入自己注册的账号密码即可登录成功 登录成功后我们可以看到有相关的视频还有视频信息&#xff0c;我的信息等。 视频信息推荐是按照点击次数进行推荐的&am…...

排序算法学习

文章目录前言一、直接插入排序算法二、折半插入排序算法三、2路插入排序算法四、快速排序算法学习前言 算法是道路生涯的一个巨大阻碍。今日前来解决这其中之一&#xff1a;有关的排序算法&#xff0c;进行实现以及性能分析。 一、直接插入排序算法 插入排序算法实现主要思想…...

常见漏洞之 struts2+ jboss

数据来源 本文仅用于信息安全的学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若观众因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与本人无关。 01 Struts2相关介绍 》Struts2概述 》Struts2历史漏洞&#xff08;1&#xff09; 》…...

leetcode470 用Rand7()实现Rand10()

力扣470 第一步&#xff1a;根据Rand7()函数制作一个可以随机等概率生成0和1的函数rand_0and1 调用Rand7()函数&#xff0c;随机等概率生成1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7 这时我们设置&#xff1a;生成1&#xff0c;2&a…...

JSON数据解析商品详情API

大家有探讨稳定获取商品主图、jiage、标题&#xff0c;及sku的完整解决方案。这个引起了我技术挑战的兴趣&#xff0c;然后各种网上资料查询&#xff0c;最终还是不负努力&#xff0c;找到更好的解决方案&#xff0c;不再出现任何滑块验证码&#xff0c;完全绕过&#xff0c;实…...

服务端开发Java面试复盘篇1

上周投了一些简历&#xff0c;约了8-9家面试&#xff0c;其中完成了3家的第一轮面试&#xff0c;由于面试的是Java 的实习生&#xff0c;感觉问的题目都比较基础&#xff0c;不过有些问题回答的不是很好&#xff0c;在这里对回答的不太好的题目做一下总结和复盘。 目录 一、后…...

Android框架WiFi架构

同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。 一、wpa_supplicant:wpa_supplicant本身开源项目源码,被谷歌收购之后加入Android移…...

rt-thread 移植调试记录

rt-thread 移植调试记录 记录rt-thread移植的过程。这里移植仅仅是利用rt-thread源码目录已经移植好的文件&#xff0c;组建自己的工程&#xff0c;不需要自己编写汇编完成底层移植。 1. 搭建基础工程 这里使用的是正点原子的潘多拉开发板&#xff0c;MCU为stm32l475。需要先…...

红外线额温枪与红外线温度传感器的原理分析

额温枪主要针对测量人体额温基准而设计&#xff0c;使用也非常简单方便。测体温可以达到一秒即可准确测量。并且不需要接触人体&#xff0c;隔着空气即可一键测温。非常适合家庭、学校、企业等场所。 但是由于其精度原因&#xff08;一般为 0.2 ℃&#xff0c;也有更低的&#…...

2023牛客寒假算法集训营4

目录A. [清楚姐姐学信息论](https://ac.nowcoder.com/acm/contest/46812/A)&#xff08;数学&#xff09;B. [清楚姐姐学构造](https://ac.nowcoder.com/acm/contest/46812/B)&#xff08;数学 构造&#xff09;C. [清楚姐姐学01背包(Easy Version)](https://ac.nowcoder.com/…...

vue组合式API及生命周期钩子函数

一、组合式API 什么是组合式API&#xff1f; vue3中支持vue2的选项式、支持新的编程模式–函数式编程&#xff08;没有this指针&#xff09;做了一个兼容&#xff0c;可以在一个组件中使用函数式编程和OOP编程&#xff08;选项式&#xff09; setup()函数 可以使用setup属性…...

Python|每日一练|数组|回溯|二分查找|排序和顺序统计量|.update方法 |单选记录:组合总和|寻找峰值|编程通过键盘输入每一位运动员

1、组合总和&#xff08;数组、回溯&#xff09; 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明&#xff1a; 所有数字&#xff08;包括 t…...

minio下载文件速度很慢的原因分析与说明

文章目录1.实战背景2.问题描述3.问题分析4.问题解决1.实战背景 最近在做一个项目&#xff0c;需要用到minio来搭建文件系统&#xff0c;先简单说一下我在项目中设置的上传文件流程&#xff1a; 前端将分块文件逐一传给后端&#xff0c;后端再存储到 linux服务器的minio 当中。…...

基于comsol软件弯曲单模光纤模拟仿真

在本节中&#xff0c;主要基于实验室实际光纤单模圆柱光纤进行模拟&#xff0c;与comsol案例库文件在分析过程和建模有些差异&#xff1a; 模拟主要通过以下三个步骤进行&#xff1a;模型的几何构建、物理场的添加研究、结构处理分析来进行。 下面是第一步骤&#xff1a;几何…...

如何开启多个独立Chrome浏览器

一、简介 作为测试或者开发人员&#xff0c;有些情况下会用到 Chrome 浏览器&#xff0c;但有时是同一个 Chrome 浏览器无法为我们提供隔离开的不同环境。这样 我们就需要清理 cache 、切换账号等&#xff0c;降低了我们的工作效率。今天的主题是如何开启多个独立的 Chrome 浏…...

erp5开源制造业erp主要业务会计分录处理

erp5开源制造业erp主要业务会计分录处理 采购业务的会计分录 收到发票时 借&#xff1a;材料采购 (1201) 应交税费-应交增值税&#xff08;进项税&#xff09;(21710101) 贷&#xff1a;应付账款 (2121) 付款时 借&#xff1a;应付账款 (2121) 贷&#xff1a;银行存款 (1002) 入…...

技能树基础——17四平方和(拉格朗日定理,嵌套循环)

题目&#xff1a;四平方和定理&#xff0c;又称为拉格朗日定理&#xff1a;每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去&#xff0c;就正好可以表示为4个数的平方和。比如&#xff1a;5 0^ 2 0^ 2 1^ 2 2^27 1^ 2 1^ 2 1^ 2 2^2 &#xff08;^符号表…...

JPA、EJB、事物管理---相关内容整理

目录 ■前言 ■实现原理&#xff1a;容器管理事务 ■代码实现简单描述&#xff1a; 1.JPA ■定义 ■1.1.配置文件 ■1.2.OSS jar ■1.3.一些OPA的类&#xff08;举例&#xff09; ■1.4. jpa 框架在实体类&#xff08;Entity&#xff09;中添加非数据库字段的属性--…...

C语言学习笔记(一):了解C语言

什么是C语言 C语言是一种高级编程语言&#xff0c;最早由丹尼斯里奇在1972年开发。它是一种通用编程语言&#xff0c;提供了高级编程语言的方便和易用性&#xff0c;同时又有较低级别的编程语言的灵活性和效率。C语言在许多操作系统、编译器和应用程序开发中广泛使用&#xff…...

回头看——《智能家居项目小结》

openAI兴起&#xff0c;于是拿着之前小组合作的项目&#xff08;承认优化较差&#xff09;&#xff0c;交给AI试着帮忙优化下&#xff11;.功能函数&#xff08;TCP_SER_INIT&#xff09;优化源代码&#xff1a;int TCP_SER_INIT(int *tcpsocket, const char *ip, const char *…...

社交登陆OAuth2.0

QQ、微博、github 等网站的用户量非常大&#xff0c;别的网站为了 简化自我网站的登陆与注册逻辑&#xff0c;引入社交登陆功能&#xff1b; 步骤&#xff1a; 1&#xff09;、用户点击 QQ 按钮 2&#xff09;、引导跳转到 QQ 授权页 3&#xff09;、用户主动点击授权&#xff…...

C++005-C++选择与分支2

文章目录C005-C选择与分支2条件语句C实现else if 语句题目描述 根据成绩输出成绩等级ABCDEif嵌套语句题目描述 输出三个数中的最大值题目描述 模拟游戏登录switch语句三元运算符题目描述 输出三个数中的最大值-基于3元运算符题目描述 根据1-7输出星期1-星期日案例练习题目描述 …...

IPFS 简介及概述

文章目录 IPFS 简介IPFS 包含的协议内容及其理解IPFS 和 BitTorrent 区别IPFS 简介 星际文件系统(InterPlanetary File System). IPFS 是一个分布式的网络文件系统, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且更加开放. IPFS协议的目标是取代传统的互联网…...

初学者必读:讲解 VC 下如何正确的创建、管理及发布项目

Visual C 的项目文件组成&#xff0c;以及如何正确的创建及管理项目。 本内容是初学者必须要掌握的。不能正确的管理项目&#xff0c;就不能进一步写有规模的程序。 一、项目下各种常见文件类型的功能 1. 代码文件 扩展名为 .cpp、.c、.h 等。 通常情况下&#xff0c;项目…...

剑指offer(中等)

目录 二维数组中的查找 重建二叉树 矩阵中的路径 剪绳子 剪绳子② 数值的整数次方 表示数值的字符串 树的子结构 栈的压入、弹出序列 从上到下打印二叉树① 从上到下打印二叉树③ 二叉搜索树的后序遍历序列 二叉树中和为某一值的路径 复杂链表的复制 二叉搜索树与…...

微软发布会精华回顾:“台式电脑”抢了风头

Lightbot北京时间2016年10月26日晚10点&#xff0c;微软在纽约发布了名为 Surface Studio 的一体机、名为 Surface Dial 的配件以及外观未变的顶配版 Surface Book。同时&#xff0c;微软宣布了 Windows 10 下一个重要版本——“Creators Update”的数项新功能&#xff0c;包括…...

行业用品网站怎么建设外链/北京seo公司工作

https://www.cnblogs.com/SZxiaochun/p/6286186.html1.控制面板----程序和功能----找到VS2008&#xff0c;打开“卸载/更改”。2.下载补丁&#xff1a;files.cnblogs.com/elaky/PatchVS2008.zip打补丁之后输入序列号:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T 升级完成...

比较好的设计欣赏网站/中国500强最新排名

纵有疾风来 人生不言弃。 前情回顾 【SpringBoot深入理解源码】之自定义系统初始化器 【SpringBoot深入理解源码】之系统监听器 文章目录IOC思想Bean的配置方式XML注解源码解读refresh方法Bean实例化解析IOC思想 Spring对Bean的管理就是IOC思想的体现。 耦合性灵活性可维护性…...

网站原创内容优化/网络营销项目策划

Karaf教程第4部分 OSGi中的CXF服务 本教程演示如何在Karaf中使用cxf和blueprint发布和使用简单的REST和SOAP服务。 运行这个示例&#xff0c;你需要在Karaf中安装http feature。默认的http端口是8080&#xff0c;可以使用config admin pid "org.ops4j.pax.web"进行配…...

网站到期请续费/湖南企业seo优化报价

今天在做一个效果的时候&#xff0c;由于子视图和父视图都有响应的事件&#xff0c;子视图的事件理所当然被父视图拦截掉了&#xff0c;接下来就做分析解决 1. tableviewcell可以触发点击&#xff0c;同时tableview的父视图有点击识别&#xff0c;这样点击的时候就会产生冲突。…...

网站建设应该注意哪些原则/如何建一个自己的网站

文章目录HTTP协议的定义特点客户端request的请求格式服务器响应的格式HTTP响应头信息HTTP状态码媒体格式GET与POST请求方法区别HTTP协议的定义 浏览器通过http协议&#xff0c;从客户端向服务端发送信息。服务器接收请求后&#xff0c;又向客户端发送响应信息 特点 无连接&a…...

众筹wordpress模板/武汉网络推广有哪些公司

使用 ADO.NET 访问 Oracle 9i 存储过程 http://msdn.microsoft.com/zh-cn/library/ms971506.aspx说明: 只要注意定义参数就行了. 查询数据方面: 1.简单的SQL语句查询 写法: return OracleHelper.ExecuteDataset(Connectstring,CommandType.Text,"sel…...