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.pswp.cn/bicheng/75742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75742.shtml
英文地址,請注明出處:http://en.pswp.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;若每條邊有一個非負…