最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++ 仿Unity Vector模板(隨緣更新題解)

2021-03-29 00:44 作者:昵稱不能為空voidf  | 我要投稿

翻了差不多一個月Unity的C#的Vector2和Vector3,重構(gòu)了一份自己的實現(xiàn)(

先上代碼

特性

  1. 可以用cout cerr 直接輸出Vector2和Vector3

  2. 基本上直接對接Unity官方文檔,可以參閱https://docs.unity3d.com/550/Documentation/ScriptReference/Vector3.html

  3. 對于三維向量,增加了經(jīng)緯度轉(zhuǎn)換支持

  4. 可以在開頭的using FLOAT_ = 處指定精度

N維向量還在施工中

先上一篇題解:https://codeforces.com/contest/1468/problem/G

題目大意:給定一條高低不平的二維山路,太陽在第n個點之上H高度處,你需要求出從第一個點走到第n個點的過程中被太陽曬到的距離,忽略你的身高,山路如圖以xi,yi的形式給出。


關(guān)鍵點:想到極角排序

思路:我們考慮以太陽放出一條射線,逆時針掃過群峰,發(fā)現(xiàn)每個極值點可能會在前面掃過的點與后一個點之間的路徑產(chǎn)生一個投影,這個投影是太陽會照到的地方與照不到的地方的交點。我們求出這個交點,與前一個點算一下距離然后加入答案中。

畫圖不難發(fā)現(xiàn)投影點的順序與其與太陽連線的斜率有關(guān)

具體做法:將每個折線的點與太陽連線,算出這條線的斜率,并且依據(jù)斜率將點升序排序,然后遍歷這些點,算出每條線段與下一個投影點的投影產(chǎn)生的貢獻(xiàn),一旦有貢獻(xiàn),將投影點之后的線段記為待處理線段,往后迭代。

細(xì)節(jié):點與投影點與太陽共線時,要根據(jù)情況查看線段是否可以計入貢獻(xiàn)。所以排序的第二關(guān)鍵字最好是x坐標(biāo)。

模板代碼:


C++ 仿Unity Vector模板(隨緣更新題解)的評論 (共 條)

分享到微博請遵守國家法律
西昌市| 澄江县| 新绛县| 大兴区| 桃园市| 祥云县| 京山县| 万山特区| 黄大仙区| 眉山市| 青岛市| 巴林左旗| 清苑县| 泸西县| 凤凰县| 威远县| 上栗县| 福海县| 十堰市| 新密市| 泰州市| 合阳县| 松阳县| 扎囊县| 长丰县| 灌南县| 古蔺县| 太谷县| 清丰县| 运城市| 西青区| 仙桃市| 平顺县| 南城县| 青川县| 浪卡子县| 昔阳县| 乌恰县| 翁牛特旗| 河北省| 清河县|