Bzoj3628: [JLOI2014]天天酷跑

3628: [JLOI2014]天天酷跑

Time Limit:?20 Sec??Memory Limit:?128 MB
Submit:?121??Solved:?44
[Submit][Status][Discuss]

Description

在游戲天天酷跑中,最爽的應該是超級獎勵模式了吧,沒有一切障礙,可以盡情的吃金幣,現在請你控制游戲角色來獲得盡可能多的分數。
游戲界面離散為一個長度為1~n,高度為1~m(初始點為(0,1))的矩陣圖。每個格子上都有收益(-1~1000),-1表示該點不能通過。游戲角色從起點一路奔跑向終點,中途可以跳躍來獲得更高的分數,在空中還能進行連跳。游戲開始前你可以設定跳躍的高度,以及能連跳的次數,初始跳躍高度為1,連跳數為1(最多為5),升級跳躍高度和連跳都需要一定的花費。跳躍高度設定完后游戲角色每次跳躍高度都將固定,連跳必須在下落過程中可以使用。所有操作都將在整點上完成,需要保證設定完的跳躍高度及連跳數,無法跳出游戲高度上限。

以下是連跳數為2連跳,跳躍高度為2的跳躍方案:

Input

第一行四個整數n,m,cost1,cost2。n,m如題意所示,cost1,cost2分別表示每升一級跳躍高度,連跳數所需的花費。

接下來m行,每行n個數。第i行第j個數表示地圖中高度為i,長度在第j列處的收益。

Output

如果無法跑出終點線,就輸出“mission failed”,否則輸出一行三個數,分別表示最大收益;及最大收益時,最小的連跳數;最大收益,最小連跳數時,最小的跳躍高度。

Sample Input

7 4 6 10
9 4 7 7 4 3 2
18 8 9 4 15 12 4
19 2 4 7 10 18 12
8 1 13 14 16 0 14

Sample Output

67 1 2

HINT

提示

20%數據滿足 m=2, n<=100000;

另有80%數據 n<=10000,2<m<=20,其中20%數據 2<n<=10,m<=10;

/*定義狀態f[i][j][o]表示處于x,y這個位置,還剩余o次連跳數的最大收益如果是跑——f[i][j][o]=max(f[i][j+1][o]+w[i][j]) w[i][j]為這點的權值;如果是跳的話——f[i][j][o]=max(f[i+跳躍高度(high)][j+high][o--]+hhh+w[i][j]) hhh跳躍上升過程中得到的金幣數。
*/
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
#define inf 1<<30
#define maxn 100010
bool vis[25][maxn][6];
int f[25][maxn][6],map[25][maxn];
int n,m,c1,c2,ans=-inf,ans1,ans2,h,num;
int dfs(int x,int y,int now){if(x>n)return 0;if(map[y][x]==-1)return -inf;if(vis[y][x][now])return f[y][x][now];int tot=-inf,sum=0;bool flag=1;if(y==1)now=0;if(now<num){for(int i=1;i<h;i++){if(map[y+i][x+i]==-1){flag=0;break;}sum+=map[y+i][x+i];}if(flag)tot=max(tot,sum+dfs(x+h,y+h,now+1));}if(y==1)tot=max(tot,dfs(x+1,y,0));if(y>1)tot=max(tot,dfs(x+1,y-1,now));vis[y][x][now]=1;f[y][x][now]=tot+map[y][x];return f[y][x][now];
}
int main(){scanf("%d%d%d%d",&n,&m,&c1,&c2);for(int i=1;i<=m;i++)for(int j=1;j<=n;j++)scanf("%d",&map[i][j]);for(num=1;num<=5;num++){for(h=1;h*num<m;h++){memset(f,-1,sizeof(f));memset(vis,0,sizeof(vis));int tot=dfs(0,1,m)-c2*(num-1)-c1*(h-1);if(ans<tot)ans=tot,ans1=num,ans2=h;}}if(ans>0)printf("%d %d %d",ans,ans1,ans2);else printf("mission failed");return 0;
}

?

轉載于:https://www.cnblogs.com/thmyl/p/7485186.html

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

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

相關文章

python_線程、進程和協程

線程 Threading用于提供線程相關的操作&#xff0c;線程是應用程序中工作的最小單元。 1 #!/usr/bin/env python2 #codingutf-83 __author__ yinjia4 5 6 import threading,time7 8 def show(arg):9 time.sleep(2) 10 print(線程: str(arg)) 11 12 for i in range(…

AppDelegate瘦身之服務化

有沒有覺得你的AppDelegate雜亂無章&#xff1f;代碼幾百行上千行&#xff1f;集成了無數的功能&#xff0c;如推送、埋點、日志統計、Crash統計等等&#xff0c;感覺AppDelegate無所不能。 來一段一般的AppDelegate代碼&#xff0c;來自網上一篇文章&#xff1a; UIApplicatio…

第四章:手機平板要兼顧-探究碎片

碎片是什么&#xff1f; 碎片&#xff08;Fragment&#xff09;是一種可以嵌入在活動&#xff08;Activity&#xff09;中的 UI 片段&#xff0c;它能讓程序更加合理和充分的利用大屏幕的空間&#xff0c;因而在平板上應用的非常廣泛。 碎片的使用方式 靜態嵌入動態加載碎片和活…

Android Studio 3.4增可視化資源管理工具 可管理和預覽項目資源

經過6個月的開發時間&#xff0c;網絡大廠17日發布了最新版的App開發IDE Android Studio 3.4&#xff0c;現在就能夠下載使用&#xff0c;除了有超過300個錯誤修護和穩定度增強之外&#xff0c;在開發、建置和測試App階段&#xff0c;都推出了一些小的新功能和工具&#xff0c;…

Python安裝、使用MySQL數據庫

本機安裝的python版本為Python 2.7(win32 bit) 從http://www.codegood.com/archives/129下載MySQL-python-1.2.3.win32-py2.7.exe&#xff0c;點擊安裝 如果是win版還需要下載&#xff1a;libguide40.dll 和 libmmd.dll這兩個文件&#xff0c;下載后放入到到C:\WINDOWS/syste…

pytorch 安裝

安裝pytorch時&#xff0c;官網不能選擇版本。原以為是瀏覽器問題&#xff0c;換了幾個瀏覽器都不行。 后來FQ之后&#xff0c;就能選擇版本了。 sudo pip install torch torchvision轉載于:https://www.cnblogs.com/rabitvision/p/8908757.html

《JavaScript 高級程序設計》精讀筆記

本系列讀書筆記是我通過學習《Javascript 高級程序設計》第3版時結合自己的理解、概括、精煉然后加以一定的拓展&#xff0c;總結而來的&#xff0c;非常適合具有一定基礎&#xff0c;同時又想把 JS 基礎學更好的童鞋&#xff0c;當然更希望得到大家的反饋于建議&#xff0c;比…

struts2實現文件查看、下載

CreateTime--2017年9月7日10:25:33 Author:Marydon struts2實現文件查看、下載 1.界面展示 <a style"color: #199ED8;" target"_blank" href"<c:url value"/telemedicine/reseCons/viewFile.do?fileName201516529IO.jpg"/>"…

css文本設置

常用的應用文本的css樣式&#xff1a; color 設置文字的顏色&#xff0c;如&#xff1a; color:red; font-size 設置文字的大小&#xff0c;如&#xff1a;font-size:12px; font-family 設置文字的字體&#xff0c;如&#xff1a;font-family:微軟雅黑; font-style 設置字體…

關鍵字static

原文出處&#xff1a;http://cmsblogs.com/ 『chenssy』 一、 static代表著什么 在Java中并不存在全局變量的概念&#xff0c;但是我們可以通過static來實現一個“偽全局”的概念&#xff0c;在Java中static表示“全局”或者“靜態”的意思&#xff0c;用來修飾成員變量和成員方…

[IoC容器Unity]第三回:依賴注入

上節介紹了&#xff0c;Unity的Lifetime Managers生命周期&#xff0c;Unity具體實現依賴注入包含構造函數注入、屬性注入、方法注入&#xff0c;所謂注入相當賦值&#xff0c;下面一個一個來介紹。 2.構造函數注入 Unity利用Resolve方法解析一個對象&#xff0c;都是調用注冊類…

Apache CarbonData 1.5.0編譯及安裝

2019獨角獸企業重金招聘Python工程師標準>>> 一、編譯環境描述 OpenStack創建五個虛擬機&#xff0c;其中1個主節點&#xff08;hostname為bigdatamaster&#xff09;&#xff0c;4個從節點&#xff08;hostname分別為&#xff0c;bigdataslave1、bigdataslave2、bi…

JS控制網頁全屏

在谷歌&#xff0c;IE等瀏覽器中&#xff0c;點擊F11按鍵會進入網頁全屏模式&#xff0c;如同看電影的劇場模式&#xff0c;這個在代碼中可以通過JS來實現&#xff0c;簡單說下在實現這個需求后的個人總結&#xff1a; 底層網頁是已經加載完畢的&#xff0c;這時我們需要的全屏…

HDU 3966-Aragorn's Story 樹鏈剖分+樹狀數組

題目鏈接 題意&#xff1a;有一棵樹&#xff0c;每個節點有權值 有三種操作&#xff1a; I c1 c2 k 從節點c1到節點c2的路徑上每個節點權值增加kD c1 c2 k 從節點c1到節點c2的路徑上每個節點權值減少kQ i 查詢節點i的權值是多少思路&#xff1a; 樹鏈剖分處理出來的鏈放在數組中…

Filter介紹

Filter 可認為是 Servlet的一種 “ 加強版 ”&#xff0c;它主要用于對用戶請求進行預處理&#xff0c; 也可以對HttpServletResponse 進行后處理&#xff0c;是個典型的處理鏈。Filter 也可對用戶請求生成響應&#xff0c;這一 點與Servlet 相同&#xff0c; 但實際上很少會使…

LeetCode算法題-Jewels and Stones(Java實現)

這是悅樂書的第313次更新&#xff0c;第334篇原創 01 看題和準備 今天介紹的是LeetCode算法題中Easy級別的第182題&#xff08;順位題號是771&#xff09;。字符串J代表珠寶&#xff0c;S代表你擁有的石頭。S中的每個字符都是你擁有的一種石頭。計算S中有多少石頭也是珠寶。J中…

python --- 二分查找算法

二分查找法&#xff1a;在我的理解中這個查找方法為什么會叫二分呢&#xff0c;我認為是將要查詢的一個列表分成了兩份&#xff0c;然后在利用某個值來進行比較&#xff0c;在一個不斷循環的過程中來找出我們要找的某一個值。 廢話不多說&#xff0c;先上代碼&#xff1a; 1 de…

面試題

1. block 的作用由來&#xff0c;跟delegate的區別。 2. swift 的枚舉。 3. iOS保存一個對象。轉載于:https://www.cnblogs.com/studyNT/p/7499779.html

ssm框架下文件上傳

springmvc實現文件上傳的步驟&#xff1a; 1.頁面上&#xff0c;通過input來準備file組件&#xff0c;該標簽&#xff0c;必須給定name屬性值 同時&#xff0c;要求form表單必須給定一個屬性&#xff1a;enctype"multipart/form-data" 2.在pom.xml文件中&#xff0c;…

MySQL via EF6 的試用報告

MySQL via EF6 的試用報告1、如何通過 EF6 來連接 MySQL&#xff1f;2、如何通過 EF6 來實現 CRUD&#xff1f;2.1、Create 添加2.2、Retrieve 查詢2.3、Update 修改2.4、Delete 刪除3、如何更好的運用 EF6 來完成工作&#xff1f;3.1、傳說中 EF 的三種模式3.2、EF6 執行原生 …