AHOI2005 礦藏編碼

2022-05-09 14:58:03 字數 1286 閱讀 8475

嘟嘟嘟

這道題題面我是看了小半天才懂(太菜了),然後就發現好水啊。

只要維護乙個棧,存的是t,代表當前的正方形是2t * 2t的,然後從頭開始掃序列,如果遇到2,就把棧頂元素取出來,然後放進去四個t - 1;如果遇到0,就往結果中加入當前棧頂元素t的2t * 2t.

此題最大範圍是250 * 250,long long也不夠,得開double(long long 和 double雖然都只有64位,但因為儲存凡是不同,double範圍卻比long long 大)。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10 #include11

using

namespace

std;

12#define enter puts("")

13#define space putchar(' ')

14#define mem(a) memset(a, 0, sizeof(a))

15 typedef long

long

ll;16 typedef unsigned long

long

ull;

17 typedef double

db;18

const

int inf = 0x3f3f3f3f;19

const

int eps = 1e-8;20

const

int maxn = 205;21

inline ll read()

2226

while(isdigit(ch))

27if(last == '

-') ans = -ans;

28return

ans;29}

30 inline void

write(ll x)

3136

37int

k;38

char

s[maxn];

39 db ans = 0

;40 stackst;

41 db quickpow(db a, int

b)42

49return

ret;50}

5152

intmain()

5364 printf("

%.0lf\n

", ans);

65return0;

66 }

view code

AHOI2005 約數研究

非常簡單的乙個數學題。先放題目 科學家們在samuel星球上的探險得到了豐富的能源儲備,這使得空間站中大型計算機 samuel ii 的長時間運算成為了可能。由於在去年一年的辛苦工作取得了不錯的成績,小聯被允許用 samuel ii 進行數學研究。小聯最近在研究和約數有關的問題,他統計每個正數n的約...

AHOI2005 約數研究

發現luogu的ui改版後ac以後不能給題目評定難度了 類似素數篩的一道題,不過是約數。先順手寫了個暴力做法,tle定了 includeusing namespace std long long n,sum 1000005 int main printf lld sum n return0 暴力o ...

AHOI2005 約數研究

其實是一道水題啦。我一開始的做法近似埃拉託斯特尼篩法,列舉每個約數,然後將其倍數的約數個數加1,最後統計。而一種更為簡便的方法是列舉1到n所有數,給答案加上n i。雖然這是道水題,但因為正解值得學習我才整理的!為什麼這樣是對的呢?顯然,1到n所有數的約數個數之和等於約數中含有1,2,n的數的個數之和...