個人訓練 (POJ1837)Balance

2021-08-08 22:47:33 字數 965 閱讀 4966

這幾天抓住國慶的**時間(因為沒有女朋友,天天刷題emmmm 其實還在肝少前還要撈秋刀魚) ,重點攻克掉幾個基本的地方:搜尋、dp、圖論。這幾天的題目應該就是這些範圍。

原題的意思大概是這樣的,有個天平,上面一堆掛鉤,然後一堆砝碼,砝碼掛在掛鉤上面,問平衡的情況有幾種。

顯然不能窮舉,因為o(

2020

) 的複雜度太高了。我們不妨換個思路想:在我們放上乙個砝碼的時候,究竟發生了什麼?

我們可以放在任何乙個掛鉤上,有

c 個決策。他們產生了什麼影響?我們採取第ci

個掛鉤放置第

i 個物品時,令我們從k−

1個物品產生力臂和為

x 的狀態轉移到了

k個物品產生力臂和為x+

ci×w

i 的狀態上去。由此,我們得到了這樣的乙個狀態轉移方程:(上下符號不統一) dp

[i][

j+c[

i]×g

[k]]

=∑dp

[i−1

][j]

說的應該還是有些囉嗦,以後再改吧,唉。。。

這份**基本上和網上另外乙個dalao是一樣的,因為跟著ta的思路走的。太菜了啊,唉。。。。

#include 

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

unsigned

long

long ull;

int rep[24],val[24];

int dp[25][15005];

int main()

演算法 動態規劃poj1837

複習了動態規劃 0 1揹包問題,核心方程就是 if c i j f i j f i 1 j 如果揹包的容量,放不下c i 則不選c i else f i j max f i 1 j f i 1 j c i v i 這裡註明一點,i指代物品數量,j指代揹包容積,那麼有兩種情況,乙個是不要第i件物品,那...

POJ 1837 天平問題

主要參考 題目 題意 有乙個天平,左臂右臂各長15,然後給出n,m,n代表有幾個掛鉤,掛鉤給出負數代表在左臂的距離,正數則在右臂 m代表有m個砝碼,要你求出使得這個天平保持平衡有幾種方法,要求所有砝碼全部使用完 思路 首先我們先要明確dp陣列的作用,dp i j 中,i為放置的砝碼數量,j為平衡狀態...

POJ 1837 簡單 DP 二逼 DP

這個題,讓我看到就想到最長上公升子串行,1000的大小,n 2 就可以 但是注意到,最高的兩個士兵可以是相同身高的,所以,再求出左右兩個最長上公升子串行之後,最後得出結果的時候要注意這一點。這個地方 wa 了好多次,這個題目的通過率這麼低 應該就是這個點。include include includ...