牛客周賽 Round 105

A.小苯的xor構造

題目描述

小紅喜歡整數?k,他想讓小苯構造兩個不相等的非負整數,使得兩數的異或和等于?k。

請你幫幫小苯。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {int k;cin>>k;cout<<0<<" "<<k<<'\n';
}
int main() {int t=1;// cin >> t;while (t--) {solve();}return 0;
}

B.?小苯的權值計算

題目描述

小苯通過如下步驟計算一個長度為?n?的數組?{a1,a2,…,an}的權值:

計算所有相鄰元素的異或和,形成一個長度為?n?1 的新數組?{b1,b2,…,bn?1}。

定義數組?a?的權值為數組?b?的最大公因數。

小紅構造了一個長度為?n?且元素均為正整數的數組 {a1,a2,…,an},他想讓小苯計算這個數組的權值。

請你幫幫小苯。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {int n;cin>>n;vector<int> a(n);for(int i=0;i<n;i++) cin>>a[i];int g=0;for(int i=0;i<n-1;i++){int x=a[i]^a[i+1];g=gcd(g,x);}cout<<g<<'\n';
}
int main() {int t=1;// cin >> t;while (t--) {solve();}return 0;
}

C.小苯的01矩陣構造

題目描述

小苯想要構造一個?n 行?n 列、僅由 0?和 1 組成的矩陣,滿足:
?其每行的全部元素的按位異或異或和之和 sumr、每列的全部元素的按位異或異或和之和 sumc 相加恰好為?k
請你幫幫小苯。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {int n,k;cin>>n>>k;if(k%2==1){cout<<-1<<'\n';return;}int m=k/2;if(m>n){cout<<-1<<'\n';return;}vector<string> ans(n,string(n,'0'));for(int i=0;i<m;i++){ans[i][i]='1';}for(int i=0;i<n;i++){cout<<ans[i]<<'\n';}
}
int main() {int t=1;// cin >> t;while (t--) {solve();}return 0;
}

D.小苯的重排構造

題目描述

小苯拿到了一個長為?n、僅由整數 1?或?2 組成的數組?a={a1,a2,…,an}。
現在小紅想要讓小苯將其重排得到數組 a′={a1′,a2′,…,an′},使得 ∑i=1n?1gcd?(ai′,ai+1′)=k。
請你幫幫小苯。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {int n;ll k;cin>>n>>k;vector<int> a(n);int t1=0,t2=0;for(int i=0;i<n;i++){cin>>a[i];if(a[i]==1) t1++;else t2++;}                int m1 = t2 == 0 ? 0 : t2 - 1;int m2 = max(0,(t2-1)-t1);          ll ne=k-n+1; if(ne < 0 || ne > m1 || ne < m2) {cout << -1 << '\n';return;} int r = t2 == 0 ? 0 : (t2 - 1) - ne; vector<int> res;if (t2 == 0) {res.assign(t1, 1);} else {for (int i = 0; i < t2; i++) {res.push_back(2);if (i < r) {res.push_back(1);}}for (int i = 0; i < t1 - r; i++) res.push_back(1);} for (int i=0;i<n;i++) {if(i) cout<<' ';cout<<res[i];}cout<<'\n';     
}
int main() {int t=1;// cin >> t;while (t--) {solve();}return 0;
}

E.小苯的xor圖

小苯拿到了一個由?n?個頂點、m?條無向邊組成的簡單連通圖,每個頂點都有一個權值。

他定義一條長度為?2?的簡單路徑的權值為這條路徑所連接的三個頂點的權值的異或和。

小苯想知道,這張圖中所有長度為?2?的簡單路徑的權值之和為多少。由于答案可能很大,請將答案對 998?244?353998?取模后輸出。

請你幫幫小苯。

需要注意的是,無向圖中 (u?-?v?-?w)視為同一條長度為 2 的簡單路徑;等價于對每個中心點 v 統計其鄰居無序對 {u,w}

【名詞解釋】

簡單路徑[1]:在圖上由若干頂點構成的序列,序列中頂點互不重復,且相鄰頂點有邊相連;路徑長度為其中邊的數量。

異或和[2]:兩個數進行按位異或運算的結果。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = 998244353;
using pii=pair<int,int>;
int p[31];
void x(){p[0]=1;for(int i=1;i<31;i++){p[i]=(p[i-1]*2LL)%MOD;}
}
void solve() {int n,m;cin>>n>>m;vector<int> a(n),d(n);for(int i=0;i<n;i++) cin>>a[i];vector<pii> g;for(int i=0;i<m;i++){int u,v; cin>>u>>v;u--; v--;g.emplace_back(u,v);d[u]++; d[v]++;}x();ll ans=0;vector<int> t(n,0);for(int i=0;i<31;i++){fill(t.begin(), t.end(), 0);for(auto [u,v]:g){if((a[u]>>i)&1) t[v]++;if((a[v]>>i)&1) t[u]++;}ll res=0;for(int j=0;j<n;j++){ll d_=d[j];if(d_<2) continue;ll sum=d_*(d_-1)/2;ll x=t[j]*(d_-t[j]);if(((a[j]>>i)&1)==0){res+=x;}else{res+=(sum-x);}}res%=MOD;ans=(ans+res*p[i])%MOD;}cout<<ans%MOD<<'\n';
}
int main() {int t=1;// cin >> t;while (t--) {solve();}return 0;
}

F.小苯的前綴gcd構造

題目描述

對于一個長度為?n?的數組?{a1,a2,…,an},小苯先定義?f(i)=gcd?(a1,a2,…,ai),基于此,再定義數組的權值為:

現在,小紅想讓小苯構造一個長為?n 且所有元素都在?[1,m]之內的數組,滿足其權值恰好為?x。
請你幫幫小苯。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int N = 50;bool f[N + 1][N + 1][N * N + 1];
int pre[N + 1][N + 1][N * N + 1];vector<int> ds[N + 1];void solve() {int n, m, x;cin >> n >> m >> x;for (int j = 1; j <= m; j++) {if (f[n][j][x]) {for (int _ =  n; _ >= 1; _--) {cout << j << " \n"[_ == 1];int oj = j;j = pre[_][j][x];x -= oj;}return;}}cout << "-1\n";
}int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);for (int i = 1; i <= N; i++) {ds[i].push_back(0);for (int j = i; j <= N; j += i) {ds[j].push_back(i);}}f[0][0][0] = true;for (int i = 1; i <= N; i++) {for (int j = 1; j <= N; j++) {for (auto k : ds[j]) {for (int s = j; s <= N * N; s++) {if (f[i - 1][k][s - j]) {f[i][j][s] = true;pre[i][j][s] = k;}}}}}int tt = 1;cin >> tt;while (tt--) solve();return 0;
}

注:賽時F題沒寫出來, 后續會補充詳細的解題思路

感謝大家的點贊和關注,你們的支持是我創作的動力!

?

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

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

相關文章

《R for Data Science (2e)》免費中文翻譯 (第4章) --- Workflow: code style

寫在前面 本系列推文為《R for Data Science (2)》的中文翻譯版本。所有內容都通過開源免費的方式上傳至Github&#xff0c;歡迎大家參與貢獻&#xff0c;詳細信息見&#xff1a; Books-zh-cn 項目介紹&#xff1a; Books-zh-cn&#xff1a;開源免費的中文書籍社區 r4ds-zh-cn …

11-verilog的RTC驅動代碼

verilog的RTC驅動代碼 1.例化parameter SLAVE_ADDR 7h51 ; // 器件地址 parameter BIT_CTRL 1b0 ; // 字地址位控制參數(16b/8b) parameter CLK_FREQ 26d50_000_000; // i2c_dri模塊的驅動時鐘頻率(CLK_FREQ) parameter I2C_FR…

【k8s、docker】Headless Service(無頭服務)

文章目錄問題背景1、什么是Headless Service1.2 為什么 Zookeeper 使用 Headless Service&#xff1f;1.2 Headless Service 的 DNS 行為1.3 驗證示例1.4 如何創建 Headless Service&#xff1f;2. zk-0.zookeeper.default.svc.cluster.local 域名是如何創建出來的&#xff1f;…

scikit-learn/sklearn學習|套索回歸Lasso解讀

【1】引言 前序學習進程中&#xff0c;對用scikit-learn表達線性回歸進行了初步解讀。 線性回歸能夠將因變量yyy表達成由自變量xxx、線性系數矩陣www和截距bbb組成的線性函數式&#xff1a; y∑i1nwi?xibwTxby\sum_{i1}^{n}w_{i}\cdot x_{i}bw^T{x}byi1∑n?wi??xi?bwTxb實…

暴雨服務器:以定制化滿足算力需求多樣化

在數字經濟與實體經濟深度融合的浪潮下&#xff0c;互聯網行業正經歷著前所未有的技術變革。大數據分析、云計算服務、人工智能算法等技術的快速演進&#xff0c;推動著企業對于高性能計算基礎設施的需求呈現指數級增長。據IDC數據顯示&#xff0c;互聯網行業已成為全球服務器采…

JavaScript字符串詳解

創建字符串&#xff1a; 1.使用字面量(推薦)&#xff1a; 這是最常用、最直接的方式。你可以用單引號 ()、雙引號 (") 或反引號 () 把文本包起來 let singleQuote 單引號; let doubleQuote "雙引號"; let templateLiteral 反引號;2.使用String 構造函數&…

Kiro Preview 應用評測

Kiro應用評測 Kiro 是一個由亞馬遜推出的 AI 驅動的智能開發環境&#xff0c;從原型到生產全程陪伴您的開發過程。它將"靈感編程"的流暢性與規范的清晰性相結合&#xff0c;幫助您更快地構建更好的軟件。 昨天收到了Kiro的試用郵件&#xff0c;收到郵件后第一時間下載…

Flink2.0學習筆記:Flink服務器搭建與flink作業提交

一&#xff0c;下載flink:Downloads | Apache Flink,解壓后放入IDE工作目錄&#xff1a;我這里以1.17版本為例 可以看到&#xff0c;flink后期的版本中沒有提供window啟動腳本:start-cluster.bat 所以這里要通過windows自帶的wsl 系統啟動它 打開終端依次運行下列命令完成w…

MySQL鎖的分類

MySQL鎖可以按照多個維度進行分類&#xff0c;下面我用最清晰的方式為你梳理所有分類方式&#xff1a;一、按鎖的粒度分類&#xff08;最常用分類&#xff09;鎖類型作用范圍特點適用引擎示例場景表級鎖整張表開銷小、加鎖快&#xff0c;并發度低MyISAM, MEMORY數據遷移、全表統…

電腦上搭建HTTP服務器在局域網內其它客戶端無法訪問的解決方案

在電腦上開發一套HTTP服務器的程序在調試時&#xff0c;在本機內訪問正常&#xff0c;但是在本機外訪問就不正常&#xff0c;外部客戶端無法訪問或無法連接到本機的服務器的問題&#xff0c;這可能涉及網絡配置、防火墻、端口轉發或服務綁定等問題&#xff0c;在這里提供了解決…

雙指針和codetop2(最短路問題BFS)

雙指針和codetop21.雙指針1.[復寫0](https://leetcode.cn/problems/duplicate-zeros/)2.動態規劃1.[珠寶的最高價值](https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/)2.[解碼方法](https://leetcode.cn/problems/decode-ways/)3.[下降路徑最小和](ht…

基于K鄰近算法(KNN)的數據回歸預測模型

一、作品詳細簡介 1.1附件文件夾程序代碼截圖 全部完整源代碼&#xff0c;請在個人首頁置頂文章查看&#xff1a; 學行庫小秘_CSDN博客https://blog.csdn.net/weixin_47760707?spm1000.2115.3001.5343 1.2各文件夾說明 1.2.1 main.m主函數文件 該MATLAB代碼實現了一個基于…

【123頁PPT】化工行業數字化解決方案(附下載方式)

篇幅所限&#xff0c;本文只提供部分資料內容&#xff0c;完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808859/91654005 資料解讀&#xff1a;【123頁PPT】化工行業數字化解決方案 詳細資料請看本解讀文章的最后內容。化工行業作為國民經濟的重要支柱之…

c++--文件頭注釋/doxygen

文件頭注釋 開源項目&#xff1a; /*** file robot_base.cpp* author Mr.Wu* date 2025-05-28* version 1.0.0* brief Robot basic drive to communicate with controller** copyright Copyright (c) 2025 google.** Licensed under the Apache License, Version 2.…

【教程】筆記本安裝FnOS設置合蓋息屏不休眠

重裝FnOS好幾次了&#xff0c;合蓋后屏幕關閉但不休眠的問題每次都要網上找參差不齊的教程&#xff0c;麻煩死了&#xff0c;索性記錄一下方便以后復制粘貼。 使用root登錄 sudo -i修改系統配置文件編輯logind.conf文件&#xff1a; 打開終端&#xff0c;輸入以下命令以編輯log…

深入解析 Monkey OCR:本地化、多語言文本識別的利器與實踐指南

在信息爆炸的時代&#xff0c;從圖片、掃描文檔中高效提取結構化文本的需求日益迫切。OCR&#xff08;光學字符識別&#xff09;技術成為解決這一問題的核心工具。盡管市面上有 Abbyy FineReader、Adobe Acrobat 等商業巨頭&#xff0c;以及 Tesseract、PaddleOCR 等開源方案&a…

動態規劃法 - 53. 最大子數組和

什么是動態規劃法&#xff1f; 簡單說&#xff0c;動態規劃&#xff08;Dynamic Programming&#xff0c;簡稱 DP&#xff09; 是一種**「把復雜問題拆解成小問題&#xff0c;通過解決小問題來解決大問題」**的方法。 核心思路有兩個&#xff1a; 1.拆分問題&#xff1a;把原問…

STM32CUBEMX配置stm32工程

1.新建工程2.選擇芯片3.配置各種片上外設和時鐘4.創建工程5.根據文件內容進行修改工程注意&#xff1a;最好根據工程規范來做&#xff0c;因為有時我們需要更改配置并重新生成&#xff0c;如果不按規范來會導致部分代碼會被系統清除&#xff0c;在工程中中有很多成對的BEGIN和E…

Day07 緩存商品 購物車

緩存菜品問題說明用戶端小程序展示的菜品數據都是通過查詢數據庫獲得&#xff0c;如果用戶端訪問量比較大&#xff0c;數據庫訪問壓力隨之增大。結果&#xff1a;系統響應慢&#xff0c;用戶體驗差實現思路通過 Redis 來緩存菜品數據&#xff0c;減少數據庫查詢操作。緩存邏輯分…

Jenkins(集群與流水線配置)

Jenkins&#xff08;集群與流水線配置&#xff09; Jenkins集群 集群化構建可以提升構建效率&#xff0c;也可以并發在多臺機器上執行構建。 安裝前提&#xff1a;內存至少512MB、Java 17 以上、Maven環境、Git環境 配置集群步驟 配置節點菜單新建節點查看節點配置狀態 新建完節…