P2690 接蘋果

————————————————————————

?

我用了記憶化,因為它比DP更好理解

?

—————————————————————————

資料:百度百科( MIKU,I Love HER )

  來自洛谷:(背包的題解)//侵權刪

?

——————————————————————————

?

分析:不會dp怎么辦,記憶化來代替

(oi籠罩在一片痛苦中,神說:讓dp誕生吧,oi更加痛苦了)

?

——————————————————————————

?

原題鏈接;P2690

?

—————————————————————————

?

代碼:↓

/*
welcome這里是記憶化搜索,// 別問我是什么,我是蒟蒻 其實記憶化和動態規劃很像,真的很像,但是,記憶化比較好想畢竟它還是DFS */
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int t,w;//總時間和總步數 
int zong[100000];//蘋果位置 
int dp[10000][100];//記憶化也 
int dfs(int step,int now,int time){//既然是記憶化,就要把這些變量 全列上 if(time>t)//邊界——超時 return 0;if(-1!=dp[time][step]) return dp[time][step];//記憶部分 if(zong[time]==now)//蘋果在當前的樹上 return dp[time][step]=dfs(step,now,time+1)+1;//直接加一即可 else{if(step<w)//如果能動 return dp[time][step]=max(dfs(step+1,-1*now+3,time+1)+1,dfs(step,now,time+1));//就計算動和不動的最大值 elsereturn dp[time][step]=dfs(step,now,time+1); //動不了了 
    }
}int main()
{//初始化和讀入 
memset(dp,-1,sizeof(dp));cin>>t>>w;for(int i=1;i<=t;++i)cin>>zong[i];cout<<dfs( 0,1,1);
}

?

?

?

?

---恢復內容結束---

轉載于:https://www.cnblogs.com/For-Miku/p/10846895.html

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

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

相關文章

gitlab使用git sourcetree時候的命令

6. Git連接設置 MacOS 打開MacOS的 terminal.app 工具。 輸入 cat ~/.ssh/id_rsa.pub 確認是否有已經存在的證書。 如果提示存在證書&#xff0c;請跳至 第5步。 輸入 ssh-keygen -t rsa -C "your.mobile136.com" -b 4096&#xff0c;并回車&#xff0c;提示的輸入…

numpy數組提取一定規律的數據

numpy數組的索引也是符合start stop step規律的&#xff0c;因此可以通過索引提取出一系列索引有規律的元素&#xff0c;如下例子: import numpy as np i np.linspace(1,100,100, dtypeint)-1 print(i) i_train i[0:100:10] print(i_train)輸出結果如下 : 可以看到通過索引…

在layui中使用 jquery 觸發select 的 change事件無效

在layui中使用 jquery 觸發select 的 change事件無效 使用layui.use監聽select事件 <select lay-filter"demo" lay-verify"required"><script> layui.use([layer, jquery, form], function () { var layer layui.layer, $ layui.j…

Maven添加Oracle驅動及依賴

oracle驅動先去官網下載,下載下來后,需要安裝到maven本地倉庫,然后再pom中添加依賴. 1下載oracle驅動包 ojdbc6-11.2.0.3.jar 2命令行安裝到maven倉庫 mvn install:install-file -DgroupIdcom.oracle -DartifactIdojdbc6 -Dversion11.2.0.3.0 -Dpackagingjar -DfileE:\orac…

Unity C# namespace 命名空間的使用

命名空間在多個面對對象的語言中有應用&#xff0c;例如JAVA&#xff0c;C&#xff0c;C#。本文主要記錄了在C#中如何調用不同命名空間的public class。 首先對namespace做一個簡單的總結。如果說類是對屬性和方法的封裝&#xff0c;那么命名空間就是對各個類的進一步封裝。在…

CRM、用戶管理權限

CRM目錄結構 from django.shortcuts import HttpResponse,render,redirect from django.conf.urls import url from django.utils.safestring import mark_safe from django.urls import reverse from django.forms import ModelForm from stark.utils.my_page import Paginat…

Spring Boot集成Druid監控

package com.xxxxxxx.framework.datasource.druid;import com.alibaba.druid.support.http.WebStatFilter;import javax.servlet.annotation.WebFilter; import javax.servlet.annotation.WebInitParam;/*** druid過濾器.*/ WebFilter(filterName "druidWebStatFilter&qu…

hexo個人博客搭建

使用gitee托管平臺搭配hexo工具搭建個人博客 燁然的個人博客 第一部分 HEXO安裝(win10安裝過程) 1.安裝git 安裝后配置環境變量 C:\Program Files\Git\bin C:\Program Files\Git\libexec\git-core 2.安裝Node.js 快速下載鏈接 安裝后配置環境變量 環境變量寫入C:\Program Files…

GAN生成對抗網絡基本概念及基于mnist數據集的代碼實現

本文主要總結了GAN(Generative Adversarial Networks) 生成對抗網絡的基本原理并通過mnist數據集展示GAN網絡的應用。 GAN網絡是由兩個目標相對立的網絡構成的&#xff0c;在所有GAN框架中都至少包含了兩個部分&#xff0c;生成模型部分和判別模型部分。生成模型的目標是制造出…

dump查詢Java 狀態

代碼文件 dump.sh #!/usr/bin/env bash### use demo ### # 1)upload dump.sh # 2)dos2unix dump.sh;chmod x dump.sh # 3)usage: # 1. /data/sh/java/dump.sh /tmp/dump /usr/local/java/jdk1.8.0_05 23554 # 2. /data/sh/java/dump.sh /tmp/dump /usr/local/java/jdk1…

jdk、jre、jvm區別與聯系

JVM &#xff1a;英文名稱&#xff08;Java Virtual Machine&#xff09;&#xff0c;就是我們耳熟能詳的 Java 虛擬機。它只認識 xxx.class 這種類型的文件&#xff0c;它能夠將 class 文件中的字節碼指令進行識別并調用操作系統向上的 API 完成動作。所以說&#xff0c;jvm 是…

autoencoder自編碼器原理以及在mnist數據集上的實現

Autoencoder是常見的一種非監督學習的神經網絡。它實際由一組相對應的神經網絡組成&#xff08;可以是普通的全連接層&#xff0c;或者是卷積層&#xff0c;亦或者是LSTMRNN等等&#xff0c;取決于項目目的&#xff09;&#xff0c;其目的是將輸入數據降維成一個低維度的潛在編…

vscode編寫插件詳細過程

vscode編寫插件詳細過程 前言 之前編寫了一個vscode插件用vscode寫博客和發布&#xff0c;然后有園友要求寫一篇來介紹如何開發一個vscode擴展插件&#xff0c;或者說介紹開發這個插件的過程。然而文章還沒有寫&#xff0c;園子里面已經有人發布一個文章&#xff0c;是園友上…

cannot find output in imported module librosa報錯解決

librosa一直都是用處很廣泛的python聲音信號處理模塊&#xff0c;但在最近的版本更新中&#xff0c;將原本的librosa.output給刪去了。 為了代替之前的librosa.output.write_wav函數將音頻寫入wav文件中&#xff0c;現可以用模塊soundfile代替。 soundfile.write(file, data, …

2018-2019-2 20175328 《Java程序設計》第十一周學習總結

十三章主要內容——Java網絡編程 一、URL類 URL類是java.net包中的一個重要的類&#xff0c;URL的實例封裝著一個統一資源定位符(Uniform Resource Locator)&#xff0c;使用URL創建對象的應用程序稱作客戶端程序。 一個URL對象通常包含最基本的三部分信息&#xff1a;協議、地…

修改Header方法

/*** 修改header信息&#xff0c;key-value鍵值對兒加入到header中,如果存在&#xff0c;替換* param request* param key* param value*/ public static void reflectRequestParam(HttpServletRequest request, String key, String value){Class<? extends HttpServletReq…

pytorch學習筆記 1. pytorch基礎 tensor運算

pytorch與tensorflow是兩個近些年來使用最為廣泛的機器學習模塊。開個新坑記錄博主學習pytorch模塊的過程&#xff0c;不定期更新學習進程。 文章較為適合初學者&#xff0c;歡迎對代碼和理解指點討論&#xff0c;下面進入正題。 import torch import numpy as npt1 torch.te…

2019年區塊鏈的主旋律是中間層協議

2019年區塊鏈的主旋律是中間層協議 過去一年加密資產市場從其峰值下跌超過85%的市值。但對我&#xff0c;一個堅定的區塊鏈企業家&#xff0c;這實際上是一件好事&#xff0c;區塊鏈的未來看起來比以往任何時候都更有希望。2017年ICO熱潮開始的瘋狂至少產生了一個強烈的積極影響…

Java枚舉的內容可以使用map的方式

枚舉的內容可以使用map的方式 package com.chinamobile.framework.common.enums;import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import jav…