a.phoenix and balance
題意:給一組數2^1,2^2,……,2^n,然後平均分為兩組,使其兩組和的差絕對值最小
思路:因為2^n增長很快,所以用2^n和最前面的數 (2^1,2^2,……)分為一組,剩下的n/2個數為一組,就是結果,並且列舉幾種情況出來的畫,你就會發現式子可以化簡
題解:
1 #include2 #include3intmain()
14 }
e.nastay and rice
題目:一共五個數n,a,b,c,d,計算(a-b)~(a+b),是否可以通過乘以n和(c-d)~(c+d)有交集
思路:直接進行計算,分情況:1.n*(a+b)在後面區間中;2.n*(a-b)在後面區域中;3.後面區域是前面區域乘完以後的子集
題解:
#include#include#include
#include
#include
using
namespace
std;
intmain()
else
}}
f.nastay and door
題意:給你n,k,n個山峰值,山峰巔峰值就是這座山峰值比其他的都高,問在k個相連續的山峰中,山峰巔峰值個數是多少,並且這k個連續山峰中最左邊的山峰座標是多少
思路:再用乙個陣列,存入此位置是否是山峰巔峰值,是則為1,不是為1,則再用兩層迴圈進行找巔峰值個數最多,並進行儲存新的最左開始座標
題解:
#include#include#include
#include
#include
using
namespace
std;
intmain();
scanf(
"%d %d
",&n,&k);
for(int i=0;i)
for(int i=1;i1;i++)
else
}int sum=0,item=0,h=1
;
for(int i=0;i1;i++)
if(item>sum)
}printf(
"%d %d\n
",sum+1
,h);
}}
d.binary period
題意:給出01組成的字串,進行尋找新的陣列,並且已知陣列可以通過對新陣列的某個位置的數進行刪除得到,並且使其是迴圈陣列,迴圈的部分長度最短,總長度不超過2n
思路:單個迴圈的就直接輸出即可,其他就限制在2n內輸出01進行迴圈就可
題解:
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;
7int
main()else23}
24if(s0==0||s1==0
)28 printf("\n"
);29 }else
35 printf("\n"
);36 }else
40 printf("\n"
);41}42
}43}44 }
c.road to zero
題意:有兩個數x,y,其中乙個數增1或減1的話,需要花費a元,如果兩個數一起減1或加1的話,需要花費b元,詢問xy都變為0時花費的最少錢
思路:直接取最小,分出情況:1.以第一種為主;2.以第二種為主;
題解:
1 #include2 #include3 #include4 #include5using
namespace
std;
6int
main()
20 sum=min(x*b+(y-x)*a,y*b+(y-x)*a);
21 sum=min(sum,(x+y)*a);
22 printf("
%lld\n
",sum);23}
24 }
b.phoenix and beauty
題意:給出n個數,通過進行增加新的數字(數字必須在1-n之間)使得數列任何連續k個數的和相等
思路:通過set進行儲存已知陣列去重,如果set的長度大於k,則輸出-1即可,沒有滿足條件的陣列,如果set長度小於等於k,在k的範圍內,輸出set所存,不足的數字用1來補齊
題解:
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;
7int
main()
19if(s.size()>k) cout<<-1
<20else
2131}32
}33}34
return0;
35 }
最近演算法看的太少了,臨近期末了在忙著給之前的網課贖罪,還是盡力計畫著每一件事情,細分真的能夠穩定下來!
訓練3 習題10
題目 problem description 有一樓梯共m級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第m級,共有多少種走法?input 輸入資料首先包含乙個整數n,表示測試例項的個數,然後是n行資料,每行包含乙個整數m 1 m 40 表示樓梯的級數。output 對於每個測試例項,請輸...
訓練3 習題16
題目 problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被...
訓練3 習題7
題目 problem description 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。...