開乙個10位陣列,分別記錄有幾個不同個數。
及時break。
注意不關同步超時。
時間複雜度大概在o(位數*n);
由於資料量小,直接列舉所有點作為圓心,然後記錄與其他點的距離作為半徑(找到最長的)即可。
考試的時候由於沒有看見圓心在發射點上,導致花了很長時間寫最小圓覆蓋(orz)
注意到本題是乙個二叉搜尋樹,也就是說對於任意一點,比他小的在左子樹上,比他大的在右子樹上。
也就是說中序遍歷的時候是從小到大的。
首先用乙個f陣列,記錄一下哪兩個點可以連邊。
(通過最大公約數。)
不妨設定兩個陣列。
l[i,j]表示區間[i,j-1]作為其左兒子是否合法。
r[i,j]表示區間[i+1,j]作為j的右兒子是否合法。
則接下來轉移即可如下:
對於[l,r]其中的k。
若滿足l[l][k]和r[k][r]均合法,則
若l和r恰好是邊界1,n,則正退出輸出。
判斷l-1是否能和k相連,若能則r[l-1][r]置為1;
同理判斷r+1;
全部遍歷完畢後,判斷是否有符合題意的情況即可。
#include
#include
#include
#include
#include
#define ll long long
using
namespace std;
const
int n=
800;
int t;
int n,a[n]
,f[n]
[n],l[n]
[n],r[n]
[n];
int bj=0;
intmain()
if(f[l-1]
[k]) r[l-1]
[r]=1;
if(f[k]
[r+1
]) l[l]
[r+1]=
1;}if
(bj==1)
printf
("yes\n");
else
printf
("no\n");
}}
序設計思維與實踐 CSP M4
題意 題目描述 這一天,tt因為疫情在家憋得難受,在雲吸貓一小時後,tt決定去附近自家的山頭遊玩。tt來到乙個小湖邊,看到了許多在湖邊嬉戲的鴨子,tt頓生羨慕。此時他發現每乙隻鴨子都不 一樣,或羽毛不同,或性格不同。tt在腦子裡開了乙個map 鴨子,整數 tong,把鴨子變成了 一些數字。現在他好奇...
程式設計思維與實踐 CSP M1 補題
a 咕咕東的奇遇 題意咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需...
程式設計思維與實踐 CSP M1補題
題目描述 咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。...