BZOJ4244 郵戳拉力賽 dp

2021-09-02 22:16:38 字數 929 閱讀 6777

題目鏈結

題意:

題解:cwbc講課因為時間原因沒講到的一道題,結果正睿rxd的模擬賽

感覺還是很神仙的,我感覺我好像不太能想出來這個題啊。

一道神仙dp題。我們發現,最後答案一定需要從0到n+1,一定要用這(n+1)t的時間。我們考慮如果我們到了下行的某個位置,那麼他一定會再在某個位置再回到上行,那麼除了我們從上行的0走到n+1的,其他的構成了若干個環,這些環在後面的某個位置從上行切換到下行,再在前面的某個位置從下行切換到上行。我們遇到乙個下行到上行的切換看作乙個左括號,乙個上行到下行的切換看作乙個右括號,那麼,乙個合法的走法一定是乙個合法的括號序列。由於下行到上行之前會先往編號小的點走,所以我們設dp[i][j]為前i個位置,當前遇到的下行到上行的切花比上行到下行的切換次數多了j次的最小路徑長度。我們可以發現,其實轉移只有6種,一種是在當前點的上行位置拿郵戳再回來,從下行拿郵戳再回來,從上行拿郵戳再到下行,從下行拿郵戳再到上行,從上乙個位置到當前這個位置的上行,再拿郵戳回上行,從上乙個位置到當前位置的下行再拿郵戳回下行。後兩種裡面要加乙個2t*j,因為每乙個沒完成環都會在當前位置在上行和下行各貢獻一次答案。最後答案別忘了加上(n+1)*t。

**:

#include

using

namespace std;

int n,t,u,v,d,e;

long

long dp[

3010][

3010];

intmain()

printf

("%lld\n"

,dp[n][0

]+(long

long

)(n+1)

*t);

return0;

}

CodeVS4244 平衡樹練習

第一行輸入兩個正整數m和n。第二行m個數字表示這個數列。第三行n個數字表示需要判斷的數字。輸出共一行n個0或1,0表示這個數字不存在,1表示存在。2 22 4 2 51 0 輸入數字保證不超過maxint。有節操的人不用set 二叉排序樹可以a include include define n 10...

全志A31S(android 4 2 4 4)截圖

轉眼畢業也快三年了。最近找不到方向,有點迷茫了。主要是找不到什麼事情去做,可能因為自己不是乙個願意主動去學習的人。閒著也是沒事,就把自己接的一些私活的原始碼分享出來寫寫blog吧,算是給自己一點活做吧。言歸正傳,最近在做的乙個私活中某乙個功能是廣告機 android,已經root了 截圖然後傳給其他...

4244 五校聯考6day2 yi

小明是 星際旅遊公司的員工,負責安排飛船,有n 艘飛船由他管理,每艘飛船能容納的人數都不同。今天小明被要求為乙個去銻星的旅遊團安排往返的飛船,旅遊團有m人,小明希望用最少的飛船完成任務。但不是所有的飛船都能用的,地球和銻星距離k镾 此單位由銻星人發明,後在星際旅遊業界廣泛使用 而每一艘飛船加滿燃料後...