AcWing 98 分形之城

2022-09-14 20:12:22 字數 539 閱讀 6093

原題鏈結

考察:分治

令人嘔吐的分治

思路:直觀思路是找到a,b的直角座標,然後求距離和.這裡的分治是遞迴到最底層,然後根據等級i到等級i+1的座標變化,算出直角座標.可以發現將圖分為4個模組時,每個等級的變換規則相同.

#include #include #include using namespace std;

typedef long long ll;

typedef pairpii;

pii calc(int n,ll a)

; ll len = 1ll

pii p = calc(n-1,a%(mid*mid));

if(!pos) return ;

else if(pos==1) return ;

else if(pos==2) return ;

else return ;

}int main()

return 0;

}

ACwing 98 分形之城 分形

題面來自acwing 城市的規劃在城市建設中是個大問題。不幸的是,很多城市在開始建設的時候並沒有很好的規劃,城市規模擴大之後規劃不合理的問題就開始顯現。而這座名為 fractal 的城市設想了這樣的乙個規劃方案,如下圖所示 當城區規模擴大之後,fractal 的解決方案是把和原來城區結構一樣的區域按...

分形之樹(Tree)

似乎每乙個有關分形的教程都要講到分形樹,大概是因為樹是生活中最常見的分形實物吧。這一節將展示下如何一步一步地生長出一棵樹來。其實現演算法不難,就是在每一次生長迭代中,使線段生長出幾條新的線段來。核心 static void fractaltree const vector3 vstart,const...

分形之康托 Cantor 三分集

1883年,德國數學家康托 g.cantor 提出了如今廣為人知的三分康托集,或稱康托爾集。三分康托集是很容易構造的,然而,它卻顯示出許多最典型的分形特徵。它是從單位區間出發,再由這個區間不斷地去掉部分子區間的過程。三分康托集的構造過程是 第一步,把 閉區間 0,1 平均分為三段,去掉中間的 1 3...