BZOJ 2048 2009國家集訓隊 書堆

2021-07-15 08:54:44 字數 1279 閱讀 6220

第一行正整數 n

m ou

tput

一行(有換行符),

l ,表示水平延伸最遠的整數距離 (不大於答案的最大整數)sa

mple

inpu

t 樣例 1 i

nput

:1100 o

utpu

t:49

2 in

put:

2 100 ou

tput

: 74 s

ampl

eout

put

n≤10

18

資料保證答案≤10

6 s

ourc

e b

y 何樸藩so

luti

on

首先我們要推一下每往上堆一本書,可以堆多遠。

我們只要注意乙個地方就好:對於任意一本書,它上方的所有書的重心不能超出它的邊緣。我們就可以用這個性質手推出每一本書可以超出下一本書多少。

我們可以推出,n本書的最大延伸距離就是12

∑i=1

n1i

(本段參考po姐姐部落格)

然後我們就可以考慮用調和級數極限公式

limn→∞

∑i=1

n1i=

ln(n+

1)+r

其中r 為尤拉常數 近似值約

0.57721566490153286060651209

極限公式在

n 較小時,誤差會比較大。所以當

n比較小的時候,就直接暴力算,

n 大的時候就套公式。

uses math;

var n,m:int64;

ans:extended;

begin

read(n,m);

if n<=10000

then

while n>0

dobegin

ans:=ans+0.5/n;

dec(n);

endelse ans:=(ln(n+1)+0.5772156649)/2;

write(trunc(ans*m-0.0000000001));

end.

字符集 國家字符集及NLS LANG執行庫

unicode編碼方案 三個實施標準 utf 8,usc 2,utf 16 oracle資料庫字符集 字符集character set 國家字符集national character set 字符集主要作用 用於儲存varchar2,char,clob,long型別資料 標示表名,列名,以及pl s...

BZOJ2144 國家集訓隊 跳跳棋

跳跳棋是在一條數軸上進行的。棋子只能擺在整點上。每個點不能擺超過乙個棋子。我們用跳跳棋來做乙個簡單的遊戲 棋盤上有3顆棋子,分別在a,b,c這三個位置。我們要通過最少的跳動把他們的位置移動成x,y,z。棋子是沒有區別的 跳動的規則很簡單,任意選一顆棋子,對一顆中軸棋子跳動。跳動後兩顆棋子距離不變。一...

bzoj 2034 2009國家集訓隊 最大收益

這個題,我想的是用一些神奇的線段樹做法,根本沒想匹配 但是好像很顯然啊 寫的也太長了.給的l,r範圍很大,其實有用的只有n個時刻 那可以先離散一下 然後把 各個線段按照權值從大到小排序,乙個乙個選 有矛盾一定選擇權值大的,所以前面選定的集合一定是最優的 然後自己 裡說的check函式,看有沒有空餘的...