部分最優,結果最優(需證明)
貪心問題的特徵:
1、乙個問題的最優解包含其子問題的最優解
2、整體最優解可以通過區域性的最優的選擇
老鼠的旅行
#include
using
namespace std;
struct sa
data[
1001];
intcmp
(const sa &a,
const sa &b)
int m,n;
double sum;
int k;
intmain()
sort
(data,data+n,cmp)
;for
(k=0
; k)else
}printf
("%.3f\n"
,sum);}
return0;
}
今年暑假不ac
#include
using
namespace std;
struct sa
data[
105]
;int
cmp(
const sa &a,
const sa &b)
intmain()
} cout<}return0;
}
wooden sticks
#include
using
namespace std;
struct sa
data[
5005];
intcmp
(const sa &a,
const sa &b)
//注意排序的方式
intmain()
sort
(data,data+n,cmp)
;int num=0;
for(
int j=
0; j} cout<}return0;
}
moving tables
#include
using
namespace std;
struct sa
data[
501]
;int
cmp(
const sa &a,
const sa &b)
intmain()
data[i]
.flag=0;
}sort
(data,data+n,cmp)
; count=0;
for(
int j=
0; j} cout<10<}return0;
}
區間覆蓋-貪心
#include
using
namespace std;
int x[
300]
,y[300];
intmain()
/*for(int i=1; isort
(y,y+n,greater<
int>()
);/*for(int i=1; iint res=x[n]
-x[1];
//cout(int i=
0; i1; i++
) res=res-y[i]
; cout<1
}
等價交換
#include
using
namespace std;
struct sa
data[
1000];
double
cmp(
const sa &a,
const sa &b)
intmain()
sort
(data,data+m,cmp)
;double ans=
0.0;
for(
int i=
0; i)else
}printf
("%.2lf\n"
,ans);}
return0;
}
ACM選修課1 數學問題
memset 函式 memset 陣列名,1 0 1,sizeof a 重置為1是陣列為任意正數 求乙個數的位數 int log10 n 1,公式log10 i i 必須為double型別 the hardest problem ever include using namespace std in...
ACM程式設計選修課 1081 堆(BFS)
time limit 1 sec memory limit 128 mb submit 26 solved 9 3110 310 5 3 1 21 3 51 2 3 4 5 3 12 1 2 42 5 yes noyes 嗯好久之前的題了。由於自己樹這方面不是很懂也沒學過資料結構,然後就沒敢做。趁著...
python選修課大作業
設計內容 輸入乙個正整數s s 2 輸出所有和為s的連續正整數序列。要求先輸出符合要求的序列的數目,然後分行輸出各個序列。設計要求 使用python程式設計。例如,一組連續正數和為100的序列 18,19,20,21,22。1 找出所有和為s的連續正數序列。設計內容 輸入乙個正整數s s 2 輸出所...