嘟嘟嘟
這道題題面我是看了小半天才懂(太菜了),然後就發現好水啊。
只要維護乙個棧,存的是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 #include11view codeusing
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 }
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的數的個數之和...