Algo 01 part015. 舒从 仂亠仆亳 从仂仂?
MatLAB 亠 仗亠亳舒仍仆亶 亳仆仄亠仆
仂亟:
A = ones(500,500);
B = ones(500,500) * 2;
C = zeros(500,500);
tic
C = A .* B;
toc
% ======
tic
for i = 1 : 500
for j = 1 : 500
C(i,j) = A(i, j) * B(i, j);
end
end
toc
6. 舒从 仂亠仆亳 从仂仂?
MatLAB 亠 仗亠亳舒仍仆亶 亳仆仄亠仆
于仂亟:
Elapsed time is 0.000822 seconds.
Elapsed time is 0.008758 seconds.
7. 舒从 仂亠仆亳 从仂仂?
弌++ 仄仂亢仆仂 仆舒仗亳舒 从仂仍!
#include <ctime>
clock_t time = clock();
// algorithm
double delta = (double)(clock() time);
delta /= CLOCKS_PER_SEC;
cout << Time is << delta << endl;
8. 舒从 仂亠仆亳 从仂仂?
仂弍亠仄 仍舒亠 于 亰舒[fail]亳亠, 仗仂仂仄 仂:
∃仂亟仆亠 亟舒仆仆亠 舒亰仆亠
∃亠舒仍亳亰舒亳 亢亠仍亠亰舒 舒亰仆舒
仂仄仗舒仆亳 Reca 于仗从舒亠 仄仂仆亳仂, 弍仂仍仂亶 仗仂仗仍仆仂 仗仂仍亰亠 亳 仄仂亟亠仍
AB999 舒亰仄亠舒仄亳 从舒仆舒 ab 舒仆亳仄亠仂于. 亰-亰舒 仂仂弍亠仆仆仂亠亶
仗仂亳亰于仂亟于舒, 舒亰仄亠 从舒仆舒 于舒亢舒ム 亠仍仄 亳仍仂仄 舒仆亳仄亠仂于. 亠亟舒于仆仂 于
仄仂亟 于仂仍仂 仂仂仆仂亠仆亳亠 仂仂仆 x:y. 仂仄仗舒仆亳 仂亠 仄亠仆亳 舒亰仄亠 从舒仆舒
于仂亠亞仂 仄仂仆亳仂舒 AB999 舒从, 仂弍 亠亞仂 仂仂仆仂亠仆亳亠 仂仂仆 舒仍仂 x:y, 仆仂 仗亳 仂仄 亠亞仂
仗仍仂舒亟 弍仍舒 仄舒从亳仄舒仍仆仂 于仂亰仄仂亢仆仂亶. 舒舒 亰舒亟舒舒 仂仗亠亟亠仍亳 舒亰仄亠 从舒仆舒
仄亠仆亠仆仆仂亶 仄仂亟亠仍亳, 亳仍亳 于仆亳, 仂 仂 亟亠仍舒 仆亠于仂亰仄仂亢仆仂.
仗亠于仂亶 仂从亠 于仂亟仆 亟舒仆仆 仂亟亠亢舒 4 亠仍 亳仍舒 a, b, x 亳 y
(1a,b,x,y2揃109).
http://codeforces.ru/problemset/problem/16/C
9. 舒从 仂亠仆亳 从仂仂?
仂弍亠仄 仍舒亠 于 亰舒[fail]亳亠, 仗仂仂仄 仂:
∃仂亟仆亠 亟舒仆仆亠 舒亰仆亠
∃亠舒仍亳亰舒亳 亢亠仍亠亰舒 舒亰仆舒
亠舒仍亳亰舒亳 舒仍亞仂亳仄舒 于从仍亳亟舒 仆舒 Python:
def gcd(a,b):
while a != b:
if a > b:
a = a - b
else:
b = b - a
print(a)
10. 舒从 仂亠仆亳 从仂仂?
仂弍亠仄 仍舒亠 于 亰舒[fail]亳亠, 仗仂仂仄 仂:
∃仂亟仆亠 亟舒仆仆亠 舒亰仆亠
∃亠舒仍亳亰舒亳 亢亠仍亠亰舒 舒亰仆舒
弌从仂仂 于仗仂仍仆亠仆亳 仂仗亠亟亠仍仆仆仂亶 亳仆从亳亳
舒亰磲仆仂 舒亳亠从
亠从仂仆仂亠 从仂亠仆亳亠 于亳仍亠仆亳亶
.亟. 亳 .仗.
11. 舒从 仂亠仆亳 从仂仂?
仂仍亠亠 仄舒亠仄舒亳亠从亳: -仆仂舒亳
O(g) - 仄仆仂亢亠于仂 仆从亳亶 f, 亟仍 从仂仂 亠于ム
舒从亳亠 从仂仆舒仆 C 亳 N, 仂 |f(x)| C|g(x)| 亟仍 于亠 x > N.
舒仗亳 f = O(g) 亟仂仍仂于仆仂 仂弍仂亰仆舒舒亠, 仂 f 仗亳仆舒亟仍亠亢亳 仄仆仂亢亠于 O(g). 亳
仂仄 仂弍舒仆仂亠 于舒亢亠仆亳亠 O(g) = f 仆亠 亳仄亠亠 仄仍舒.
仂 亳, 仆舒舒 亰舒亟舒舒: 仂仗亳舒 仗仂于亠亟亠仆亳亠 仆从亳亳 于 亰舒于亳亳仄仂亳 仂
仗舒舒仄亠舒.
12. 舒从 仂亠仆亳 从仂仂?
舒仄仂亳仄 舒仍亞仂亳仄 于亳仍亠仆亳 亰仆舒亠仆亳
仄仆仂亞仂仍亠仆舒 亠仗亠仆亳 n 于 亰舒亟舒仆仆仂亶 仂从亠 x.
Pn(x) = anxn + an-1xn-1 + ... + aixi + ... + a1x + a0
13. 舒从 仂亠仆亳 从仂仂?
舒仄仂亳仄 舒仍亞仂亳仄 于亳仍亠仆亳 亰仆舒亠仆亳
仄仆仂亞仂仍亠仆舒 亠仗亠仆亳 n 于 亰舒亟舒仆仆仂亶 仂从亠 x.
Pn(x) = anxn + an-1xn-1 + ... + aixi + ... + a1x + a0
亳仍亠仆亳亠 i-亞仂 仍舒亞舒亠仄仂亞仂 (i=1..n) 亠弍亠 i
仄仆仂亢亠仆亳亶. 仆舒亳, 于亠亞仂
1 + 2 + 3 + ... + n =
14. 舒从 仂亠仆亳 从仂仂?
舒仄仂亳仄 舒仍亞仂亳仄 于亳仍亠仆亳 亰仆舒亠仆亳
仄仆仂亞仂仍亠仆舒 亠仗亠仆亳 n 于 亰舒亟舒仆仆仂亶 仂从亠 x.
Pn(x) = anxn + an-1xn-1 + ... + aixi + ... + a1x + a0
亳仍亠仆亳亠 i-亞仂 仍舒亞舒亠仄仂亞仂 (i=1..n) 亠弍亠 i
仄仆仂亢亠仆亳亶. 仆舒亳, 于亠亞仂
1 + 2 + 3 + ... + n = n(n+1)/2
仂仄亠 仂亞仂, 亠弍亠 n+1 仍仂亢亠仆亳亠.
15. 舒从 仂亠仆亳 从仂仂?
舒仄仂亳仄 舒仍亞仂亳仄 于亳仍亠仆亳 亰仆舒亠仆亳
仄仆仂亞仂仍亠仆舒 亠仗亠仆亳 n 于 亰舒亟舒仆仆仂亶 仂从亠 x.
Pn(x) = anxn + an-1xn-1 + ... + aixi + ... + a1x + a0
亳仍亠仆亳亠 i-亞仂 仍舒亞舒亠仄仂亞仂 (i=1..n) 亠弍亠 i
仄仆仂亢亠仆亳亶. 仆舒亳, 于亠亞仂
1 + 2 + 3 + ... + n = n(n+1)/2
仂仄亠 仂亞仂, 亠弍亠 n+1 仍仂亢亠仆亳亠. 亠亞仂
n(n+1)/2 + n + 1= n2/2 + 3n/2 + 1
仂仗亠舒亳亶.
17. 舒从 仂亠仆亳 从仂仂?
舒从仂于仂 仗仂于亠亟亠仆亳亠 仆从亳亳?
f(n)= n2/2 + 3n/2 + 1
仂于亠亟亠仆亳亠: O(n2) 仂仍仂亠 仂 仆 从于舒亟舒
亅仂 于亠仆 仂亠仆从舒, .亠 从仂仍亳亠于仂 仂仗亠舒亳亶 (舒 亰仆舒亳, 亳
于亠仄 舒弍仂) 舒亠 仆亠 弍亠亠, 亠仄 从于舒亟舒 从仂仍亳亠于舒
仍亠仄亠仆仂于. 丼仂弍 仗仂于于仂于舒, 仂 仂
舒从仂亠, 仗仂仄仂亳亠 仆舒 舒弍仍亳, 亞亟亠 仗亳于亠亟亠仆
亳仍舒, 亳仍仍ム亳ム亳亠 从仂仂 仂舒 亟仍 仆亠从仂仍从亳
舒亰仆 仆从亳亶.
18. 舒从 仂亠仆亳 从仂仂?
n
log n
n * log n
n^2
1
0
0
1
16
4
64
256
256
8
2048
65536
4096
12
49152
16777216
65536
16
1048565
4294967296
1048576
20
20969520
1,0993E+12
16775616
24
402614784
2,81421E+14
19. 舒从 仂亠仆亳 从仂仂?
n
log n
n * log n
n^2
1
0
0
1
16
4
64
256
256
8
2048
65536
4096
12
49152
16777216
65536
16
1048565
4294967296
1048576
20
20969520
1,0993E+12
16775616
24
402614784
2,81421E+14
仂仗亠舒亳 亟仍亳 3 仆 = 3*10-9 , 仂亞亟舒 亟仍 n =224
t = (2.81 * 1014) * (3 * 10-9) = 3 * 2.81 * 105 c ~ 10 亟仆亠亶
20. 舒从 仂亠仆亳 从仂仂?
舒于亳仍舒
∃亳 仂亠仆从亠 亰舒 仆从亳 弍亠亠 从仂仍亳亠于仂
仂仗亠舒亳亶, 于仂亰舒舒ム亠亠 弍亠亠 于亠亞仂.
∃亳 仂亠仆从亠 O() 从仂仆舒仆 仆亠 亳于舒ム.