DP 貪心 一本通例題

2021-10-08 08:00:14 字數 2627 閱讀 6734

水篇部落格

貪心真的好坑

當年我還很菜的時候頂多抄抄標程

然鵝現在發現我還是只能抄抄標程

而且這些簡單的貪心問題還不用考慮複雜度,我真是太菜了

#include

using

namespace std;

#define in read()

int in

struct nodea[

10000

],tmp;

bool

cmp(node u,node v)

intmain()

}printf

("%d\n"

,ans)

;return0;

}

區間選點問題

顯然要使重疊部分種樹盡量多

於是排個序倒著種樹

#include

using

namespace std;

#define in read()

int in

const

int n=

1e6+5;

int n,m;

struct nodea[n]

;bool vis[n]

;bool

cmp(node u,node v)

intscan

(int x)

void

plant

(int x,

int num)

return;}

intmain()

}printf

("%d\n"

,ans)

;}

真♂水題

把區間算出來找合法的,右端點最大的

然後就是各種注意,精度啊,除法啊

太坑了,抄了標程我還對不了qwq

#include

using

namespace std;

#define in read()

int in

const

int n=

1e5+5;

int t,n,l,w,tot;

struct nodea[n]

;bool

cmp(node u,node v)

void

solve()

if(tmp==las&&tmp(flag)

printf

("%d\n"

,ans)

;return;}

intmain()

sort

(a+1

,a+tot+

1,cmp)

;solve()

;}return0;

}

最優排程johnson

使車間空閒時間最少

兩種情況:ai≤

bi,a

i>bi

a_i\leq b_i,\ a_i>b_i

ai​≤bi

​,ai

​>bi

​第一種直接做就可以,第二種看做把a和b反過來

#include

using

namespace std;

#define in read()

int in

const

int n=

1e5+5;

int n;

int a[n]

,b[n]

,m[n]

,s[n]

,ans[n]

;int

main()

int k=

0,t=n+1;

for(

int i=

1;i<=n;

++i)

if(m[i]

==a[s[i]])

else

k=0,t=0;

for(

int i=

1;i<=n;

++i)

printf

("%d\n"

,t);

for(

int i=

1;i<=n;

++i)

printf

("%d "

,ans[i]);

return0;

}

節約費,倒著排

#include

using

namespace std;

#define in read()

int in

const

int n=

1e5+5;

int w,n,cost;

struct nodea[n]

;int mmp[n]

;bool

cmp(node u,node v)

intmain()

if(flag) cost+

=a[i]

.w;}

printf

("%d\n"

,w-cost)

;// for(int i=1;i;++i)

return0;

}

題解 一本通例題 S Nim

color text 這個題就是給 nim 遊戲做了乙個限制。考慮一下 text 函式 給定的局面下對應的 sg 函式值,若 0 則必敗。又有 許多子遊戲組成的乙個遊戲的 sg text n sg i.那麼對於這個題,第一次的想法是對於每乙個子遊戲求一下是不是必勝。這顯然是乙個對 sg 函式了解不足...

資訊學奧賽一本通例題2 8 2 13

include include using namespace std intmain include include using namespace std intmain 執行結果 bbbb 分析 題目中有5位小朋友,他們初始時糖果的數目不確定,用a,b,c,d,e分別儲存5個小朋友的糖果數,初...

貪心演算法 一本通

1322 例6.4 攔截飛彈問題 noip1999 時間限制 1000 ms 記憶體限制 65536 kb 提交數 8465 通過數 3237 題目描述 某國為了防禦敵國的飛彈襲擊,開發出一種飛彈攔截系統,但是這種攔截系統有乙個缺陷 雖然它的 第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高...