藍橋杯2020 湖北省省賽

2022-07-12 01:45:14 字數 2814 閱讀 7289

c題 蛇形填數

答案:761

**:簡潔

#include#include

#include

using

namespace

std;

const

int maxn = 50

;int

a[maxn][maxn];

intmain()

}else

}k++;

}cout

<20][20]<

return0;

}

e題 七段碼

思路:並查集+bfs

return :強行終止函式繼續執行下去

答案:80

**:

#include#include

#include

using

namespace

std;

const

int maxn = 25

;int

map[maxn][maxn];

int ans = 0

;int

visit[maxn];

intfather[maxn];

void

init()

int find(intx)}

void dfs(int

d) }}}

int k=0

;

for(int i=1;i<=7;i++)

if(visit[i]&&father[i]==i) k++;

if(k==1) ans++;

return ;//

這裡必須要

思路:**:

#include#include

#include

#include

using

namespace

std;

const

int maxn = 2e5+10

;typedef

long

long

ll;char

a[maxn];

int id[27][maxn],nu[27],b[27

];ll ans;

intmain()

for(int i=1;i<=len;i++)

}sort(b+1,b+top+1

);

int last =i;

for(int j=2;j<=top;j++)

ans+=(len-last+1)*top;

}cout

return0;

}

i 平面切分

set去重

思路:思路:

在同一平面內,如果新增的每一條直線互不相交,則每新增一條直線,就會增加乙個平面;當新增一條直線時,這條直線與當前平面內已有直線每產生乙個不同位置的交點時,這條直線對平面總數量的貢獻會額外增多乙個,記為si,則si的值為經過這條直線的點+1,1為直線自身貢獻的平面,結果為每一條直線的貢獻加上最開始的乙個平面,結果為s1到sk的和,k為所有不重合直線的數量,再加上1.

所以我們可以在每新增一條直線時設定乙個空的set,將直線與當前平面內其他直線的交點的xy座標存入set中,如果這一條直線不是重邊,則這條直線的貢獻為set.size()+1,即ans為所有直線的貢獻加上原來的乙個平面.

時間複雜度:o(n

2*log

2n)**:

#include#include

#include

using

namespace

std;

typedef

long

long

ll;pair

p;bool st[1010

];double s[1010][2

];ll ans;

intmain()

else

continue

; }

p.first = (s[j][1]-s[i][1])/(s[i][0]-s[j][0

]); p.second = (s[j][1]*s[i][0]-s[i][1]*s[j][0])/(s[i][0]-s[j][0

]); t.insert(p);

}if(!st[i]) ans+=t.size()+1

; }

cout

<1

<

return0;

}

2020浙江省省賽 B

傳送門 輸入n,k分別表示n個a i 體積物品,箱子最大容量為k,求第一種操作和第二種操作需要多少個箱子。有兩種操作,第一種操作是從1 i 1之間有沒有可以放下第i個物體體積的箱子,箱子編號越前面越好 第二種操作1 i 1之間有沒有可以放下第i個物體體積的箱子,使得箱子數最少。第二種操作很好想直接l...

2020藍橋杯訓練賽 二

1 9的數字可以組成3個3位數,設為 a,b,c,現在要求滿足如下關係 b 2 a c 3 a 請你寫出a的所有可能答案,數字間用空格分開,數字按公升序排列。注意 只提交a的值,嚴格按照格式要求輸出。列舉遍歷,滿足要求的a只會在123 333範圍內,只要檢查一下a情況下,b,c是否全部符合題意,這裡...

2020藍橋杯校內模擬賽題解

第二題 問題描述 在1至2019中,有多少個數的數字中包含數字9?注意,有的數中的數字包含多個9,這個數隻算一次。例如,1999這個數包含數字9,在計算只是算乙個數。include using namespace std intmain cout count endl cout ending.end...