【ACM】—藍橋杯大一暑期集訓Day3

🚀歡迎來到本文🚀
🍉個人簡介:陳童學哦,目前學習C/C++、算法、Python、Java等方向,一個正在慢慢前行的普通人。
🏀系列專欄:陳童學的日記
💡其他專欄:C++STL,感興趣的小伙伴可以看看。
🎁希望各位→點贊👍 + 收藏?? + 留言📝 ?
??學習應使你快樂!望與諸君共勉!🏄?♂?

在這里插入圖片描述

Day3集訓

  • 前言
  • A - Subtraction Game
    • 解題思路
    • 示例代碼
  • B - 全排列
    • 解題思路
    • 示例代碼
  • C - 健康的奶牛
    • 解題思路
    • 示例代碼
  • D - New Year Transportation
    • 解題思路
    • 示例代碼
  • 總結

前言

因參加了我校的ACM暑期集訓為之后的xcpc等賽事做準備,所以就有了此文哈哈。本文主要復盤做題的過程以及一些感悟,便于復習鞏固。辣么現在廢話也不多說啦,直接往下看吧哈哈。

A - Subtraction Game

來源:CodeForces - 1844A. Subtraction Game
在這里插入圖片描述
在這里插入圖片描述
題意: 兩個人先后從一堆石子中取a或b個石子,最先無法取得石子的人就輸了,輸入給出a和b,要求輸出的n使得先手開局必輸。

解題思路

這道題其實是雷聲大雨點小啦,就是誰先把石子取完讓另一個人無法再取的話就贏了,那么只要后手的那個人取石子的時候能夠全部取完讓先手的無法取得即可求解,題目所給樣例可能有點迷惑性哈。

示例代碼

#include <bits/stdc++.h>
using namespace std;
int main() {int t,a,b;cin>>t;while (t--) {cin>>a>>b;cout<<a+b<<endl;}return 0;
}

B - 全排列

來源:洛谷P1706 全排列問題
在這里插入圖片描述

解題思路

本題用dfs深搜回溯再剪枝把所有情況羅列出來即可

示例代碼

#include<bits/stdc++.h>
using namespace std;
int n,g[105],s[105];
void print(){for(int i=1;i<=n;i++)printf("%5d",s[i]);printf("\n");
}
void dfs(int x){if(x==n){print();return;}for(int i=1;i<=n;i++){if(!g[i]){g[i]=1;s[x+1]=i;dfs(x+1);g[i]=0;}}
}
int main(){cin>>n;dfs(0);
}

C - 健康的奶牛

來源:洛谷P1460 [USACO2.1] 健康的荷斯坦奶牛 Healthy Holsteins
在這里插入圖片描述
在這里插入圖片描述

解題思路

這道題用dfs深搜不需要剪枝,本蒟蒻沒有做出來,看了某位神犇的哇

示例代碼

#include<bits/stdc++.h>
using namespace std;
int co[1001];
int a[1001];
int b[1001][1001];
int c[1001];
int n,m,minn=0x3f3f3f3f;
bool judge(int x){for(int i=1;i<=n;i++){int sum=0;for(int j=1;j<=x;j++)sum+=b[c[j]][i];if(sum<a[i])return false;		}return true;
}void dfs(int t,int s){if(t>m){if(judge(s)){if(s<minn){minn=s;for(int i=1;i<=minn;i++)co[i]=c[i];}}return;}c[s+1]=t;dfs(t+1,s+1);c[s+1]=0;dfs(t+1,s);}int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];cin>>m;for(int i=1;i<=m;i++){for(int j=1;j<=n;j++)cin>>b[i][j];}dfs(1,0);cout<<minn<<' ';for(int i=1;i<=minn;i++)cout<<co[i]<<' ';
}

D - New Year Transportation

來源:CodeForces - 500A. New Year Transportation

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

解題思路

這題用for循環遞推一下,理清思路即可。

示例代碼

#include<iostream>
using namespace std;
int main()
{int a[30005];int n,t,i;cin>>n>>t;for(i=1;i<n;i++)cin>>a[i];for(i=1;i<t;i+=a[i]); //遞推if(i==t)cout<<"YES"<<endl;elsecout<<"NO"<<endl;
}

總結

Day3的題主要考察搜索,這類算法通常較難,需多加理解遞歸思想。
算法:dfs、bfs、回溯、遞歸、遞推
感悟:dfs、bfs等算法的使用還需多加做題才能深入理解
總結:每個算法都有其巧妙處,搜索算法更是巧妙

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

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

相關文章

langchain學習筆記(九)

RunnableBranch: Dynamically route logic based on input | &#x1f99c;?&#x1f517; Langchain 基于輸入的動態路由邏輯&#xff0c;通過上一步的輸出選擇下一步操作&#xff0c;允許創建非確定性鏈。路由保證路由間的結構和連貫。 有以下兩種方法執行路由 1、通過Ru…

Unity引擎中光源都有哪幾種,都有什么作用

本文由 簡悅 SimpRead 轉碼&#xff0c; 原文地址 mp.weixin.qq.com Unity 引擎為了實現游戲場景的明暗和光影效果&#xff0c;提供了四種類型的光源&#xff0c;分別是方向光&#xff08;Directional Lights&#xff09;、點光源&#xff08;Point Lights&#xff09;、聚光燈…

Vue開發實例(一)Vue環境搭建第一個項目

Vue環境搭建&第一個項目 一、環境搭建二、安裝Vue腳手架三、創建Vue項目 一、環境搭建 下載方式從官網下載&#xff1a;http://nodejs.cn/download/ 建議下載v12.16.0版本以上的&#xff0c;因為版本低無法創建Vue的腳手架 檢驗是否安裝成功 配置環境變量 新增NODE_HOME&…

win11系統中nginx簡單的代理配置

一.背景 為了公司安排的師帶徒任務。 操作系統版本&#xff1a;win11家庭版 nginx版本&#xff1a;1.24.0 二.配置代理 之前文章已經說明了nginx簡單的安裝&#xff0c;要看閱讀這個文章哈。web服務器nginx下載及在win11的安裝-CSDN博客 1.配置需求識別 前端服務nginx(80…

【探索AI】十七 深度學習之第3周:卷積神經網絡(CNN)(一)-CNN的基本原理與結構

第3周&#xff1a;卷積神經網絡&#xff08;CNN&#xff09; CNN的基本原理與結構 常見的卷積層、池化層與全連接層 LeNet、AlexNet等經典CNN模型 實踐&#xff1a;使用CNN進行圖像分類任務 CNN的基本原理與結構 引言與背景介紹 卷積神經網絡&#xff08;CNN&#xff09;是…

雙周回顧#007 - 前端與后端

前端的問題不是難&#xff0c;而是它面對最終用戶。只要用戶的喜好和口味發生變化&#xff0c;前端就必須跟上。 這導致前端不得不快速變化&#xff0c;因為用戶的口味正在越來越快地改變。 后端不需要面對最終用戶&#xff0c;需要解決的都是一些經典的計算機科學問題&#…

什么是Vue指令?請列舉一些常見的Vue指令以及它們的用法

Vue.js 是一款流行的前端框架&#xff0c;它的指令&#xff08;Directives&#xff09;是 Vue.js 提供的一種特殊屬性&#xff0c;用于在模板中對 DOM 元素進行直接操作。指令通常是以 v- 開頭的特殊屬性&#xff0c;用于響應式地將數據綁定到 DOM 元素上。 在 Vue 中&#xf…

C語言初階—函數(函數的聲明和定義,函數遞歸)

函數聲明&#xff1a; 1.告訴編譯器有一個函數叫什么&#xff0c;參數是什么&#xff0c;返回類型是什么&#xff0c;但是具體是不是存在&#xff0c;函數聲明決定不了。 2.函數的聲明一般出現在函數使用之前&#xff0c;要滿足先聲明后使用。 3.函數的聲明一般要放在頭文件中。…

Launch學習

參考博客&#xff1a; (1) 史上最全的launch的解析來啦&#xff0c;木有之一歐 1 ROS工作空間簡介 2 元功能包 src目錄下可以包含多個功能包&#xff0c;假設需要使用機器人導航模塊&#xff0c;但是這個模塊中包含著地圖、定位、路徑規劃等不同的功能包&#xff0c;它們的邏…

agent內存馬

搭建一個簡單的Servlet項目 ServletDemo package com.naihe;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;…

【探索AI】十一 深度學習之機器學習基礎

鑒于之前文章中提到的深度學習計劃&#xff0c;后續的文章會根據之前的接著繼續學習&#xff0c;python基礎略過&#xff0c;想學的同學請自學&#xff1a; python入門 python進階 機器學習基礎 機器學習是人工智能領域的一個子集&#xff0c;它專注于從數據中自動學習并提升…

vue2+若依框架plus交互 路由介紹

本周及寒假 參加了校企合作的工程過程管理&#xff0c;和學長學姐一起寫項目&#xff0c;之前學了vue也沒有應用&#xff0c;然后對框架很多組件的用法不太了解&#xff0c;前期耽誤了一些時間。 框架模塊 首先是框架模塊的介紹 api存了一些系統管理及發送請求的方法 例如p…

【python】`assert`斷言語句

assert是一個斷言語句&#xff0c;用于在代碼中檢查某個條件是否為真。 如果條件為假&#xff0c;將觸發AssertionError 異常&#xff0c;從而指示存在錯誤。

Linux獲取進程(系統啟動時間和運行時間)運行時間

Linux獲取進程運行時間 思路&#xff1a;使用 ps - o命令 ps -p 986 -o etime可以獲取進程986的執行時間&#xff0c;不論系統時間有沒有發生改變&#xff0c;它都可以返回正確的結果: 總結&#xff1a;etime 是真正的程序運行時間&#xff0c;而不是系統運行時間與進程啟動…

在您的下一個項目中選擇 Golang 和 Node.js 之間的抉擇

作為一名軟件開發者&#xff0c;我總是在尋找構建應用程序的最快、最高效的工具。在速度和處理復雜任務方面&#xff0c;我認為 Golang 和 Node.js 是頂尖技術。兩者在性能方面都享有極高的聲譽。但哪一個更快——Golang 還是 Node&#xff1f;我決定深入一些硬核基準測試&…

java-ssm-jsp-寵物護理預定系統

java-ssm-jsp-寵物護理預定系統 獲取源碼——》公主號&#xff1a;計算機專業畢設大全

ASPICE實操中的那點事兒-底層軟件的單元測試該如何做

先來說下ASPICE項目實操中遇到的問題&#xff1a; 底層軟件在做單元測試時&#xff0c;從ASPICE角度看&#xff0c;該如何做&#xff1f;要不要在目標控制器或開發板中去測&#xff1f;尤其是復雜驅動&#xff0c;如果不在將程序下載到硬件中&#xff0c;該如何測試&#xff1…

物聯網與智慧城市:融合創新,塑造未來城市生活新圖景

一、引言 在科技飛速發展的今天&#xff0c;物聯網與智慧城市的融合創新已成為推動城市發展的重要力量。物聯網技術通過連接萬物&#xff0c;實現信息的智能感知、傳輸和處理&#xff0c;為智慧城市的構建提供了無限可能。智慧城市則運用物聯網等先進技術&#xff0c;實現城市…

使用R語言進行Logistic回歸分析(2)

一、數據集描述&#xff0c;問題要求 下表是40位肺癌病人的生存資料&#xff0c;X1表示生活行為能力平分&#xff08;1到100&#xff09;&#xff0c;X2為病人的年齡&#xff08;年&#xff09;&#xff0c;X3由診斷到進入研究的時間&#xff08;月&#xff09;&#xff0c;X4…

291.【華為OD機試】模擬目錄管理(JavaPythonC++JS實現)

??點擊這里可直接跳轉到本專欄,可查閱頂置最新的華為OD機試寶典~ 本專欄所有題目均包含優質解題思路,高質量解題代碼(Java&Python&C++&JS分別實現),詳細代碼講解,助你深入學習,深度掌握! 文章目錄 一. 題目-模擬目錄管理二.解題思路三.題解代碼Python題解…