這一次訓練總結是9月8日到9月10日。
這段時間的主要目的是參加網路賽鍛鍊自己,同時看線段樹的相關知識。不過知識還是沒看多少,大部分時間還是用在了作業上。。。那麼就說一下週六參加的比賽吧。
週六下午的比賽是烏魯木齊的一場網路賽,題目對於dalao來說好像非常簡單,有34個隊ak了。但是對於我們來說題目依然挺難,以至於只出了4道題。下面我來說明一下我參與的三道「水題」...
c題(送分題):一共有n座城市,每天要喝b瓶果汁,從第乙個城市出發,依次到第n座城市,到第i個城市獲得ai瓶果汁,從第i個城市到第i+1個城市需要ci天,問他遊覽城市的時候是否每天都能喝到足夠的果汁。
思路:簡單暴力無需多言
**:
#include#include#include#include#include#includeconst double pi=acos(-1.0);e題(簽到題,佩爾數):ti是(i+1)*i/2,i<1e16,給你乙個n,求大於等於n的最小i使ti是平方數。using namespace std;
int a[1010];
int b[1010],c;
int t;
int n,m,flag,f,g,x,y,z,nn,mm;
int main()}}
return 0;
}
滿足條件的數並不多,於是嘗試打表,但是暴力出數太慢,最後終於發現它和佩爾數有關。佩爾數a=1,a=2,然後遞推公式為a[i]=2*a[i-1]+a[i-2]。
題目中要求的數,奇數項為佩爾數的平方,偶數項為該項的佩爾數加上上乙個佩爾數和的平方的兩倍。注意超過16位就輸出-1,陣列開long long就可以。需要注意while scanf就錯!!!
方法是暴力打表,**如下:
#include
#include
#include
#include
using namespace std;
long long int a[101];
long long int b[101];
int main()
else
//cout<10000000000000000)
else if(n<=b[i]) }
} }h題(水題,dp):有n座島嶼,給出m種建橋方法,每種方法包括從第a個島嶼到第b個島嶼建的橋長度,問你怎麼建橋最長。顯然是dp,不過開二維陣列會mle,用結構體就可以。
有點玄的ac**如下:
#include#include#include#include#include#includeconst double pi=acos(-1.0);
using namespace std;
struct point
cout《至於線段樹,仍然還在緩慢的看資料。。。狀態相比於三天前好一點了,繼續加油吧。
2023年11月9日訓練總結
這次訓練日記是11月6日到11月9號。總體來說,數字dp專題清掉了所有的水題。剩下的題暫時還沒想出怎麼做,而且我也只會遞迴這一種寫法。狀態轉移的寫法只會簡單的 cf打了一場比賽 慘,2題 昨晚打了一場比賽 較慘,3題 看了字典樹的模板,但是還未應用去a題。看樣子應該不太難。這幾天狀態不太好,一是因為...
2023年9月14日訓練日記
今天上午再實驗室待了兩節課,看了看線段樹的資料,但這兩天沒有做題,線段樹專題已經過了大部分時間,但是進度確實慢了,接下來要緊張起來了,大二這段時間是很關鍵的,要把握好,多用些精力在acm上,我覺得接下來最主要的就是行動起來,多多少少去做,有乙個積累。那麼對於時間問題,當前最可以利用的時間就是下晚自習...
2023年11月30日訓練總結
這次訓練總結是11月27日 11月30日。等待的狀壓dp專題終於開了。第一次看資料覺得它挺好玩,然而做題目的時候發現並不好做。特點 給的n,m至少有乙個比較小,或者狀態數比較少但不是特別少。經典的題目有放木塊 排兵布陣等。我見過的有兩種寫法,一種是用dfs來列舉狀態,另一種是直接for迴圈列舉每種狀...