8 10 集訓日記

2021-08-06 01:13:25 字數 1207 閱讀 2539

今天上午看了有關單調佇列的課件,明天一起整理。

下午做了練習賽,在這兒寫一下ac的三道題。

b題,很水的一道題,求數字金字塔中經過數字的最大和。

ac**及註解如下:

#include

using namespace std;

int a[351][351];

int main()

for(int i=n-1;i>=1;i--)//

倒序上去

}cout<}d

題是求n

個數中最大素因子所在的那個數。

**如下:

#include

#include

#include

using namespace std;

int a[20001]=;

int main()

}int n;

int t;

while(cin>>n&&n!=-1)//wa

兩次才知道這個題要求多組輸入

}cout<}}

e題和之前做的棋盤走馬的題類似,有乙個

5*5的棋盤,每個格仔上有乙個數,從乙個格仔出發,走五步(每步只能到達相鄰的格仔),形成乙個六位數(可以有前導

0),問一共可以形成多少種不同的六位數。

這個題最開始是套路的之前那個題,結果發現自己不知道怎樣判斷所有六位數是否相同,試了幾種方法都沒能表達出來,搜了題解發現有使用

set去重複的,用上之後就

ac了。

**及註解如下:

#include

#include

#include

#include

#include

using namespace std;

char map[6][6],path[10];

int u[4]=,

v[4]=;//

四個方向

set cnt;//set

去重複string tmp;

void dfs(int x,int y,int step)

//儲存

6位數到

tmpcnt.insert(tmp);//

無重複的放入

cntreturn;

}for(int i=0;i<4;i++)

}int main()

另外三道題有了思路但還沒來得及寫,晚上再看一下吧。

以上~

8 1 集訓日記

今天看了有關容斥原理的幾篇部落格。容斥原理的基本思想是 先不考慮重疊的情況,把所有物件的數目求出,然後再把計數時重複計算的數目排斥出去,使得計算的結果既無遺漏又無重複。首先是乙個經典的互素問題 hdoj 4135 co prime 題目大意是 給定a,b,n,求區間 a,b 中與n互素的數的個數。思...

8 4 集訓日記

今天看了有關組合數學的一些內容。首先,排列組合的 為 ll c ll n,ll m ll a ll n,ll m 一道組合數學 位運算的題,hdoj4810 wall painting 題目大意 有一位畫家,有 n種顏料,給出 n種顏料的值。然後在1到 n天中,他每天都會選擇相應天數的顏料數進行混合...

8 9 集訓日記

今天才知道好像要發好幾十篇部落格之後才不用審核 今天把數論的課件看了看,算是再複習一遍,掌握的更好吧。都是之前學過的內容,只是有些記不清的,也沒什麼好寫的,這裡整理一下位運算的課件吧。位運算 一 位運算子及規則1 按位與 全真則真 一假則假2 按位或 一真則真3 按位異或 同則假 異則真4 左移5 ...