2025/4/2 心得

第一题

题目描述

给定1001个范围在[1,1000]的数字,保证只有1个数字重复出现2次,其余数字只出现1次。试用O(n)时间复杂度来求出出现2次的这个数字。

不允许用数组

输入格式

第一行:一个整数1001;

第二行:1001个用空格隔开的整数,具体入题面描述

输出格式

一个整数,即重复出现的数字

样例数据

请自己设计

数据规模与约定

如题目描述

时间限制:1 \text {s}1s

空间限制:256 \text {MB}256MB

这道题其实就是用异或

首先先抑或上所有的树。

。然后再抑或1~1000的数。

代码如下,

#include<bits/stdc++.h>
using namespace std;
int n,sum,x; 
int main(){
     freopen("num.in","r",stdin);
    freopen("num.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++)
    {cin>>x;
        sum=sum^x;
    }
    for(int i=1;i<=1000;i++)
    {
        sum=sum^i;
    }
    cout<<sum;
    return 0;
}
第二题

给定一个含有 nn 个数的序列 a_1a1​,a_2a2​...a_nan​, 求满足以下性质的二元组(i,j)的数量

  • 1 1\leqslant i < j \leqslant n1⩽i<j⩽n

  • 2 a_i\&a_j > a_i \quad xor \quad a_jai​&aj​>ai​xoraj​

其中 \&& 表示与运算, \hat{}^ 表示异或运算。

(0011)_2 \& (0101)_2 = (0001)_2(0011)2​&(0101)2​=(0001)2​

(0011)_2 \quad xor \quad (0101)_2 = (0110)_2(0011)2​xor(0101)2​=(0110)2​

\huge\textbf{输入格式}输入格式

第一行一个整数 TT ,表示数据组数

之后一行 11 个整数 nn ,表示序列长度

接下来一行 nn 个整数, 表示 a_1a1​,a_2a2​...a_nan​

\huge\textbf{输出格式}输出格式

对于每一次询问,输出一个整数表示答案

\huge\textbf{输入样例}输入样例


551 4 3 7 1031 1 146 2 5 322 411

Copy

\huge\textbf{输出样例}输出样例


13200

Copy

\huge\textbf{数据范围与约定}数据范围与约定

对于 30\%30% 的数据 1\leqslant n\leqslant 10^31⩽n⩽103,1\leqslant a_i\leqslant 10^91⩽ai​⩽109

对于另外 30\%30% 的数据 1\leqslant n\leqslant 10^51⩽n⩽105,1\leqslant a_i <2^{10}1⩽ai​<210

对于 100\%100% 的数据 1\leqslant T\leqslant 51⩽T⩽5,1\leqslant n\leqslant 10^51⩽n⩽105,1\leqslant a_i\leqslant 10^91⩽ai​⩽109

这道题。其实十分简单。

因为相同位数的第一位肯定是一,所以说如果相同位数比的话,那么相同位数的异或一定大于相同位数的与

所以说这道题其实我们就需要判断它们位数是否相同。

如果相同的话

,那么就加一

代码如下,

#include <bits/stdc++.h>
using namespace std;
long long t,n,a,b,c[45],d,sum;
int main()
{
    freopen("calc.in","r",stdin);
    freopen("calc.out","w",stdout);
    cin>>t;
    for(int i=1;i<=t;i++)
    {    
        memset(c,0,sizeof(c)); 
        cin>>n;
        for(int j=1;j<=n;j++)
        {
            cin>>a;
            b=int(log2(a)+1);
            c[b]++;
//            cout<<c[b]<<'*';
            
        }
//        cout<<endl;
        for(int i1=1;i1<=40;i1++)
        {
            sum+=(c[i1]*(c[i1]-1))/2;
        }
        cout<<sum<<endl;
        sum=0;
    }
第三集

问题陈述

给定一个长度恰好为9的字符串SS,由数字组成。09的所有数字都恰好在SS中出现一次。

打印出SS中缺失的数字。

约束条件

  • SS是一个长度为9的数字字符串。
  • SS中的所有字符都是不同的。

输入

从标准输入以以下格式给出输入:

SS

输出

打印出SS中缺失的数字。


样例输入1

023456789

样例输出1

1

字符串023456789只缺少了11。因此,应该打印出11。


样例输入2

459230781

样例输出2

6

字符串459230781只缺少了66。因此,应该打印出66。

注意,使用桶的思想完成该题目,不允许使用string

这道题有一种很简单的思路。

开玩笑的就把他们所有输出数字儿加起来然后呢再减去0~9。的数字之和就得到了。

但是我们现在要用异货做。

这道题其实跟一的思路基本一样。

只不过要把这个给转成数字罢了。

代码如下,

#include<bits/stdc++.h>
using namespace std;
int sum,x; 
string n;
int main(){
 //    freopen("num.in","r",stdin);
//    freopen("num.out","w",stdout);
    cin>>n;
    for(int i=0;i<9;i++)
    { 
        sum=sum^(n[i]-'0');
    }
    for(int i=0;i<=9;i++)
    {
        sum=sum^i;
    }
    cout<<sum;
    return 0;
}
第四题。

题目描述

给定一个长度为64的序列A=(A\_0,A\_1,\dots,A\_{63})A=(A_0,A_1,…,A_63),由0和1组成。

求A\_0 2^0 + A\_1 2^1 + \dots + A\_{63} 2^{63}A_020+A_121+⋯+A_63263。

约束条件

  • A\_iA_i是0或1。

输入

从标准输入中以以下格式给出输入:

A_0A0​ A_1A1​ \dots… A_{63}A63​

输出

将答案作为整数打印出来。


样例输入1

1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

样例输出1

13

A\_0 2^0 + A\_1 2^1 + \dots + A\_{63} 2^{63} = 2^0 + 2^2 + 2^3 = 13A_020+A_121+⋯+A_63263=20+22+23=13。


样例输入2

1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0

样例输出2

766067858140017173

题目描述

给定n个数字,依次输出每个数字二进制中1的个数。

输入格式

第一行输入一个数N;

之后N行,每行输入一个数a[i]。

输出格式

输出N行,每行一个数每个数字二进制包含1的个数。

样例数据

input


315122

Copy

output


413

Copy

数据规模与约定

对于100%的数据,2≤N≤200000,1≤a[i]≤10^18;

时间限制:1 \text {s}1s

空间限制:256 \text {MB}256MB

这道题其实并不难

。只需要一次一次去掉最低位的一

然后计数器加加就好了。

代码如下,

#include<bits/stdc++.h>
using namespace std;
long long a,n,sum;

int main()
{
    freopen("count.in","r",stdin);
    freopen("count.out","w",stdout);
    cin>>n; 
    for(int i=1;i<=n;i++)
    {
        sum=0;
        cin>>a;
        while(a)
        {
            a-=a&(-a);
            sum++;
        }
        cout<<sum<<endl;
    }
    return 0;
}

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

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

相关文章

0基础 | 硬件 | NE555芯片 二

目录 “双稳态电路之按键开关LED” 版本一&#xff1a; 版本二&#xff1a; “单稳态电路之延时自动关” 版本一 “无稳态电路之延时自动开关” 版本一&#xff1a; 版本二 “双稳态电路之按键开关LED” 版本一&#xff1a; 按键1 使2脚输入低电平&#xff0c;则3输出…

Python实现链接KS3,并将文件数据上传到KS3

前言 本文是该专栏的第55篇,后面会持续分享python的各种干货知识,值得关注。 说到KS3,首先想到的是金山云提供的对象存储服务。 相信或多或少的同学,在工作项目中也会遇到KS3相关的需求。比如说,现在有大批量的数据文件需要通过Python,上传到KS3中。对此,需要怎么去做…

小白 解析thingsboard 规则链节点

目录 1、filter(筛选器)节点内容 1. Alarm Status Filter(报警状态过滤器) 2. Check Fields Presence(检查字段存在性过滤器) 3. Check Relation Presence(检查关系存在性过滤器) 4. Entity Type Filter(实体类型过滤器) 5. Message Type Filter(消息类型过滤器…

PgVectore的使用

PgVectore的使用 一、PgVector的安装 参照博客&#xff1a;https://blog.csdn.net/u012953777/article/details/147013691?spm1001.2014.3001.5501 二、PgVector的使用 1、创建表与插入数据​ ​​定义向量字段​​&#xff1a; CREATE TABLE items (id SERIAL PRIMARY …

python爬虫爬取淘宝热销(热门)男装商品信息(课程设计;提供源码、使用说明文档及相关文档;售后可联系博主)

TOC 本文仅为记录学习轨迹&#xff0c;如有侵权,联系删除 一、环境说明 使用前必须检查以下环境 &#xff08;1&#xff09;python编译环境 &#xff08;2&#xff09;python脚本执行所需要的库&#xff0c;具体看代码&#xff08;main.py&#xff09;import导入的部分库 &a…

C++ 排序(1)

以下是一些插入排序的代码 1.插入排序 1.直接插入排序 // 升序 // 最坏&#xff1a;O(N^2) 逆序 // 最好&#xff1a;O(N) 顺序有序 void InsertSort(vector<int>& a, int n) {for (int i 1; i < n; i){int end i - 1;int tmp a[i];// 将tmp插入到[0,en…

计算机视觉图像处理基础系列:滤波、边缘检测与形态学操作

计算机视觉图像处理基础系列&#xff1a;滤波、边缘检测与形态学操作 一、前言二、滤波&#xff1a;图像的精细化处理​2.1 滤波基础概念​2.1.1 滤波的本质​2.1.2 图像噪声来源与类型​ 2.2 线性滤波​2.2.1 均值滤波​2.2.2 高斯滤波​ 2.3 非线性滤波​2.3.1 中值滤波​ 三…

第八课:在SD中安装拓展插件

3种拓展安装方式教学 点击Extensions安装方式 经由内置列表查询安装&#xff0c;打开Available&#xff0c;输入链接&#xff0c;点击Load from:&#xff0c;然后筛选后点击Install通过链接安装&#xff0c;复制代码仓库地址&#xff0c;github/gitee&#xff0c;输入Install …

tomcat的web三大组件Sciidea搭建web/maven的tomcat项目

文章目录 1. web项目的搭建1. 创建web项目2.修改web.xml版本3.添加servlet、jsp依赖4.servlet示例&#xff08;使用注解&#xff09;5.配置tomcat6.添加artifact7.部署8.启动tomcat、访问9.打war包10.部署到tomcat 2.maven的项目搭建1.创建项目图解 2.tomcat启动方式图解idea打…

ZKmall开源商城多云高可用架构方案:AWS/Azure/阿里云全栈实践

随着企业数字化转型的加速&#xff0c;云计算服务已成为IT战略中的核心部分。ZKmall开源商城作为一款高性能的开源商城系统&#xff0c;其在多云环境下的高可用架构方案备受关注。下面将结合AWS、Azure和阿里云三大主流云平台&#xff0c;探讨ZKmall的多云高可用架构全栈实践。…

【代码模板】如何用FILE操作符打开文件?fopen、fclose

#include "stdio.h" #include "unistd.h"int main(int argc, char *argv[]) {FILE *fp fopen("1.log", "wb");if (!fp) {perror("Failed open 1.log");return -1;}fclose(fp); }关于权限部分参考兄弟篇【代码模板】C语言中…

Airflow+Spark/Flink vs. Kettle

在迁移亿级&#xff08;单表超过1.3亿&#xff09;结构化数据&#xff08;达梦→星环&#xff09;的场景下&#xff0c;Airflow&#xff08;结合分布式计算框架&#xff09;的综合效果优于Kettle&#xff0c;以下是详细对比与方案建议&#xff1a; 一、核心对比&#xff1a;Air…

多电机显示并排序

多电机显示并排序 要实现根据后端传递过来的驱动电机数据的数量来显示不同数量的数据列表&#xff0c;我们可以使用 Vue 的 v-for 指令来遍历 driveMotorData 数组&#xff0c;并为每个驱动电机生成一个数据列表。这样&#xff0c;无论后端传来多少个驱动电机的数据&#xff0…

图漾相机——C#语言属性设置

文章目录 前言1.示例程序说明2.SDK API功能介绍2.1 ListDevice 枚举设备2.2 Open 打开相机2.3 OpenDeviceByIP 通过IP打开设备2.4 Close 关闭设备2.5 DeviceStreamEnable 取流使能2.6 DeviceStreamFormatDump 取流分辨率2.7 DeviceStreamFormatConfig 取流分辨率配置2.8 Device…

thinkphp8.0上传图片到阿里云对象存储(oss)

1、开通oss,并获取accessKeyId、accessKeySecret <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><tit…

跳跃连接(Skip Connection)与残差连接(Residual Connection)

1. 跳跃连接&#xff08;Skip Connection&#xff09;的基本概念 跳跃连接是一种在深度神经网络中广泛应用的技术&#xff0c;它允许信息在网络中跨层直接传递。在传统的神经网络里&#xff0c;每一层的输出仅仅是前一层输出经过特定变换后的结果。而在具备跳跃连接的网络中&a…

【硬件视界9】网络硬件入门:从网卡到路由器

🌟引言: 专栏:《硬件视界》 【硬件视界8】电源供应器(PSU):计算机的“心脏“ 在数字化高速发展的今天,网络已成为我们日常生活和工作中不可或缺的基础设施。而支撑这一基础设施的核心要素,便是各种各样的网络硬件设备。从连接计算机到网络的网络适配器,到负责数据转发与…

最小生成树理论

1. 基本定义 生成树&#xff1a;在一个连通无向图中&#xff0c;一个生成树是包含所有顶点且边数为 n−1&#xff08;n为顶点数&#xff09;的无环连通子图。 最小生成树&#xff1a;在所有生成树中&#xff0c;边权和最小的那一棵树。也就是说&#xff0c;若每条边有一个非负…