2025/4/2 心得

news2025/4/8 7:12:32

第一题

题目描述

给定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{输入样例}输入样例


5

5

1 4 3 7 10

3

1 1 1

4

6 2 5 3

2

2 4

1

1

Copy

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


1

3

2

0

0

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


3

15

1

22

Copy

output


4

1

3

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.coloradmin.cn/o/2329513.html

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

相关文章

AI安全:构建负责任且可靠的系统

AI已成为日常生活中无处不在的助力&#xff0c;随着AI系统能力和普及性的扩展&#xff0c;安全因素变得愈发重要。从基础模型构建者到采用AI解决方案的企业&#xff0c;整个AI生命周期中的所有相关方都必须共同承担责任。 为什么AI安全至关重要&#xff1f; 对于企业而言&…

VUE+SPRINGBOOT+语音技术实现智能语音歌曲管理系统

语音控制歌曲的播放、暂停、增删改查 <template><div class"Music-container"><div style"margin: 10px 0"><!--检索部分--><el-input style"width: 200px;" placeholder"请输入歌曲名称"v-model"sen…

使用 SignalR 在 .NET Core 8 最小 API 中构建实时通知

示例代码&#xff1a;https://download.csdn.net/download/hefeng_aspnet/90448094 介绍 构建实时应用程序已成为现代 Web 开发中必不可少的部分&#xff0c;尤其是对于通知、聊天系统和实时更新等功能。SignalR 是 ASP.NET 的一个强大库&#xff0c;可实现服务器端代码和客户…

复古未来主义屏幕辉光像素化显示器反乌托邦效果PS(PSD)设计模板样机 Analog Retro-Futuristic Monitor Effect

这款模拟复古未来主义显示器效果直接取材于 90 年代赛博朋克电影中的黑客巢穴&#xff0c;将粗糙的屏幕辉光和像素化的魅力强势回归。它精准地模仿了老式阴极射线管显示器&#xff0c;能将任何图像变成故障频出的监控画面或高风险的指挥中心用户界面。和……在一起 2 个完全可编…

技术驱动革新,强力巨彩LED软模组助力创意显示

随着LED显示技术的不断突破&#xff0c;LED软模组因其独特的柔性特质和个性化显示效果&#xff0c;正逐渐成为各类应用场景的新宠。强力巨彩软模组R3.0H系列具备独特的可塑造型能力与技术创新&#xff0c;为商业展示、数字艺术、建筑装饰等领域开辟全新视觉表达空间。    LED…

Spark,HDFS概述

HDFS组成构架&#xff1a; 注&#xff1a; NameNode&#xff08;nn&#xff09;&#xff1a;就是 Master&#xff0c;它是一个主管、管理者。 (1) 管理 HDFS 的名称空间&#xff1b; (2) 配置副本策略。记录某些文件应该保持几个副本&#xff1b; (3) 管理数据块&#xff08;…

【数据结构】图论进阶:生成树、生成森林与权值网络的终极解析

图的基本概念 导读一、图中的树与森林1.1 生成树与生成森林1.1.1 生成树1.1.2 生成森林1.1.3 生成树、生成森林与连通分量结点的关系边的关系 1.2 有向图中的树与森林1.2.1 有向树与有向森林1.2.2 生产有向树与生成有向森林1.2.3 有向树与生成有向树的区别1.2.4 有向森林与生成…

C和C++(list)的链表初步

链表是构建其他复杂数据结构的基础&#xff0c;如栈、队列、图和哈希表等。通过对链表进行适当的扩展和修改&#xff0c;可以实现这些数据结构的功能。想学算法&#xff0c;数据结构&#xff0c;不会链表是万万不行的。这篇笔记是一名小白在学习时整理的。 C语言 链表部分 …

【KWDB创作者计划】_KaiwuDB 2.1.0 单节点裸机部署

大家好&#xff0c;这里是 DBA学习之路&#xff0c;专注于提升数据库运维效率。 目录 前言KWDB 介绍安装准备环境信息配置要求操作系统软件依赖端口要求安装包下载 部署 KWDB简单实用连接数据库创建数据库创建用户创建时序表 前言 今天无意间在墨天轮看到一个征文活动 征文大赛…

前端快速入门学习3——CSS介绍与选择器

1.概述 CSS全名是cascading style sheets,中文名层叠样式表。 用于定义网页样式和布局的样式表语言。 通过 CSS&#xff0c;你可以指定页面中各个元素的颜色、字体、大小、间距、边框、背景等样式&#xff0c;从而实现更精确的页面设计。 HTML与CSS的关系&#xff1a;HTML相当…

Redash:一个开源的数据查询与可视化工具

Redash 是一款免费开源的数据可视化与协作工具&#xff0c;可以帮助用户快速连接数据源、编写查询、生成图表并构建交互式仪表盘。它简化了数据探索和共享的过程&#xff0c;尤其适合需要团队协作的数据分析场景。 数据源 Redash 支持各种 SQL、NoSQL、大数据和 API 数据源&am…

嵌入式Linux驱动—— 1 GPIO配置

目录 1.GPIO操作 1.1 IO命名 1.2 GPIO 时钟使能&#xff08;CCM&#xff09; 1.3 IO 复用&#xff08;IOMUXC&#xff09; 1.4 IO 配置 1.5 GPIO 配置 1.GPIO操作 GPIO操作主要是以下流程&#xff1a; 使能某组GPIO模块&#xff08;GPIO1、2、...&#xff09;&#…

[ICLR 2025]Biologically Plausible Brain Graph Transformer

论文网址&#xff1a;Biologically Plausible Brain Graph Transformer 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 …

SpringBoot+MyBatis Plus+PageHelper+vue+mysql 实现用户信息增删改查功能

静态资源展示 &#xff08;1&#xff09;静态资源下载 &#xff08;2&#xff09;下载后文件放到resources/static 目录下 (3) main函数启动项目访问对应文件&#xff0c;http://127.0.0.1:8080/user-list.html 数据库添加表和数据 SET FOREIGN_KEY_CHECKS0;-- --------…

企业常用Linux服务搭建

1.需要两台centos 7服务器&#xff0c;一台部署DNS服务器&#xff0c;另一台部署ftp和Samba服务器。 2. 部署DNS 服务器​ #!/bin/bash# 更新系统 echo "更新系统..." sudo yum update -y# 安装 BIND 和相关工具 echo "安装 BIND 和相关工具..." sudo y…

Qwen-7B-Chat 本地化部署使用

通义千问 简介 通义千问是阿里云推出的超大规模语言模型&#xff0c;以下是其优缺点&#xff1a; 优点 强大的基础能力&#xff1a;具备语义理解与抽取、闲聊、上下文对话、生成与创作、知识与百科、代码、逻辑与推理、计算、角色扮演等多种能力。可以续写小说、编写邮件、解…

QGIS获取建筑矢量图-Able Software R2V

1.QGIS截图 说明&#xff1a;加载天地图矢量图层&#xff0c;然后进行截图。 2.Able Software R2V 说明&#xff1a;Able Software R2V 是一款​​将光栅图像&#xff08;如扫描图纸、航拍照片&#xff09;自动转换为矢量图形&#xff08;如DXF格式&#xff09;​​的软件&a…

form实现pdf文件转换成jpg文件

说明&#xff1a; 我希望将pdf文件转换成jpg文件 请去下载并安装 Ghostscript&#xff0c;gs10050w64.exe 配置环境变量&#xff1a;D:\Program Files\gs\gs10.05.0\bin 本地pdf路径&#xff1a;C:\Users\wangrusheng\Documents\name.pdf 输出文件目录&#xff1a;C:\Users\wan…

STM32单片机入门学习——第13节: [6-1] TIM定时中断

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难&#xff0c;但我还是想去做&#xff01; 本文写于&#xff1a;2025.04.04 STM32开发板学习——第13节: [6-1] TIM定时中断 前言开发板说明引用解答和科普一…

【2】搭建k8s集群系列(二进制)之安装etcd数据库集群

一、etcd服务架构 Etcd 是一个分布式键值存储系统&#xff0c;Kubernetes 使用 Etcd 进行数据存储&#xff0c;所以先 准备一个 Etcd 数据库&#xff0c;为解决 Etcd 单点故障&#xff0c;应采用集群方式部署&#xff0c;这里使用 3 台组建集群&#xff0c;可容忍 1 台机器故障…