一些奇怪的東西?
點到鏈的距離
設點 k,鏈的端點 (i,j),點到鏈的距離為 D。
定義 d[i,j]表示點 i到點 j的距離。
可得 D=2d[i,k]+d[j,k]−d[i,j]
原理如圖:
矩形的相交區域座標
設黑色矩形左上角座標 ( x1 , y1 ),右下角 ( x2 , y2 ) ;
紅矩形左上角座標 ( a1 , b1 ),右下角 ( a2 , b2 )。
根據重點公式,可以算出 O1=(2x1+x2,2y1+y2),O2=(2a1+a2,2b1+b2)。
所以相交的條件就是:
abs(2x1+x2−2a1+a2)<=2x2−x1+2a2−a1
且
abs(2y1+y2−2b1+b2)<=2y2−y1+2b2−b1
整理得
abs(x1+x2−a1−a2)<=x2−x1+a2−a1
且
abs(y1+y2−b1−b2)<=y2−y1+b2−b1
判斷完相交,就是求相交部分的座標了。
也很好看出來,左上角是 (max(x1,a1),min(x2,a2)),右下角是 (max(y1,b1),min(y2,b2))。
假的範圍?
對於一些大得詭異的資料範圍,可以先計算下是不是真的需要處理這麼大的範圍。
有時候資料大到一定程度可以直接輸出不用考慮。
相關推薦
一些奇怪的東西?
點到鏈的距離 設點 k k k,鏈的端點
樹的一些基礎東西
時間戳 str class family 樹的重心 過程 lock void 容易 1、時間戳: 按照dfs的過程,將每個節點第一次被訪問的順序(v[x]被標記為1時),依次給這n個節點標記1~n的數字即該節點的時間戳。 代碼: 1 void df
(轉) 關於Linux QQ的一些好東西
tar.xz qq安裝 col 技術分享 成了 tex post bsp cal 原帖:https://www.cnblogs.com/sangewuxie/p/7477261.html 我一直無法解決Ubuntu QQ問題,而最近我重裝ubuntu之後在網絡上找到與QQ相
最詳細爬蟲入門教程!花半小時你應該就能去爬一些小東西了!
爬蟲入門 request -a load() 簡單 agent urllib2 com 入門教程 爬蟲對目標網頁爬取的過程可以參考下面黑色文字部分: 首先訪問初始url,獲取其相應內容對相應內容進行解析,提取感興趣的信息和新的鏈接將上一步提取到的數據存儲,將獲取到
一些小東西
快讀快讀快讀 1 inline int rd(){ 2 int x=0,f=1; char ch=getchar(); 3 while(!isdigit(ch)) {f=ch=='-'?0:1; ch=getchar();} 4 while(isdigit(ch)) {
SpringCloud的一些奇怪的錯誤(持續更新)
1。Load balancer does not have available server for client: 提供服務的專案已經註冊到註冊中心,當消費者呼叫的時候報無可用的服務。 解決方案: 檢查防火牆,關閉它 檢查spring.application.
一些奇怪的Linux命令名稱
1、awk = “Aho Weinberger and Kernighan” 這個命令的名稱來自它的作者的名稱,分別是 Al Aho, Peter Weinberger 和 Brian Kernighan. 2、grep = “Global Regular Expression Pr
一些奇怪的板子
1、猴子排序(Monkey_Sort) 號稱最優複雜度最低的排序演算法 最快複雜度:\(O(n)\) 最慢複雜度:\(O(+\infty)\) 平均複雜度:\(O(n\times n!)\) 演算法思路: 1、檢查資料是否有序,若有序,goto 3;若無序,goto 2 2、隨機打亂資料,goto 1
golang的for range原理以及引致的一些奇怪問題
基本用法 下述兩個函式test1與test2執行結果有何區別? func test1() { intArray := []int{1, 2, 3, 4} for _, val := range intArray { val++ } // 仍然為[1, 2, 3, 4]
springboot的@cachePut在使用資料庫更新資料時一些奇怪的問題
在使用@CachePut來更新快取的時候,控制檯報如下錯誤: java.lang.ClassCastException: java.base/java.lang.Integer cannot be cast to java.base/java.util.List a
Unity的一些基礎性東西
1.Unity是單執行緒的遊戲引擎,unity的非主執行緒中無法訪問Unity的API,這種限制的原因:遊戲中邏輯更新和畫面更新的時間點要求有確定性,必須按照幀序嚴格保持同步,否則就會出現遊戲中的物件不同步現象。 2.生命週期:我們在自己腳本里寫OnApplicationQuit,OnDisab
一些奇怪的坑
之前LCT的那個坑點集合 由於我 太能叨叨 棄掉了 於是 新開一個QAQ ——資料結構—— 1.ST表 注意溢位 log是一個非常慢的運算 經檢測至少是 lglg級別 所以儘量預處理 2.LCT splay 的時候 注意更改父親的順序 ——強制轉換—— 1.
做EEPROM的測試中發現一些奇怪問題。器件讀寫地址不唯一。
在做EEPROM的AT24Cxx實驗中發現對晶片讀寫地址的不唯一問題。測試主要針對AT24C02和AT24C1024兩款晶片進行測試,採用的是官方韌體庫的硬體I2C程式設計。 問題描述: 做過AT24Cxx的都知道,在AT24Cxx寫資料時候,程式中需要一條傳送7位的從器件
CSS的一些新東西
str 新特性 aspect 這就是 stand ima 隨著 更改 依賴 很多同學估計都有類似的問題,怎麽才能第一時間獲取到有關於CSS相關的新特性呢?有關於這個問題,並不是一個很復雜的問題 如何理解規範的形成 任何一個規範的形成都是一個漫長的過程,到目前為止,W3C對
perl http 請求一些奇怪的問題
https://user.95516.com/uc-cdhd-web/rest/reg/sendmobilecaptcha/?mobile=17706507805&msgType=01 mobile=18xx722237 msgType=01 http://l
ASP.NET一些常用的東西
reset net 自動添加 pbo 參數 發送 單擊 字段 face 三層架構的命名: UI: User Interface (數據顯示層 用戶界面)BLL:Business Logic Layer (業務邏輯層)DAL:Data Access Layer (數據訪問層)
一些被廢棄的東西
error family pan ros mic length query span jquery 1. error方法在jquery版本1.8中被廢棄。 2. size方法在jquery版本1.8中被廢棄,以後的方法用length。一些被廢棄的東西
關於yum的一些基本的東西
信息 基本 處理 bsp 數據庫文件 服務器 操作 centos 歷史 1 sqlite數據庫的使用 第一,某個centos版本的包相關的信息都放在一個服務器端的sqlite數據庫文件中,yum會下載到本地,進行包安裝的時候用。 第二,安裝的歷史記錄放在sqlite數據庫中
動手動腦4--有關字符串的一些東西
issue 內存 length 字段 def obj 地址 夏令時 都是 為何會出現這樣的結果? s0,s1,s2三個String類型的對象實際上指向的都是"Hello"這個常量,所以s0、s1、s2三者之間用==判斷是否指向同一塊內存肯定會返回布爾值true,這裏的s0
最近在寫一些樹上的東西,先發一波LCA的吧!
++ html str long ace efi algorithm quest http 不會樹剖的我只有去學tarjan和倍增了,個人覺得倍增比tarjan好打一點。。。 tarjan學習的地方 http://www.cnblogs.com/JVxie/p/485471