藍橋杯20151 跳石頭

問題描述

小明正在和朋友們玩跳石頭的小游戲,一共有?n?塊石頭按 1 到?n?順序排成一排,第?i?塊石頭上寫有正整數權值?ci??。

如果某一時刻小明在第?j?塊石頭,那么他可以選擇跳向第?j+cj??塊石頭 (前提?j+cj≤n )或者跳向第?2j?塊石頭(前提?2j≤n),沒有可跳躍的目標時游戲結束。

假如小明選擇從第?x?塊石頭開始跳躍,如果某塊石頭有可能被小明經過 ("經過"指存在某一時刻小明在這個石頭處),則將這塊石頭的權值納入得分集合?Sx??,那么小明從第?x?塊石頭開始跳躍的得分為?∣Sx∣。

比如如果小明從第?x?塊石頭出發,所有可能經過的石頭上的權值分別為?5,3,5,2,3 ,那么?Sx=5,3,2 得分為?∣Sx∣=3 。小明可以任選一塊石頭開始跳躍,請求出小明最多能獲得的分數。

輸入格式

輸入共?2?行。

第一行為一個正整數?n。

第二行為?n?個由空格分開的正整數?c1,c2,…,cn?。

輸出格式

輸出共 1 行,一個整數表示答案。

樣例輸入

5
4 3 5 2 1

樣例輸出

4

樣例說明

從第一塊石頭出發得分最多,路徑有以下幾種:

  1. 1 號?→5 號:選擇從 1 號跳到?1+c1=5 號。
  2. 1 號?→2?號?→5?號:第一次選擇從 1 號跳到?2×1=2 號,第二次選擇從 2 號跳到?2+c2=5??號。
  3. 1 號?→2?號?→4?號:第一次選擇從 1 號跳到?2×1=2 號,第二次選擇從 2 號跳到?2×2=4 號

所以所有可能經過的石頭的權值的集合為 S1?={c1?,c2?,c4?,c5?}={4,3,2,1}?,得分為?∣S1∣=4。

評測用例規模與約定

對于?20% 的評測用例,保證 n≤20?。

對于?100% 的評測用例,保證?n≤40000,ci≤n 。

?

dfs 遍歷每一個石頭作為起點

用 set 記錄經過的石頭的權值

set 最多的元素數量即為答案

#include<iostream>
#include<algorithm>
#include<set>
using namespace std;int n;
const int N = 4e4+10;
int a[N];
set<int> s;
int ans;  //得分:所有可能經過的石頭上的不同權值的數量//x:當前石頭的編號 
void dfs(int x)
{if(x>n){int cnt = s.size();ans = max(cnt, ans);return;}s.insert(a[x]);  //記錄經過的所有石頭的權值//“跳向第 2j 塊石頭” dfs(2 * x);//“跳向第 j+cj 塊石頭” dfs(x + a[x]);
}int main()
{cin>>n;for(int i=1; i<=n; ++i) cin>>a[i];//遍歷每一塊石頭,選擇第 i 個石頭作為起點 for(int i=1; i<=n; ++i){dfs(i);  s.clear();}cout<<ans; return 0;
}

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

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

相關文章

深度學習——基于卷積神經網絡的MNIST手寫數字識別詳解

文章目錄 引言1. 環境準備和數據加載1.1 下載MNIST數據集1.2 數據可視化 2. 數據預處理3. 設備配置4. 構建卷積神經網絡模型5. 訓練和測試函數5.1 訓練函數5.2 測試函數 6. 模型訓練和評估6.1 初始化損失函數和優化器6.2 訓練過程 7. 關鍵點解析8. 完整代碼9. 總結 引言 手寫數…

Activiti初識

文章目錄 1 工作流介紹1_工作流概念介紹2 工作流系統3 適用行業4 具體應用5 實現方式 2 Activiti介紹1_BPM2 BPM 軟件3 BPMN 3 使用步驟1_部署 activiti2 流程定義3 流程定義部署4 啟動一個流程實例5 用戶查詢待辦任務(Task)6 用戶辦理任務7 流程結束 4 Activiti應用1_Activiti…

CyclicBarrier入門代碼解析

文章目錄 核心思想&#xff1a;組隊出游&#xff0c;人到齊了才出發 &#x1f68c;最簡單易懂的代碼示例代碼解析運行效果分析CyclicBarrier vs CountDownLatch 的關鍵區別CyclicBarrier在業務系統里面通常有什么常用的應用場景核心應用模式1. 數據并行處理與ETL&#xff08;最…

Maven 配置中繞過 HTTP 阻斷機制的完整解決方案

Maven 配置中繞過 HTTP 阻斷機制的完整解決方案 一、背景與問題分析 自 Maven 3.8.1 版本起&#xff0c;出于安全考慮&#xff0c;默認禁止了對 HTTP 倉庫的訪問。這一機制通過 <mirror> 配置中的 maven-default-http-blocker 實現&#xff0c;其作用是攔截所有使用 HT…

【大廠機試題解法筆記】恢復數字序列

題目 對于一個連續正整數組成的序列&#xff0c;可以將其拼接成一個字符串&#xff0c;再將字符串里的部分字符打亂順序。如序列8 9 10 11 12,拼接成的字符串為89101112,打亂一部分字符后得到90811211,原來的正整數10就被拆成了0和1。 現給定一個按如上規則得到的打亂字符的字…

MongoDB 事務有哪些限制和注意事項?

MongoDB 的多文檔 ACID 事務雖然強大&#xff0c;但在使用時確實有一些限制和需要特別注意的事項。 以下是主要的限制和注意事項&#xff1a; 1. 性能開銷 (Performance Overhead) 額外協調: 事務需要額外的協調工作&#xff0c;包括跟蹤事務狀態、管理鎖&#xff08;即使是樂…

CTF實戰技巧:獲取初始權限后如何高效查找Flag

CTF實戰技巧&#xff1a;獲取初始權限后如何高效查找Flag 在CTF比賽中&#xff0c;獲得初始訪問權限只是開始&#xff0c;真正的挑戰在于如何在系統中高效定位Flag。本文將分享我在滲透測試中總結的系統化Flag搜索方法&#xff0c;涵蓋Linux和Windows雙平臺。 引言&#xff1a;…

kafka Tool (Offset Explorer)使用SASL Plaintext進行身份驗證

一、前面和不需要認證的情況相同&#xff1a; 1、填寫Properties中的cluster name和版本&#xff0c;以及zk的ip和port 2、Advanced中填寫bootstrap servers 二、和不需要認證時不同的點&#xff1a; 1、Security的Type&#xff0c;不需要認證時選plaintext&#xff0c;需要認…

最小費用最大流算法

最小費用最大流算法 原理 問題:網絡中有源點(起點)和匯點(終點),每條邊有流量上限和單位流量費用。求: 從源點到匯點的最大流量在流量最大的前提下,總費用最小核心思想:在找增廣路時,選擇單位費用之和最小的路徑(使用SPFA找最短路) 實現步驟 建圖:使用鏈式前向…

從匯編的角度揭開C++ this指針的神秘面紗(上)

C中的this指針一直比較神秘。任何類的對象&#xff0c;都有一個this指針&#xff0c;無處不在。那么this指針的本質究竟是什么&#xff1f;this指針什么時候會被用到&#xff1f;今天通過幾段簡單的代碼&#xff0c;來揭秘一下。 要先揭秘this指針&#xff0c;先來說一下函數調…

18 - GCNet

論文《GCNet: Non-local Networks Meet Squeeze-Excitation Networks and Beyond》 1、作用 GCNet通過聚合每個查詢位置的全局上下文信息來捕獲長距離依賴關系&#xff0c;從而改善了圖像/視頻分類、對象檢測和分割等一系列識別任務的性能。非局部網絡&#xff08;NLNet&…

人工智能學習17-Pandas-查看數據

人工智能學習概述—快手視頻 人工智能學習17-Pandas-查看數據—快手視頻

RV1126+OPENCV在視頻中添加LOGO圖像

一.RV1126OPENCV在視頻中添加LOGO圖像大體流程圖 主要是利用RV1126的視頻流結合OPENCV的API在視頻流里面添加LOGO圖像&#xff0c;換言之就是在RV1126的視頻流里面疊加圖片。大體流程我們來看上圖&#xff0c;要完成這個功能我們需要創建兩個線程(實際上還有初始化過程&#xf…

汽車制造通信革新:網關模塊讓EtherCAT成功對接CCLINK

?在現代工業自動化生產領域&#xff0c;不同品牌和類型的設備往往采用不同的通信協議&#xff0c;這給設備之間的互聯互通帶來了挑戰。某汽車制造企業的生產線上&#xff0c;采用了三菱FX5U PLC作為主站進行整體生產流程的控制和調度&#xff0c;同時配備了庫卡機器人作為從站…

vue父類跳轉到子類帶參數,跳轉完成后去掉參數

當通過路由導航的時候&#xff0c;由于父類頁面帶參數到子類&#xff0c;導致路徑上面有參數 這樣不僅不美觀&#xff0c;而且在點擊導航菜單按鈕時還會有各種問題&#xff0c;這時我們只需要將路由后面的參數去掉就好了&#xff0c;在子頁面mounted()函數里面獲取到父類的參數…

純 CSS 實現的的3種掃光效果

介紹一個比較常見的動畫效果。 在日常開發中&#xff0c;為了強調凸顯某些文本或者元素&#xff0c;會加一些掃光動效&#xff0c;起到吸引眼球的效果&#xff0c;比如文本的 或者是一個卡片容器&#xff0c;里面可能是圖片或者文本或者任意元素 除此之外&#xff0c;還有那…

如何在FastAPI中構建一個既安全又靈活的多層級權限系統?

title: 如何在FastAPI中構建一個既安全又靈活的多層級權限系統? date: 2025/06/14 12:43:05 updated: 2025/06/14 12:43:05 author: cmdragon excerpt: FastAPI通過依賴注入系統和OAuth2、JWT等安全方案,支持構建多層級權限系統。系統設計包括基于角色的訪問控制、細粒度權…

大模型_Ubuntu24.04安裝RagFlow_使用hyper-v虛擬機_超級詳細--人工智能工作筆記0251

因為之前使用dify搭建了一個知識庫&#xff0c;但是dify的效果&#xff0c;尤其是在文檔解析方面是非常不友好的&#xff0c;雖然測試了&#xff0c;納米的效果非常好&#xff0c;但是納米只能容納2000個文件&#xff0c;如果 你的知識庫中有代碼&#xff0c;sql文件等等&…

LeetCode - LCR 173. 點名

題目 LCR 173. 點名 - 力扣&#xff08;LeetCode&#xff09; 思路 首先對數組進行排序&#xff0c;使學號按順序排列 在排序后的數組中&#xff0c;如果沒有缺失的學號&#xff0c;那么每個元素應該等于其索引值 使用二分查找找到第一個不等于其索引的元素位置&#xff1…

VSCode如何優雅的debug python文件,包括外部命令uv run main.py等等

debug程序的方式有很多種。每一種方式都各有缺點:有的方式雖然優雅,但是局限性很大;有的方式麻煩,但是局限性小。 常規方式: 優點:然后可以觀察所有線程。一勞永逸。缺點:就是寫參數很麻煩,但是你可以讓chatgpt等大模型幫你寫。最最最優雅的方式: 優點:就是需要在代碼…