Codeforces 402B 恥辱的一題

2021-06-21 11:51:19 字數 1596 閱讀 7407

這題昨天晚上花了我1個小時50多分鐘來搞,都沒有搞定。。後來看別人**,直接暴力列舉第乙個數的值來做。。最多1000*1000的複雜度。當時怎麼就沒想到呢?還有為啥我的方法不對呢。。

暴力方法**:

#include #include 

#include

#include

#include

#define mod 1000000007

using

namespace

std;

#define n 1007

inta[n];

intmain()

if(cnt

}printf(

"%d\n

",mini);

tmp =now;

for(i=1;i<=n;i++)

}return0;

}

view code

自己的做法:

做乙個參考陣列b,存放1,1+k,1+2k....1+(n-1)k,然後a,b兩陣列(a為原陣列)個元素相減,得出差值陣列cha,且將cha複製乙份給cha2,將cha2從大到小排序,得出差值大於0的最大連續相同的差值(差值小於0肯定不行,因為從1開始的b陣列是底線,比b還**明會小於0,與題意不符),以最大連續差值的這些數為基準,這些數不變,將其他數變為使整個陣列滿足ai+1-ai = k,此時形成標準陣列biao,然後比較a和biao,得出運算元和操作序列。但是就是不對,,不知道為啥,那位好心人如果發現這樣那裡不對歡迎向我指出,謝謝。

自己**:

#include #include 

#include

#include

#include

#define mod 1000000007

using

namespace

std;

#define n 1007

inta[n],biao[n],cha[n],b[n],cha2[n];

int cmp(int ka,int

kb)int

main()

sort(cha2+1,cha2+n+1

,cmp);

int cnt = 1

;

int maxi = 0

;

for(i=2;i<=n;i++)}}

if(cnt >maxi)

for(i=1;i<=n;i++)

}for(j=i;j>=1;j--)

biao[j] = a[i]-k*(i-j);

for(j=i+1;j<=n;j++)

biao[j] = a[i]+k*(j-i);

cnt = 0

;

for(i=1;i<=n;i++)

printf(

"%d\n

",cnt);

for(i=1;i<=n;i++)

else

printf(

"+ %d %d\n

",i,biao[i]-a[i]);}}

}return0;

}

view code

Codeforces 402B 恥辱的一題

這題昨天晚上花了我1個小時50多分鐘來搞,都沒有搞定。後來看別人 直接暴力列舉第乙個數的值來做。最多1000 1000的複雜度。當時怎麼就沒想到呢?還有為啥我的方法不對呢。暴力方法 include include include include include define mod 10000000...

9602 b402 合併果子

time limit 1 second memory limit 50 mb 在乙個果園裡,多多已經將所有的果子打了下來,而且按果子的不同種類分成了不同的堆。多多決定把所有的果子合成一堆。每一次合併,多多可以把兩堆果子合併到一起,消耗的體力等於兩堆果子的重量之和。可以看出,所有的果子經過n 1次合併...

CODEFORCES 535B 解題報告

仍然是水題,但是還是有可以說的地方。主要思路就是dfs可重排列。4,7組成的幸運數字,在n位數字的構造方式有2 n種,而資料是最多9位,則列舉只有512種,n 2的複雜度足矣。只列舉相應位數的4 7排列,前面的個數用2 n累加。只要遵循先選4再選7即可構造字典順序,然後查詢相應數。以下是 可直接ac...