洛谷 P1728 「程式設計題」

2021-12-29 19:57:04 字數 1079 閱讀 2414

題目背景

高手在一年級、找不到可以怎麼樣來鄙視小盆友以獲得女神的歡心,於是他決定玩電競來藐視那些連開機都不知道要按**的小盆友。他玩的遊戲叫「minecraft」,其中乙個核心的內容是給技能加點(minecraft要加點?),他找到你,並答應如果自己追到了女神,他就請你去他家吃飯,油炸蘋果、香辣梨子、水煮活鳥什麼的隨你選。他想要技能達到最大威力值。

題目描述

這是乙個技能樹(或者科技樹).格仔上的數,是威力值.要先學會第一排第二個和第三個,才能學會第二排的第二個.每個技能學習的前提都是左上和右上的兩個技能.假設現在有乙個第一層有n個技能的技能樹,而且技能點是有限的,只能學習m個技能,我們想知道最大的威力值之和是多少.

輸入輸出格式

輸入格式:

第一行兩個數n和m,如題所述

之後n行,第i行,有n+1-i個數.表示乙個技能樹.

輸出格式:

輸出乙個數,表示最大威力值之和

輸入輸出樣例

輸入樣例#1:

4 51 1 1 1

1 2 1

1 11輸出樣例#1:

6說明對於40%的資料,n<=10

對於100%的資料,n<=50,m<=500,所有資料都在longint之內.

首先,把三角形倒過來看

1 2 3 4 4

2 3 4 3 4

3 4 ==> 2 3 4 (這裡的數字是表示狀態型別)

4 1 2 3 4很顯然,我們在取左邊的某個狀態型別 i 的數字時候,該數下方的數以及右邊一列中與它狀態型別相同的那個數字也一定被取過

而右邊的那個數在三角形中的位置就是當前所要取得數字的位置向下移一格後再向右左移一格

那麼,我們只要從右往左列舉列 i,以及該列上取到高度 j,那麼很顯然左邊一列取到的高度 h 必須滿足 0≤h≤j+1,然後我們就可寫乙個 dp

f[i][j][k] 表示第 i 列,從下往上取 j 個數字,總共取了 k 個數字

轉移方程: f[i][t][k]=max(f[i+1][j][k?t]+sum[i][t],f[i][t][k]),0≤t≤j+1,sum[i][t]是第 i 列向上取 t 個數的和

洛谷 P3601 簽到題

題目描述 我們定義乙個函式 qiandao x 為小於等於x的數中與x不互質的數的個數。這題作為簽到題,給出l和r,要求求 i lrqi anda o i mo d666623333 sum r qiandao i mod 666623333 i lr qian dao i mo d666 6233...

洛谷P3601 簽到題

我們定義乙個函式 qiandao x 為小於等於x的數中與x不互質的數的個數。這題作為簽到題,給出l和r,要求求 sum r qiandao i mod 666623333 先線性篩出 1 sim 10 6 的質數,然後計算他們對 l sim r 的數的貢獻即可。注意噹噹 l sim r 的數最後可...

洛谷P1500 丘位元的煩惱 程式設計題

隨著社會的不斷發展,人與人之間的感情越來越功利化。最近,愛神丘位元發現,愛情也已不再是完全純潔的了。這使得丘位元很是苦惱,他越來越難找到合適的男女,並向他們射去丘位元之箭。於是丘位元千里迢迢遠赴中國,找到了掌管東方人愛情的神 月下老人,向他求教。月下老人告訴丘位元,純潔的愛情並不是不存在,而是他沒有...