藍(lán)橋杯算法提高訓(xùn)練之遞歸-種樹_第1頁
藍(lán)橋杯算法提高訓(xùn)練之遞歸-種樹_第2頁
藍(lán)橋杯算法提高訓(xùn)練之遞歸-種樹_第3頁
藍(lán)橋杯算法提高訓(xùn)練之遞歸-種樹_第4頁
藍(lán)橋杯算法提高訓(xùn)練之遞歸-種樹_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、問題描述A城市有一個(gè)巨大的圓形廣場,為了綠化環(huán)境和凈化空氣,市政府決定沿圓形 廣場外圈種一圈樹。園林部門得到指令后,初步規(guī)劃出n個(gè)種樹的位置,順時(shí)針編 號1到n。并且每個(gè)位置都有一個(gè)美觀度 Ai,如果在這里種樹就可以得到這 Ai的美 觀度。但由于A城市土壤 肥力欠隹,兩棵樹決不能種在相鄰的位置 (i號位置和i+1 號位置叫相鄰位置。值得注意的是 1號和n號也算相鄰位置?。?。最終市政府給園林部門提供了 m棵樹苗并要求全部種上,請你幫忙設(shè)計(jì)種樹方 案使得美觀度總和最大。如果無法將m棵樹苗全部種上,給出無解信息。輸入格式輸入的第一行包含兩個(gè)正整數(shù) n、m第二行n個(gè)整數(shù)Ai。輸出格式輸出一個(gè)整數(shù),表示

2、最隹植樹方案可以得到的美觀度。如果無解輸出“Error! ”, 不包含引號。樣例輸入7 31 2 3 4 5 6 7樣例輸出15樣例輸入7 41 2 3 4 5 6 7樣例輸出Error!數(shù)據(jù)規(guī)模和約定對于全部數(shù)據(jù),滿足1=m=n=30其中90%勺數(shù)據(jù)滿足m=n=20-1000=Ai=1000參考代碼見下頁參考代碼見下頁參考代碼見下頁/*Powered by Graphene Richards*/#define FLOAT_PRECISION %.2f#define INT_64_MOD%I64d#define UNSIGNED_64_MOD %I64u/#pragma comment(lin

3、ker,/STACK:102400000,102400000)#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define FAST_RW ios_base:sync_with_stdio(0),cin.tie(0);#define IT(x) _typeof(x).begin()#define DIT(x) _typeof(x).rbegin()#define FS(i,a) for(

4、ll i=0;ai;i+)#define FE(x,ctn) for(IT(ctn)x=(ctn).begin(),_en=(ctn).end();x!=_en;x+)#define EF(x,ctn) for(DIT(ctn)x=(ctn).rbegin(),_en=(ctn).rend();x!=_en;x+)#define FR(i,en) for(ll i=0,_en=(en);i_en;i+)#define FOR(i,en) for(ll i=1,_en=(en);i=0;i-)#define ROF(i,en) for(ll i=(en);i0;i-)#define FFR(i,

5、x,y) for(ll i=(x),_en=(y);i=_en;i-)#define ll long long#define ull unsigned long long#define ui unsigned#define lf long double#define pc putchar#define pb push_back#define pq priority_queue#define fi first#define se second#define mp make_pair#define pii pair#define pll pair#define pdd pair#define lb

6、(x) (x&(-x)#define sqr(x) (x)*(x)#define all(x) (x).begin(),(x).end()#define rall(x) (x).rbegin(),(x).rend()#define clr(x) memset(x),0,sizeof(x)#define ms(x,v) memset(x),(v),sizeof(x)#define mc(x,y) memcpy(x),(y),sizeof(y)#define NL puts();#define fin(x,c) (c).find(x)!=(c).end()using namespace std;t

7、emplatebool _IN(T1 x,T2 y,T3 z)return x=z|x=y;ull gcd(ull a,ull b)if(!b)return a;while(bA=aA=bA=a%=b);return a;extern const ll mod;ll ksm(ll a,ll b)ll res=1;a%=mod;for(;b;b=1)if(b&1)res=res*a%mod;a=a*a%mod;return res;#ifdef wmx16835#define NOT_TESTING_TEMPLATE_CPP#includewmx16835.cpp#else#define LOG

8、#define TEL#define PF#define SF(.)#define test(.) 0#define TEST(.) 0#define TRY(.)#define PP#define SHOW_TIME#endifbool S(char*a)return scanf(%s,a)=1;bool S(int&a)return scanf(%d,&a)=1;bool S(bool&a)return scanf(%d,&a)=1;bool S(ui&a)return scanf(%u,&a)=1;bool S(float&a) return scanf(%f,&a)=1;bool S(

9、ll&a) bool S(ull&a) bool S(lf&a) bool S(char&a)bool S(double&a)return scanf(%lf,&a)=1;return scanf(INT_64_MOD,&a)=1;return scanf(UNSIGNED_64_MOD,&a)=1;double res;if(scanf(%lf,&res)=-1)return 0;a=res;return 1;char res2;if(scanf(%1s,res)=-1)return 0;a=*res;return 1; bool SL(char*a) a0=0;while(gets(a)&

10、!a0);return a0;printf(%d,x); printf(%d,x); printf(%u,x); printf(%c,x);printf(%s,x);void _P(const int&x) void _P(const bool&x) void _P(const ui&x) void _P(const char&x) void _P(const char*x) void _P(const string&x)printf(%s,x.c_str();void _P(const ll&x)printf(INT_64_MOD,x);void _P(const ull&x)printf(

11、UNSIGNED_64_MOD,x);void _P(const float&x) printf(FLOAT_PRECISION,x);void _P(const double&x)printf(FLOAT_PRECISION,x);void _P(const lf&x) printf(FLOAT_PRECISION,(double)x); templatebool S(T1&a,T2&b)return S(a)+S(b)=2;templatebool S(T1&a,T2&b,T3&c)return S(a)+S(b)+S(c)=3;templatebool S(T1&a,T2&b,T3&c,

12、T4&d)return S(a)+S(b)+S(c)+S(d)=4;templatebool S(T1&a,T2&b,T3&c,T4&d,T5&e)return S(a)+S(b)+S(c)+S(d)+S(e)=5; templatevoid P(const T1&a)_P(a);pc( );templatevoid P(const T1&a,const T2&b)_P(a);pc( );_P(b);pc( );templatevoid PN(const T1&a)_P(a);NLtemplatevoid PN(const T1&a,const T2&b)_P(a);pc( );_P(b);N

13、Ltemplatevoid PN(const T1&a,const T2&b,const T3&c)_P(a);pc( );_P(b);pc( );_P(c);NLtemplatevoid PN(const T1&a,const T2&b,const T3&c,const T4&d)_P(a);pc( );_P(b);pc( );_P(c);pc( );_P(d);NLtemplatevoid PN(const T1&a,const T2&b,const T3&c,const T4&d,const T5&e)_P(a);pc( );_P(b);pc(1 );_P(c);pc( );_P(d);

14、pc( );_P(e);NLtemplatevoid PA(T*a,int n)bool f=1;FR(i,n)if(f)f=0;else pc();_P(ai); NLtemplatevoid PA(const T&x)bool f=1;FE(it,x)if(f)f=0;else pc();_P(*it); NLint kase;const double pi=4*atan(1);const double ep=1e-9;const int INF=0 x3f3f3f3f;const ll INFL=0 x3f3f3f3f3f3f3f3fll;const ll mod=1000000007;

15、/)const int SIZEN=200010;class Positionpublic:int dlt;int id;void print(void)printf(%d %d),dlt,id););void print(Position p)p.print();bool operator b.id;return a.dltb.dlt;void erase_position(set &S,int A,int k)if(!k) return;set:iterator key=S.find(Position)Ak,k); if(key!=S.end() S.erase(key);int run(int A口,int N,int M)A0=0;static int preSIZEN,nxtSIZEN;memset(pre,0,sizeof(pre);memset(nxt,0,sizeof(nxt);for(int i=1;iN;i+)nxti=i+1;prei+1=i;nxtN=1;pre1=N;static set S;S.clear();int ans=0;for(int i=1;i=N;i+) S.insert(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論