cf 988 div3 C 将一些特定的元素拿出来考虑 E(交互,考虑多询问一位,以此判断这一位的情况)

C题意:
[1 n] 的排列,我们要任意相邻的数相加得到的和是合数。
如果对于n 不存在这个一个排列,那么输出-1

一个比较显然的思路
就是奇数放一起,偶数放一起。奇数之间相加是偶数
偶数之间相加是偶数。那么他们都是合数。
但是还有 奇偶相邻的地方,会出现一个奇数+偶数的情况。
我们应该怎么安排这个位置上的数字?
考虑一些特定的元素,
5 +4 =9
再小的 奇数+偶数不会出现合数了。
所以对于n <=4 的情况,直接输出-1 了。
当n >4 的时候,直接将奇偶相接的地方规定为 5 4 就可以了

E题意:
长度为n 的二进制串,可以询问 l r 之内的01 的子序列个数。
至多询问n 次,确定这个字符串或者判定没有这样的字符串

其实一直很不会做这种有点构造感觉的题。呃呃,还是得多练
先来思考在 一段知道01 子序列个数的段之后,我们在多询问一位,如果变多了那么这一位 是1,如果没有变那么这一位只能是0。
因为只能询问n次,我们询问(0 1)(0 2)…(0 n-1)这些前缀。确定每一位上的数字。
最后我们将我们生成的01串,在和每个前缀的01 序列作比较。因为我们之前只是将增多变成这一位是1,但是可能增加的数量不对。
我第一个不是零的下标。如果是 i ,那么前面有 (i-t)个1,有t 个0.

丑陋的代码~~

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int ask(int x, int y)
{cout << "? " << x + 1 << " " << y + 1 << endl;int ans;cin >> ans;return ans;
}
void solve()
{int n;cin >> n;string s = " ";vector<int> a(n);int la = 0;bool f = 0;for (int i = 1; i < n; i++){int t = ask(0, i);a[i] = t;if (t == la)s += '0';else{if (!f){if (t == i)s[0] = '0';else{int t1 = i - t;int t2 = t;s.clear();for (int i = 0; i < t1; i++)s += '1';for (int i = 0; i < t2; i++)s += '0';}}s += '1';la = t;f = 1;}}bool f1 = 0;for (int i = 0; i < n; i++)if (a[i] != 0){f1 = 1;}if (!f1){cout << "! IMPOSSIBLE" << endl;return;}int cnt0 = 0;int ans = 0;for (int i = 0; i < n; i++){if (s[i] == '0')cnt0++;else{ans += cnt0;if (a[i] != ans){cout << "! IMPOSSIBLE" << endl;return;}}}cout << "! " << s << endl;
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t;cin >> t;while (t--){solve();}return 0;
}

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

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

相关文章

手机文件可以打印出来吗

在数字化时代&#xff0c;手机已成为我们日常生活和工作中不可或缺的一部分。很多时候&#xff0c;我们需要将手机上的文件打印出来&#xff0c;无论是学习资料、工作报告还是生活文档。那么&#xff0c;手机上的文件真的可以打印出来吗&#xff1f;答案是肯定的。 直接前往打…

《Spring Boot:快速构建应用的利器》

一、Spring Boot 的崛起与优势 &#xff08;四&#xff09;丰富的生态支持 Spring Boot 拥有强大的生态系统&#xff0c;这是它在 Java 开发领域中占据重要地位的关键因素之一。 Spring Cloud 是 Spring Boot 生态中的重要组成部分&#xff0c;它为构建分布式系统的微服务架构…

爬虫实战:采集知乎XXX话题数据

目录 反爬虫的本意和其带来的挑战目标实战开发准备代码开发发现问题1. 发现问题[01]2. 发现问题[02] 解决问题1. 解决问题[01]2. 解决问题[02] 最终结果 结语 反爬虫的本意和其带来的挑战 在这个数字化时代社交媒体已经成为人们表达观点的重要渠道&#xff0c;对企业来说&…

微信小程序2-地图显示和地图标记

一、index修改页面&#xff0c;让页面能够显示地图和一个添加标记的按钮。 index.wxml <scroll-view class"scrollarea" scroll-y type"list"><view class"index_container"><map id"map" style"width: 100%; h…

Qt入门1——认识Qt的几个常用头文件和常用函数

1.头文件 ① #include <QPushButton>——“按钮”头文件&#xff1b; ② #include <QLabel>——“标签”头文件&#xff1b; ③ #include <QFont>——“字体”头文件&#xff1b; ④#include <QDebug>——输出相关信息&#xff1b; 2. 常用函数/类的基…

【vue3+Typescript】unapp+stompsj模式下替代plus-websocket的封装模块

由于plus-websocket实测存在消息丢失的问题&#xff0c;只能寻找替代的方案&#xff0c;看文章说使用原生的即可很好的工作。而目前在stompjs里需要使用websocket类型的封装模块&#xff0c;看了下原来提供的接口&#xff0c;采用uniapp原生的websocket模式&#xff0c;对原模块…

社交电商专业赋能高校教育与产业协同发展:定制开发AI智能名片及2+1链动商城小程序的创新驱动

摘要&#xff1a;本文围绕社交电商有望成为高校常态专业这一趋势展开深入探讨&#xff0c;剖析国家政策认可下其学科发展前景&#xff0c;着重阐述在专业建设进程中面临的师资短缺及实践教学难题。通过引入定制开发AI智能名片与21链动商城小程序&#xff0c;探究如何借助这些新…

Linux进阶:环境变量

环境变量是一组信息记录&#xff0c;类型是KeyValue型&#xff08;名值&#xff09;&#xff0c;用于操作系统运行的时候记录关键信息. env命令&#xff1a;查看系统全部的环境变量 语法&#xff1a;env $符号&#xff1a;取出指定的环境变量的值 语法&#xff1a;$变量名 …

CPU命名那些事

一、Intel CPU命名 1. 命名结构 Intel CPU 的命名通常包含以下几个部分&#xff1a; 品牌 产品线 系列 代数 具体型号 后缀 例如&#xff1a;Intel Core i7-13700K 2. 各部分含义 品牌 Intel&#xff1a;表示厂商&#xff08;几乎所有命名中都有&#xff09;。不同品…

英语写作中“联系、关联”associate correlate 及associated的用法

似乎是同义词的associate correlate 实际上意思差别明显&#xff0c;associate 是人们把两者联系在一起&#xff08;主观联系&#xff09;&#xff0c;而correlate 指客观联系。 例如&#xff1a; We always associate sports with health.&#xff08;我们总是将运动和健康联…

AR智能眼镜|AR眼镜定制开发|工业AR眼镜方案

AR眼镜的设计与制造成本主要受到芯片、显示屏和光学方案的影响&#xff0c;因此选择合适的芯片至关重要。一款优秀的芯片平台能够有效提升设备性能&#xff0c;并解决多种技术挑战。例如&#xff0c;采用联发科八核2.0GHz处理器&#xff0c;结合12nm制程工艺&#xff0c;这种低…

Unity 设计模式-单例模式(Singleton)详解

设计模式 设计模式 是指在软件开发中为解决常见问题而总结出的一套 可复用的解决方案。这些模式是经过长期实践证明有效的 编程经验总结&#xff0c;并可以在不同的项目中复用。设计模式并不是代码片段&#xff0c;而是对常见问题的 抽象解决方案&#xff0c;它提供了代码结构…

第二十一周机器学习笔记:动手深度学习之——数据操作、数据预处理

第二十周周报 摘要Abstract一、动手深度学习1. 数据操作1.1 数据基本操作1.2 数据运算1.2.1 广播机制 1.3 索引和切片 2. 数据预处理 二、复习RNN与LSTM1. Recurrent Neural Network&#xff08;RNN&#xff0c;循环神经网络&#xff09;1.1 词汇vector的编码方式1.2 RNN的变形…

ThinkPad t61p 作SMB服务器,打印服务器,pc ,android ,ipad利用此服务器互传文件

1.在t61p上安装win7 2,配置好smb 服务 3.再安装好打印驱动程序 4.pc与win7利用系统的网络互相发现,映射为硬盘使用。 5.android&#xff0c;ipad安装ES文件浏览器访问win7 共享文件夹&#xff0c;互传文件。 6.android手机安装FE文件浏览器&#xff0c;可以利用花生壳外网…

【深度学习之二】正则化函数(weight decay, dropout, label smoothing, and etc)详解,以及不同的函数适用的场景

在深度学习中正则化函数的重要性不言而喻&#xff0c;今天主要总结一些当前常用的一些正则化函数 在深度学习中&#xff0c;正则化&#xff08;Regularization&#xff09;是一种防止模型过拟合的技术。过拟合指的是模型在训练数据上表现很好&#xff0c;但在未见过的测试数据…

神经网络(系统性学习二):单层神经网络(感知机)

此前篇章&#xff1a; 神经网络中常用的激活函数 神经网络&#xff08;系统性学习一&#xff09;&#xff1a;入门篇 单层神经网络&#xff08;又叫感知机&#xff09; 单层网络是最简单的全连接神经网络&#xff0c;它仅有输入层和输出层&#xff0c;没有隐藏层。即&#x…

Linux 手动升级软件保姆级教程,适用所有软件,不限于麒麟等国产系统

1、检查软件版本&#xff0c;及是否安装 openssh为例 是否安装 rpm -qa|grep openssh 备份 mv /etc/ssh/ /home/ssh-bakmv /usr/bin/ssh /usr/bin/ssh.bakmv /usr/sbin/sshd /usr/sbin/sshd.bakmv /etc/pam.d/sshd /etc/pam.d/sshd.old2、机器如果不在身边&#xff0c;机器…

【大数据学习 | Spark-Core】Spark的改变分区的算子

当分区由多变少时&#xff0c;不需要shuffle&#xff0c;也就是父RDD与子RDD之间是窄依赖。 当分区由少变多时&#xff0c;是需要shuffle的。 但极端情况下&#xff08;1000个分区变成1个分区)&#xff0c;这时如果将shuffle设置为false&#xff0c;父子RDD是窄依赖关系&…

Go语言开发的源代码行数统计工具

目录 功能特点未来开发计划安装使用方法示例命令通用命令参数选项 示例分析特定目录仅包含特定语言排除特定扩展名的文件生成 JSON 格式的输出显示支持的语言 仓库地址 gcloc 是一个开源工具&#xff0c;用于统计各种编程语言的源代码文件数量和代码行数。它支持多种语言&…

java操作doc——java利用Aspose.Words操作Word文档并动态设置单元格合并

在实际工作中&#xff0c;如果业务线是管理类项目或者存在大量报表需要导出的业务时&#xff0c;可以借助第三方插件实现其对应功能。 尤其是需要对word文档的动态操作或者模板数据的定向合并&#xff0c;使用Aspose会相对来说容易一些&#xff0c;而且相关文档比较完整&#…