洛谷春季ACM多校賽 Final Spark

2021-10-03 09:57:10 字數 1262 閱讀 8201

題目描述

有乙個長無限,寬為 w + t 的長方形,去切割乙個半徑為 s 的圓,問如何切割可以使得其切割所對應的弧最長,求其佔據的比例,一共有t組測試資料

樣例

3

2020

20100000

1001000

100100

1982000

1.000000000

0.000000000

0.503215306

思路

1、如果 w+t >= 2*s ,那麼是長方形是完全覆蓋的,覆蓋率為 1

2、如果 w+t==0,那麼覆蓋率為 0

3、根據page1, 想要求中間切割弧長的情況,我們可以通過切割圓的這個長度來計算,寬切割是一定的,長切割是會變化的,所以我們需要通過長來確定大小,就是求切割的兩邊長的最小值,長就是我圖中紅色描的線。我們把圓切開來分成兩半只看正半軸情況,根據page2,求導(其實看看就看得出來),很容易發現越往邊上移動切割長變化的速度是加快的,而越靠近中間的切割長的增速是很慢的。

我們就用上半圓來進行求解,請看我畫的圖,u1s1比較醜,不要介意

所以根據這個,我們就可得知,有一條邊是與圓邊上相切的。接下來的求解就簡單了,角度除以360度,這邊為了方便我只計算一半

然後分成兩個小情況

我用畫圖的形式表示了

太醜了,不要介意 233333333

注意點和思路講完了,我就貼**了

**片

#include

using

namespace std;

double

abs(

double x)

void

solve()

intmain()

return0;

}

洛谷春季 ACM 多校訓練第五周

二分圖匹配 回憶一下二分圖匹配演算法,乙個點被匹配當且僅當 match v findpath match v 但你記錄時一定要用乙個vis來記錄,不然一定會卡在某乙個點出不來。而且每次找增廣路都必須清空vis。注意 1.定義乙個vis,否則陷入乙個點找增廣路出不來,2.每次遍歷清空vis,否則答案必...

洛谷春季 ACM 多校訓練第二週

這題我犯了乙個邏輯錯誤,人傻了,想了半天也沒debug出來 做法 是這樣乙個邏輯問題,乙個點不是控制點,就是如果有控制點連到它就行了。但,乙個點是控制點,不是說連到它的點不是控制點就行了,只要有乙個連到它的控制點,那它就不是控制點。標準錯誤解法 這個想法就是,vis 1表示他是控制點,如果乙個點不是...

洛谷多校Round5 Flaw

題目大意是在int32範圍內,考慮溢位的情況下,給定a n1問你a在int32之內的範圍有多少種 當然會彙編的話 優化一下常數直接迴圈一下int32也不是不可以 不會彙編的我 就直接算一下吧,高程入門題,唯一值得一提的就是輸入處理 直接用scanf的格式串控制就好 include include i...