bzoj2697特技飛行
題意:n個單位時間,每個單位時間可以進行一項特技動作,可選的動作有k種,每種動作有乙個刺激程度ci。每次動作的價值為(距上次該動作的時間)*ci,若為第一次進行該動作,價值為0。求最大總價值。n≤1000,k≤300。
題解:因為如果同個動作做3次,不如只做頭尾兩次更好。所以把動作按ci降序排序,把ci大的盡量放在兩端。
**:
1 #include 2 #include 3 #include 4 #include 5#define inc(i,j,k) for(int i=j;i<=k;i++)
6#define maxn 1010
7using
namespace
std;
89 inline int
read()
12while(ch>='
0'&&ch<='
9')x=x*10+ch-'
0',ch=getchar();
13return f*x;14}
15int
n,k,a[maxn],ans;
16int
main()
21 printf("
%d",ans); return0;
22 }
20160812
bzoj 2697 特技飛行
神犇航空開展了一項載客特技飛行業務。每次飛行長n個單位時間,每個單位時間可以進行一項特技動作,可選的動作有k種,每種動作有乙個刺激程度ci。如果連續進行相同的動作,乘客會感到厭倦,所以定義某次動作的價值為 距上次該動作的時間 ci,若為第一次進行該動作,價值為0。安排一種方案,使得總價值最大。第一行...
BZOJ 2697 特技飛行
k 1 le k le 300 種物品,價值分別為 c i 0 le c i le 1000 有 n 1 le n le 1000 分鐘,每分鐘可以選擇乙個物品 i 價值為距離上次選擇該物品的時間 c i 求最大價值。發現對於一種物品,價值為 c i sum t j t c i t a t 1 t ...
bzoj2697 特技飛行 貪心
神犇航空開展了一項載客特技飛行業務。每次飛行長n個單位時間,每個單位時間可以進行一項特技動作,可選的動作有k種,每種動作有乙個刺激程度ci。如果連續進行相同的動作,乘客會感到厭倦,所以定義某次動作的價值為 距上次該動作的時間 ci,若為第一次進行該動作,價值為0。安排一種方案,使得總價值最大。第一行...