水篇部落格
貪心真的好坑
當年我還很菜的時候頂多抄抄標程
然鵝現在發現我還是只能抄抄標程
而且這些簡單的貪心問題還不用考慮複雜度,我真是太菜了
#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 題目描述 某國為了防禦敵國的飛彈襲擊,開發出一種飛彈攔截系統,但是這種攔截系統有乙個缺陷 雖然它的 第一發炮彈能夠到達任意的高度,但是以後每一發炮彈都不能高...