萌新聯賽第(三)場

C題

這道題用暴力去寫想都不要想,一定超時,于是我們需要優化,下面是思路過程:

如圖,本題只需找到x的因數個數和(n-x)的因數個數,這兩個相乘,得到的就是對于這個x來說組合的個數,且x的取值為1~n,由題n取不到。

代碼:

#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int num[N];//記錄各個數字的因數個數
int main(){int n,ans=0;//ans方案種數cin>>n;for(int i=1;i<n;i++){  //遍歷1~n的數字for(int j=1;j*j<=i;j++){  //求其因數個數if(i%j==0){num[i]++;  //由題知,A,B,C,D這四個數是有序的,因此每次判斷都會有兩個因數if(j*j!=i)num[i]++; //所以下面要+1,除非這兩個數相等只需加1次}}}for(int i=1;i<n;i++){  //遍歷和為n,加數所有可能的取值ans+=num[i]*num[n-i];//因數個數相乘即得對應的組合數}cout<<ans;return 0;
}

H題

本題乍一看很簡單,就是求出每一個子集的和即可,但如何不重不漏的求出每一個集合我是真的不會,好的,換思路,利用貪心思想,將原集合排序,從第一個最小的數開始,逐步擴展可以表示的子集和范圍,同時找到第一個無法表示的整數。因為已經排好序了,所以對于元素個數相同的集合來說,總是最前面的最小,而且代碼的判斷條件是a[i]>sum+1,那么sum + 1 就無法被表示,因為當前的子集和范圍無法覆蓋到 sum + 1,直接輸出sum+1,相反,如果a[i]<=sum+1,說明當前子集很可能已經覆蓋了sum+1,讓a[i]與sum+1比較是否可以覆蓋,同時也可以避免出現不同子集因元素個數的不同造成對應的子集和大小不同問題,因為如果a[i]>sum+1說明a[i]一定很大,那么毫無疑問元素多的集合的和一定比元素少的集合的和大,這樣我們就可以實現由小到大逐步擴展子集和范圍。

代碼如下:

#include<bits/stdc++.h>
using namespace std;
const int N=100005;
long long a[N];
int main(){int n;cin>>n;for(int i=0;i<n;i++){cin>>a[i];}sort(a,a+n); //由小到大逐步排序long long sum=a[0]; //記錄當前子集和的最大值for(int i=1;i<n;i++){if(sum+1<a[i]){   //比較當前子集和+1是否可以被下一個集合元素表示出來cout<<sum+1; //如果可以,輸出,結束return 0;}else sum+=a[i]; //否則,繼續累加}cout<<sum+1; //如果一直沒在上面結束的話,此時sum代表全集的和,+1即是答案return 0;
}

D題

對于這道題需要知道一個知識點:

x+y=(x&y)+(x|y)

根據位運算性質,x&y和x|y滿足:(x&y)&(x|y)=x&y

本題思路:

由于x&y=a;說明x>=a,y>=a,則x+y>=2a,即s>=2a——第一個判斷條件

又由x&y=a,x+y=s和上述知識點知x|y=s-a。因此,a&(s-a)=a——第二個判斷條件

如果第一個不滿足的話,直接輸出NO,程序結束,否則,繼續判斷第二個條件。

這樣做的好處是不用一一枚舉出來x,y的值

#include<bits/stdc++.h>
using namespace std;
int main(){int t;long long a,s;cin>>t;while(t--){cin>>a>>s;if(s<2*a){  //首先判斷cout<<"No"<<endl;}else{  //繼續深入判斷if((a&(s-a))==a) cout<<"Yes"<<endl;else cout<<"No"<<endl;}}return 0;
}

比賽地址:https://www.nowcoder.com/acm/contest/110544。【邀請碼:666666】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81860.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81860.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81860.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Android構建系統】如何在Camera Hal的Android.bp中選擇性引用某個模塊

背景描述 本篇文章是一個Android.bp中選擇性引用某個模塊的實例。 如果是Android.mk編譯時期&#xff0c;在編譯階段通過某個條件判斷是不是引用某個模塊A, 是比較好實現的。Android15使用Android.bp構建后&#xff0c;要想在Android.bp中通過自定義的一個變量或者條件實現選…

【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設備信息并進行控制

【OneNET】_01_使用微信小程序通過新版OneNET平臺獲取STM32設備信息并進行控制 一、 前言1.1 OntNET硬件方面: STM32F103C8T6 ESP01S教程 1.2 微信小程序方面 二、STM32代碼部分修改三、微信小程序修改的部分四、小筆記&#xff08;個人雜記&#xff09;4.1 OneNETOneNET物聯網…

用 python 編寫的一個圖片自動分類小程序(三)

圖片自動分類識別小程序記錄 2025/5/18 0:38修改程序界面&#xff0c;增加一些功能 用 python 編寫的一個圖片自動識別分類小程序。 操作系統平臺&#xff1a;Microsoft Windows 11 編程語言和 IDE&#xff1a;python 3.10 Visual studio code 一&#xff1a;圖片自動分…

嵌入式硬件篇---SGP30 氣體傳感器

文章目錄 前言一、SGP30 氣體傳感器詳解(一)基本概述(二)工作原理傳感器結構檢測機制自校準功能(三)主要特性(四)應用場景智能家居空氣質量檢測儀汽車行業商業建筑二、TVOC 與 eCO2 的含義(一)TVOC(總揮發性有機化合物)定義危害健康標準(二)eCO2(等效二氧化碳)…

【原創】ubuntu22.04下載編譯AOSP 15

安裝依賴的庫&#xff0c;順便把vim 也安裝一下 sudo apt-get install vim sudo apt-get install git gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip font…

防止勒索病毒的兜底方案——備份

勒索病毒入侵會對您的業務數據進行加密勒索&#xff0c;導致業務中斷、數據泄露、數據丟失等&#xff0c;從而帶來嚴重的業務風險。 防止勒索病毒有三個方向&#xff1a; 1&#xff09;實時防御已知勒索病毒 各個云廠商的云安全中心實現了對大量已知勒索病毒的實時防御。在服務…

es在已有歷史數據的文檔新增加字段操作

新增字段設置默認值 場景 在已經有大量數據的索引文檔上&#xff0c;增加新字段 技術實現 一.更新索引映射 通過PUT請求顯式定義新字段類型&#xff0c;確保后續寫入的文檔能被正確解析 PUT /文檔名/_mapping {"properties": {"字段名1": {"type…

留給王小川的時間不多了

王小川&#xff0c;這位頭頂“天才少年”光環的清華學霸、搜狗輸入法創始人、中國互聯網初代技術偶像&#xff0c;正迎來人生中最難啃的硬骨頭。 他在2023年創立的百川智能&#xff0c;被稱為“大模型六小虎”之一。今年4月&#xff0c;王小川在全員信中罕見地反思過去兩年工作…

深入掌握MyBatis:連接池、動態SQL、多表查詢與緩存

文章目錄 一、MyBatis連接池1.1 連接池的作用1.2 MyBatis連接池分類 二、動態SQL2.1 if標簽2.2 where標簽2.3 foreach標簽2.4 SQL片段復用 三、多表查詢3.1 多對一查詢&#xff08;一對一&#xff09;3.2 一對多查詢 四、延遲加載4.1 立即加載 vs 延遲加載4.2 配置延遲加載 五、…

TDesign AI Chat - Vue3.x 可用!騰訊出品的 AIGC 交互對話組件,免費開源、包含設計資源

各位前端開發者有遇到做 AI Chat 項目的聊天交互界面需求了嗎&#xff1f;TDesign 出品的這個組件很不錯&#xff0c;推薦給大家。 TDesign AI Chat 是 TDesign 為 AIGC 場景開發的 UI 系列組件中的一部分&#xff0c;主要用于開發目前非常流行的 ChatBot 對話交互場景。最近 …

spring -MVC-02

SpringMVC-11 - 響應 在 SpringMVC 中&#xff0c;響應是服務器對客戶端請求的反饋&#xff0c;它可以以多種形式呈現&#xff0c;包括視圖名稱、ModelAndView 對象、JSON 數據以及重定向等。以下是對 SpringMVC 中不同響應類型的詳細介紹&#xff1a; 1. 視圖名稱 通過返回…

老舊設備升級利器:Modbus TCP轉 Profinet讓能效監控更智能

在工業自動化領域&#xff0c;ModbusTCP和Profinet是兩種常見的通訊協議。Profinet是西門子公司推出的基于以太網的實時工業以太網標準&#xff0c;而Modbus則是由施耐德電氣提出的全球首個真正開放的、應用于電子控制器上的現場總線協議。這兩種協議各有各的優點&#xff0c;但…

ubuntu下docker安裝mongodb-支持單副本集

1.mogodb支持事務的前提 1) MongoDB 版本&#xff1a;確保 MongoDB 版本大于或等于 4.0&#xff0c;因為事務支持是在 4.0 版本中引入的。 2) 副本集配置&#xff1a;MongoDB 必須以副本集&#xff08;Replica Set&#xff09;模式運行&#xff0c;即使是單節點副本集&#x…

【前端開發】Uniapp日期時間選擇器:實現分鐘動態步長設置

技術棧 Uniapp + Vue3 + uView年份顯示前后一年,分鐘動態設置間隔效果圖 主體顯示<view class="uni-row-between selector"><view class="uni-flex-1 left" @click="!props.disabled && openPicker()"><uni-iconscolor=…

iOS 藍牙開發中的 BT 與 BLE

在 iOS 開發者的語境里&#xff0c;大家把 BT 和 BLE 當成兩種不同的藍牙技術在談——它們來自同一個 Bluetooth 規范&#xff0c;但面向的場景、協議棧乃至 Apple 提供的 API 都截然不同。 縮寫全稱 / 技術名稱規范層叫法iOS 支持現狀典型用途BTBluetooth Classic&#xff08…

Flink CEP是什么?

Apache Flink 的 CEP&#xff08;Complex Event Processing&#xff0c;復雜事件處理&#xff09; 是 Flink 提供的一個庫&#xff0c;用于在無界數據流中檢測符合特定模式的事件組合。 &#x1f3af; 一、什么是 CEP&#xff1f; ? 定義&#xff1a; CEP 是一種從連續的數據…

ARM (Attention Refinement Module)

ARM模塊【來源于BiSeNet】&#xff1a;細化特征圖的注意力&#xff0c;增強重要特征并抑制不重要的特征。 Attention Refinement Module (ARM) 詳解 ARM (Attention Refinement Module) 是 BiSeNet 中用于增強特征表示的關鍵模塊&#xff0c;它通過注意力機制來細化特征圖&…

AR0144CSSC20SUKA0-CRBR——1/4英寸 1.0 MP 高性能CMOS圖像傳感器解析

產品概述&#xff1a; AR0144CSSC20SUKA0-CRBR 是一款1/4 英寸&#xff0c;1.0 Mp CMOS 數字圖像傳感器&#xff0c;帶有 1280H x 800V 有效像素陣列 全局快門CMOS數字圖像傳感器&#xff0c;它結合了新型的創新全局快門像素設計&#xff0c;適用于準確快速的移動場景捕捉。該…

深入理解遞歸算法:Go語言實現指南

深入理解遞歸算法&#xff1a;Go語言實現指南 引言 遞歸是編程中一種優雅而強大的算法思想&#xff0c;通過函數自我調用的方式解決復雜問題。本文將使用Go語言演示遞歸的核心原理&#xff0c;并通過典型示例幫助開發者掌握這一重要技術。 一、遞歸基礎概念 1.1 遞歸定義 遞歸…

vue2實現【瀑布流布局】

瀑布流 1. 解釋2. 形成結構和樣式3. 自定義指令 1. 解釋 瀑布流特征&#xff1a; 等寬不等高&#xff1a;元素寬度固定&#xff0c;高度根據內容自適應。錯落排列&#xff1a;元素像瀑布一樣從上到下依次填充&#xff0c;自動尋找最短列插入 體現&#xff1a;圖中第一排1&…