NKOJ P2455 東方幻想鄉 動態規劃

2021-08-21 07:51:36 字數 1473 閱讀 9816

題外話:

這道題….考試的時候我居然沒有做出來….沒有做出來….我硬生生想了半天二維狀態我推不走…..然後正解是一維…..也確實不難…..這就很難受了…..我已經好幾道一維dp

d

p我完全想成二維推不走了…..

其實就是乙個簡單的動態規劃了….寫這篇題解來悔過一下吧…..

首先我們要求出每個點過平行於已知直線的在y軸上的交點,不妨設已知直線的斜率為k,某個點的座標為(p

,q) (p,

q)

,那麼過這個點的平行於已知直線的在y軸上的交點的座標為(0

,q−k

∗p) (0,

q−k∗

p)

,然後我們按照這個座標排個序就可以了,不妨從小到大排序..dp

[i] dp[

i]

表示前i i

個點可以得到的最大貢獻,那麼很顯然的狀態轉移方程….如下:dp

[i]=

max(

dp[i

],(v

al[i

]−va

l[j]

)∗(m

ul[i

]−mu

l[j]

)i−j

)' role="presentation">dp[

i]=m

ax(d

p[i]

,(va

l[i]

−val

[j])

∗(mu

l[i]

−mul

[j])

i−j)

dp[i

]=ma

x(dp

[i],

(val

[i]−

val[

j])∗

(mul

[i]−

mul[

j])i

−j)

#include 

#include

#include

#include

#include

#define db double

#define sg string

#define ll long long

using

namespace

std;

const ll max=3e6+5;

const db pi=acos(-1);

struct nodeg[max];

ll n,m;

db dp[max],val[max],mul[max];

bool cmp(node p,node q)scanf("%lld",&m);k=tan((db)(pi*m/180.0));

for(i=1;i<=n;i++)

sort(g+1,g+1+n,cmp);

for(i=1;i<=n;i++)

for(i=1;i<=n;i++)

2455 繁忙的都市

2005年省隊選拔賽四川 時間限制 1 s 空間限制 128000 kb 題目等級 大師 master 題解城市c是乙個非常繁忙的大都市,城市中的道路十分的擁擠,於是市長決定對其中的道路進行改造。城市c的道路是這樣分布的 城市中有n個交叉路口,有些交叉路口之間有道路相連,兩個交叉路口之間最多有一條道...

NKOJ P1377 火燒赤壁

一道從初學以來一直沒有a掉的題 果然還是我太菜了 kono題面噠!曹操平定北方以後,公元208年,率領大軍南下,進攻劉表。他的人馬還沒有到荊州,劉表已經病死。他的兒子劉琮聽軍聲勢浩大,嚇破了膽,先派人求降了。孫權任命周瑜為都督,撥給他三萬水軍,叫他同劉備協力抵抗曹操。隆冬的十一月,天氣突然回暖,颳起...

NKOJ P3721 雷公蟲 模擬

題目by nodg d byn odgd 問題描述 雷公蟲,學名蜈蚣。雷公蟲與蛇 蠍 壁虎 蟾蜍並稱 五毒 且位居五毒之首。眾所周知,蜂窩往往由很多等大密鋪的正六邊形組成,這每乙個正六邊形是 乙個房間。其實雷公蟲的巢穴也是這樣的構造,不同的地方在於,相鄰的房間並 不是完全的牆壁間隔,而是有通路的。準...