hdoj 1006 未完待續

2021-07-15 03:45:57 字數 1304 閱讀 8610

題意:

時鐘的三個指標在兩兩之間至少d°的時候是開心的,求開心時間佔一天的乙個百分比。

思路:

我們看到這個百分比有三位小數,精度很高。

一天有24h,24*60min,24*60*60s,那麼最小單位是秒。

換一種方法,考慮一天360*2度。但是可以看到,從秒到分到時間,這樣轉換到度來說,精度更高吧。

然後題目是要保證三個指標最少需要保證d°。

那麼我們控制時針每個小時,使得分針最小,轉動秒鐘。從最小的臨界條件,累加到最大的臨界狀態。那麼考慮時間。應該也是最優精度吧。

①列舉每個小時,時針的角度=>最小分針的角度=>最小的秒鐘角度,利用秒針列舉到最大的臨界狀態;列舉次數是24*60*60;

—————————–此時此歌:借過–印子月

後來開始打的時候發現這個d是實數,所以我們假設這個d是極端的d,小數點後6位,那麼方法①貌似不行啊。所以還是到d度上來。

用角度,但是怎麼列舉呢。總體的最小臨界到最大臨界是不變的,只是列舉方向換了。從被列舉物件秒針變成比單位度更小的單位。

然後可以看到一天的開始是0°0』0」到720°0』0」,那麼就從最小的秒列舉開始,列舉次數是360*60*60,比剛剛的一天多拆分了15倍;

②:然後我直接想的就是從起點到終點中間判斷一下就好了。

剛剛還卡機了。。。這個角度就是秒針的角度。

後來。。。其實把精度擴大的方法就是擴大角度的精度,我把一秒擴大1000倍,這樣列舉。。。後來發現就是這樣吧。。。我擴大360。。也就是列舉360*30*60*24次

—————————此時此歌:你的愛–王力巨集

mdzz睡覺。神特麼煩

#include 

using

namespace

std;

typedef

long

long ll;

typedef

unsigned

long

long ull;

const

double eps=1e-6;

const

double pi=acos(-1.0);

const

int mod=998244353;

const

int inf=0x3f3f3f3f;

const

int n=1e5+10;

double x[n],y[n];

int main()

printf("%.3lf\n",(double)xx/(double)nn*100);

}}

hdoj5792 樹狀陣列 未完待續

題意 求有多少種四個數滿足aa ab,ac ad,1 a b n 1 c d n 思路 只要找到兩種情況就成立了。在序列中對於乙個元素在他的後面存在比他大的,還有就是存在對於乙個元素在他的後面比他小的,那麼對於乙個元素的 種情況總和 種情況總和 但是這樣不難發現是有重複的。大哥說有四種可能。前面比他...

nginx 未完待續

yum install y pcre yum install y pcre devel yum install y openssl yum install y openssl devel yum install y zlib yum install y gccyum安裝 yum install y ...

sqlparse(未完待續)

sqlparse.split sql,encoding none sql 包含乙個或多個sql語句的字串 encoding 語句的編碼 可選 sql select from foo select from bar sql list sqlparse.split sql print sql list ...