Share
Embed
Transcript
25 slides
-
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̍ʣ Q1. ͋Δ N ͕༩͑ΒΕΔͷͰ N ͷΛͯ͢ग़ྗ͍ͯͩ͘͠͞ɻ ɹɹͨͩ͠ N
1 Ҏ্ 10^12 ҎԼ ྫʣN = 100 ͷͱ͖ 1, 2, 4, 5, 10, 20, 25, 50, 100 5 -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̍ʣ Q1. N ͷΛͯ͢ग़ྗ͍ͯͩ͘͠͞ɻͨͩ͠ N 1 Ҏ্ 10^12 ҎԼ
◦ N ͕ͲͷͰׂΔ͜ͱ͕Ͱ͖Δ͔ 1 ͔Β N ·ͰͷͰࢼ͢ 6 for i in 1ʙN if ( N % i == 0 ) print( i )ɹ← i ͰׂΓΕͨΒ i N ͷ -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̍ʣ Q1. N ͷΛͯ͢ग़ྗ͍ͯͩ͘͠͞ɻͨͩ͠ N 1 Ҏ্ 10^12 ҎԼ
◦ N ͕ͲͷͰׂΔ͜ͱ͕Ͱ͖Δ͔ 1 ͔Β N ·ͰͷͰࢼ͢ ਖ਼͍͑͠ग़ྗ͞ΕΔ͕ɺ ڝϓϩͰϓϩάϥϜͷ࣮ߦ࣌ؒʹ੍ݶ͕͋Δʢ2ඵҎͳͲʣͨΊ͜ΕͰNG • ίϯϐϡʔλ 1 ඵʹ 10^8 ճܭࢉͰ͖Δ • ࠓճͷͰ N ͕࠷େ 10^12 ͷ߹ 10000ඵʢ3࣌ؒऑʣ͔͔ͬͯ͠·͏ • ͰͲ͏͢Δ͔ʁͬͱޮྑ͘ܭࢉͰ͖ͳ͍͔ߟ͑ͯΈΔ 7 for i in 1ʙN if ( N % i == 0 ) print( i )ɹ← i ͰׂΓΕͨΒ i N ͷ -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̍ʣ Q1. N ͷΛͯ͢ग़ྗ͍ͯͩ͘͠͞ɻͨͩ͠ N 1 Ҏ্ 10^12 ҎԼ
A. N ͕ͲͷͰׂΔ͜ͱ͕Ͱ͖Δ͔ 1 ͔Β √N ·ͰͷͰࢼ͢ for i in 1ʙ√Nɹ← N / i Ұॹʹग़ྗ͢Δ͜ͱͰ √N ·ͰͰͯ͢ͷ͕ἧ͏ if ( N % i == 0 ) print( i )ɹ← i ͰׂΓΕͨΒ i N ͷ if ( N / i != i ) print( N / i )ɹ← i ͰׂΓΕͨΒ N / i N ͷ • N ͕࠷େ 10^12 ͷ߹Ͱϧʔϓճ 10^6 • ίϯϐϡʔλ͕ 1 ඵʹ 10^8 ճܭࢉ͢Δͱͯ͠ 1ඵҎʹܭࢉ͕ऴΘΔ ྫ͑ɺ100ͷΛٻΊΔͱ͖ 100͕5ͰׂΓΕΔͳΒ10020(=100/5)ͰׂΓΕΔ 8 -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̎ʣ Q2. ৽γεςϜʹ N ਓͷϢʔβΛొ͠·͢ɻ ɹɹʢೖྗ N ݸͷ ID
ͱرϢʔβ໊ͷʣ ಉ͡Ϣʔβ໊ొͰ͖ͣ ID ͷখ͍͞Ϣʔβ͕༏ઌ͞Ε·͢ɻ ɹɹرͷϢʔβ໊ͰొͰ͖ͳ͍Ϣʔβͷ ID Λग़ྗ͍ͯͩ͘͠͞ɻ ɹɹͨͩ͠ N 1 Ҏ্ 10^6 ҎԼ ྫʣӈਤ ͷͱ͖ ɹɹID ͕ 3, 4, 6 ͷϢʔβرͷ ID ͕ొͰ͖ͳ͍ 9 ID رϢʔβ໊ 1 aaa 2 bbb 3 aaa 4 aaa 5 ccc 6 ccc -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̎ʣ Q2. رͷϢʔβ໊ͰొͰ͖ͳ͍Ϣʔβͷ ID Λग़ྗ͍ͯͩ͘͠͞ɻ N 1 Ҏ্
10^6 ҎԼ ◦ ֤Ϣʔβʹ͍ͭͯͦΕΑΓ ID ͕খ͍͞ϢʔβΛͯ֬͢ೝ for i in 1ʙNɹ← ࠓͷରϢʔβ for j in 1ʙ(i - 1)ɹ← ରϢʔβΑΓID͕খ͍͞Ϣʔβ if ( username[ i ] == username[ j ] ) flag = 1ɹ← Ϣʔβ໊͕ඃ͍ͬͯͨΒνΣοΫ if (flag == 1) print( i ) 10 ID رϢʔβ໊ 1 aaa 2 bbb 3 aaa 4 aaa 5 ccc 6 ccc -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̎ʣ Q2. رͷϢʔβ໊ͰొͰ͖ͳ͍Ϣʔβͷ ID Λग़ྗ͍ͯͩ͘͠͞ɻ N 1 Ҏ্
10^6 ҎԼ ◦ ֤Ϣʔβʹ͍ͭͯͦΕΑΓ ID ͕খ͍͞ϢʔβΛͯ֬͢ೝ for i in 1ʙNɹ← ࠓͷରϢʔβ for j in 1ʙ(i - 1)ɹ← ରϢʔβΑΓID͕খ͍͞Ϣʔβ if ( username[ i ] == username[ j ] ) flag = 1ɹ← Ϣʔβ໊͕ඃ͍ͬͯͨΒνΣοΫ if (flag == 1) print( i ) 11 ID رϢʔβ໊ 1 aaa 2 bbb 3 aaa 4 aaa 5 ccc 6 ccc ͜Εਖ਼͍͑͠ग़ྗ͞ΕΔ͕ɾɾɾ • N ͷೋॏϧʔϓ͕͋ΔͨΊ N ͕࠷େ 10^6 ͷ߹ɺܭࢉྔ 10^12 • 1 ඵʹ 10^8 ճܭࢉͰ͖Δͱͯ͠ 10000ඵʢ3࣌ؒऑʣ͔͔ͬͯ͠·͏ • ଞʹԿ͔ྑ͍ํ๏ͳ͍͔ߟ͑ͯΈΔ -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̎ʣ Q2. رͷϢʔβ໊ͰొͰ͖ͳ͍Ϣʔβͷ ID Λग़ྗ͍ͯͩ͘͠͞ɻ N 1 Ҏ্
10^6 ҎԼͷ A. ࿈ྻʢC++ͳΒmap, PythonͳΒdictʣΛ͏ for i in 1ʙNɹ← ࠓͷରϢʔβ if (used[ username[ i ] ]) print( i )ɹ← ࿈ྻͷ͕ true ͳΒ͢ͰʹΘΕ͍ͯΔϢʔβ໊ used[ username[ i ] ] == trueɹ← ͢ͰʹͬͨϢʔβ໊Λ࿈ྻʹϢʔβ໊ΛΩʔͱͯ͠ه 12 ID رϢʔβ໊ 1 aaa 2 bbb 3 aaa 4 aaa 5 ccc 6 ccc • ࿈ྻͷ֤ʹΞΫηε͢Δࡍͷܭࢉྔ logN • τʔλϧͷܭࢉྔ NlogNʹͳΓɺ࠷େ 10^6 ͷ߹ɺܭࢉྔ 10^7 • ίϯϐϡʔλ͕ 1 ඵʹ 10^8 ճܭࢉ͢Δͱͯ͠ 1ඵҎʹܭࢉ͕ऴΘΔ -
Q3. ͞ L cmͷͷ্Λ N ඖͷΞϦ͕ 1cm/ඵͰา͍͍ͯΔɻ ΞϦޓ͍ʹͿ͔ͭΔͱ͖Λม͑ͯରํʹา͖ͩ͠ɺ
ͷʹ౸ୡ͢Δͱ͔ΒམͪΔ ࠷ޙͷΞϦ͕͔ΒམͪΔ·Ͱʹ͔͔Δ࣌ؒԿඵ͔ʁ 13 p1 p2 p3 p4 0 L ࣮ࡍʹͬͯΈΑ͏ʢͦͷ̏ʣ -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̏ʣ Q3. ࠷ޙͷΞϦ͕͔ΒམͪΔ·Ͱʹ͔͔Δ࣌ؒԿඵ͔ʁ ◦ ੨ͱҐஔ X1 ͰͿ͔ͭͬͯ·ͰߦͬͯམͪΔ ੨ԫͱҐஔ X2
ͰͿ͔ͭͬͯͱҐஔ X1 ͰͿ͔ͭͬͯɾɾ ʹҐஔ X3 ͰͿ͔͖ͭͬͯͬͯͨԫͱҐஔ X4 ͰͿ͔ͭͬͯɾɾɾ ԫ੨ͱҐஔ X2 ͰͿ͔ͭͬͯͱҐஔ X3 ͰͿ͔ͭͬͯɾɾ ʹҐஔ X1 ͰͿ͔͖ͭͬͯͬͯͨ੨ͱҐஔ X4 ͰͿ͔ͭͬͯɾɾɾ 14 -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̏ʣ Q3. ࠷ޙͷΞϦ͕͔ΒམͪΔ·Ͱʹ͔͔Δ࣌ؒԿඵ͔ʁ ◦ ੨ͱҐஔ X1 ͰͿ͔ͭͬͯ·ͰߦͬͯམͪΔ ੨ԫͱҐஔ X2
ͰͿ͔ͭͬͯͱҐஔ X1 ͰͿ͔ͭͬͯɾɾ ʹҐஔ X3 ͰͿ͔͖ͭͬͯͬͯͨԫͱҐஔ X4 ͰͿ͔ͭͬͯɾɾɾ ԫ੨ͱҐஔ X2 ͰͿ͔ͭͬͯͱҐஔ X3 ͰͿ͔ͭͬͯɾɾ ʹҐஔ X1 ͰͿ͔͖ͭͬͯͬͯͨ੨ͱҐஔ X4 ͰͿ͔ͭͬͯɾɾɾ • ΞϦͷಈ͖Λͦͷ··γϛϡϨʔτ͍ͯ͘͠ͱେมɾɾɾ • ͬͱγϯϓϧʹͰ͖ͳ͍͔ߟ͑ͯΈΔ 15 -
࣮ࡍʹͬͯΈΑ͏ʢͦͷ̏ʣ Q3. ࠷ޙͷΞϦ͕͔ΒམͪΔ·Ͱʹ͔͔Δ࣌ؒԿඵ͔ʁ A. Ϳ͔͖ͭͬͯΛม͑Δͷͱ͢Εҧ͏ͷ݁Ռͱͯ͠ಉ͡ 17 ans = 0 for
i in 1ʙNɹ← ֤ΞϦ if (ӈ͖) t = L - p[i]ɹ if (ࠨ͖) t = p[i] ans = max(ans, t)ɹ← ࠷େΛߋ৽ print(ans) 0 p1 p2 p3 p4 L ֤ΞϦΛಠཱͯ͠ߟ͑ΕΑ͍ -
3. Γํ͕ࢥ͍͍ͭͨΒίʔυԽͯ͠ఏग़͢Δ ϓϩάϥϛϯάݴޠࣗͷ͖ͳͷͰྑ͍ʢC++, Python, Ruby, Rust, Go, … ΄΅ͳΜͰ͑Δʣ
20 ίʔσΟϯάڥίϯςεταΠτ্ͷΤσΟλͰࣗͷPC্ͷΤσΟλͰOK ڝϓϩͷྲྀΕ -
4. ίʔυΛఏग़͢Δͱࣗಈςετ͕࢝·Δɻ ͯ͢ͷςετέʔεʹਖ਼ղ͢ΔͱʹԠͨ͡ಘ͕Ճࢉ͞ΕΔ 1ͭͷέʔεͰ͕͑ؒҧ͍ͬͯͨΓ੍ݶ࣮ߦ࣌ؒΛΦʔόʔ͢Δͱ0 ͨͩ͠ԿͰίʔυͷ࠶ఏग़͕ՄೳʢϖφϧςΟ͋Γʣ ςετ1
N = 1 ςετ2 N = 98 ςετ3 N = 10^9 ςετ4 N = 10^6 ộ ộ NGͳྫ OKͳྫ ྻڍͷςετέʔεྫ 21 ڝϓϩͷྲྀΕ -
1. ·ͣաڈΛԿ͔ͬͯΈΔ ◦ AtCoder ʹొͨ͠Β࣍ʹΔ͜ͱ ʙ ͜Ε͚ͩղ͚ेಆ͑Δʂաڈਫ਼બ 10 ʙ
https://qiita.com/drken/items/fd4e5e3630d0f5859067#%E7%AC%AC-6-%E5%95%8F--abc- 088-b---card-game-for-two-200-%E7%82%B9 ◦ AtCoder ProblemsʢAtCoderͷΞΧϯτͱ࿈ܞͯ͠ղ͍ͨΛཧͰ͖Δʣ https://kenkoooo.com/atcoder/#/table/ 2. ׳Ε͖ͯͨΒϦΞϧλΠϜͰίϯςετʹग़ͯΈΑ͏ 3. ࠷ۙڝϓϩʹؔ࿈ͨ͠ຊͨ͘͞Μग़͍ͯΔͷͰಡΜͰΈΔͷ͓͢͢Ί ڝϓϩΛ͡ΊͨΒ 24 -
ڝϓϩָ͍͠ʂ ଞʹΔཧ༝͕ͨ͘͞Μ • ܭࢉྔͷײ͕֮ʹͭ͘ • ཧతࢥߟྗ͕͑ΒΕΔ • GAFA࠷ۙຊاۀͰ࠾༻ࢼݧʹಋೖ͞Ε͍ͯΔͨΊ༗རʹͳΔ • ίϯςετʹΑ͕ͬͯۚग़Δ
• ͨ͘͞Μͷఱ࠽ͱઓ͑Δ Ҏ্ɺରઓΑΖ͓͘͠Ͷ͕͍͠·͢ʂ ࠷ޙʹ 25