Competitive Programming Guide

Կա գովազդ
5 հզր+
Ներբեռնումներ
Տարիքային սահմանափակումներ
Բոլորի համար
Սքրինշոթ
Սքրինշոթ
Սքրինշոթ
Սքրինշոթ

Հավելվածի մասին

CP ձեռնարկը մի տեղ է մրցակցային ծրագրավորման բոլոր սիրահարների համար, քանի որ այն պարունակում է բոլոր ալգորիթմները և տվյալների կառուցվածքները: Նաև յուրաքանչյուր թեմա պարունակում է օրինակներ և գործնականում չլուծված խնդիրներ:

Մրցակցային ծրագրավորումը սպորտ է, նկատի ունեմ բառացիորեն: Զբաղվեք ցանկացած սպորտաձևով, եկեք համարենք ծխախոտ այս հարցի համար, առաջին անգամ քայլում եք լողալու համար: Ռիթմ և բաց թողեք, մի քանի անգամ արեք դա, և վերջիվերջո մեկը կխփեք պարաններից: Այժմ, դիտարկեք ծրագրավորման մրցույթ ՝ որպես փոխաբերական, ծղրիդների խաղ: Կազմեք ծածկագիր և ներկայացրեք, կարող եք ստանալ WA (սխալ պատասխան):
Փոփոխություններ կատարեք ծածկագրում և ի վերջո կստանաք ձեր առաջին AC- ն (ընդունված / ճիշտ պատասխան): Թույլ տվեք ձեզ հառաչել հայացքը. Ծրագրավորման մրցույթի հարցերի շուրջ 20% -ը պարզ անգլերենի փոխարկումն է ձեր նախընտրած լեզվով կոդին:
Քայլեք հենց դրանով, դուք կսովորեք խաղի չգրված կանոնները, երբ ավելի ծանր եք խաղում և ավելի լավանում եք:
 Եվ հավատացեք, ձեզ հարկավոր չէ իմանալ որևէ «Fancy name» ալգորիթմի կամ տվյալների կառուցվածքի մասին: Երբևէ լսել եք «Waft shot» - ի մասին, միևնույն է, դուք ձեր փողոցում ամենալավ բիթսմանն եք, այնպես չէ՞:

Լավ, եկեք հաղթենք այնտեղի ծրագրավորման հետ կապված խնդիրների առաջին 20% -ը:
Դուք պետք է իմանաք.
Միջանկյալ պահեք ծրագրավորման որևէ լեզու
Անգլերեն! Փոխարկեք անգլերեն կոդին:
Եկեք օրինակ վերցնենք այս մակարդակի խնդիրը. Սարսափելի Չանդու

Այն ամենը, ինչ դուք պետք է անեք, կարդացեք մուտքի գիծը STDIN- ից և տպեք այդ տողի հակադարձումը դեպի STDOUT: Առաջ անցեք, ներկայացրեք: Փնտրեք ձեր առաջին AC- ն: Moreանկանում եք ավելին: Մենք ունենք բեռներ մեր պրակտիկայի բաժնում: Փնտրեք հազարավոր ճիշտ հանձնվածներ ունեցողներին:

Լավ, հիմա պատրաստ եք իրական իրական մարտահրավեր նետել: Ամուր պահեք, մենք ավելի խորն ենք սուզվում:

Դուք պետք է իմանաք.

1. Տեսակավորել և որոնել ալգորիթմներ
2. Hashing
3. Միավորների տեսություն
4. Ագահ տեխնիկա

Ավելի կարևոր է, դուք պետք է պարզեք, թե ինչ, երբ և որտեղ կիրառել դրանք: Այն իսկապես բարդ է դառնում և, հետևաբար, սկսնակներին օգնելու համար վստահության զգացում ձեռք բերել, մենք վարում ենք մի շարք մրցույթներ, որպես Code Monk: Յուրաքանչյուր մրցույթից առաջ մենք թողարկում ենք դասընթաց որոշակի թեմայի վերաբերյալ, իսկ ավելի ուշ մրցույթում խնդիրները միտված են միայն այդ թեմային: Ես ձեզ խորհուրդ կտամ անցնել ուսուցողական դասընթացներ և յուրաքանչյուր թեմայի շուրջ երկու կամ երկու հարց լուծել:

Մինչ այժմ հասկացաք, որ հարցերը շրջանակված են խաբելու մեր կարծիքը: Երբեմն, եթե պարզ անգլերենը ծածկագրում եք կոդին, ապա վերջ կլինեք TLE (Time Limit գերազանցված) դատավճռով: Դուք պետք է սովորեք մի շարք նոր տեխնիկայի և ալգորիթմների, ժամանակի սահմանները բավարարելու համար: Որոշ դեպքերում դինամիկ ծրագրավորումը (DP) գալիս է փրկարարների: Infact, դուք գուցե արդեն ինտուիտիվորեն օգտագործել եք այս տեխնիկան: Contestանկացած մրցույթում միշտ կա առնվազն մեկ հարց, որը կարող է լուծել DP- ն:

Նաև նկատել եք, որ կան հարցեր, որոնք պարզապես չեն կարող լուծվել գծային զանգվածի տվյալների կառուցվածքների միջոցով:

1. Գրաֆիկի տեսություն
2. Տարածել միության միություն (միություն-գտել)
3. Նվազագույն ծառի ծառ

Տվյալների կառուցվածքների այս շարքը ձեզ բավականին հեռու կբերի: Ավելին, դուք պատկերացնեիք, որ իրական արվեստը հարցն լուծելու համար ձեր գիտած տեխնիկան փոփոխելն է: Հեշտ-միջին և միջին մակարդակի բոլոր հարցերը կարելի է լուծել այս եղանակով:

Դուք բոլորդ պատրաստված եք կարճ ծրագրավորման մարտահրավերների առաջատարների առաջատարների շարքում, պարզապես կայուն համառություն պահպանեք: Ինչպես արդեն նշեցի, դա սպորտաձև է, դուք չեք տիրապետելու դրան մինչև իրականում դա անեք: Առաջ անցեք, մասնակցեք կարճ մրցույթին, իմացեք ձեր ուժեղ, թույլ կողմերի մասին և տեսեք, թե ինչպես եք վարվում ադրենալինի ռեժիմը, երբ ժամացույցը հնացնում է:

Կպչեք ձեր սեփական տրամաբանությանը հնարավորինս երկար, դուք ի վերջո կհասնեք այն հարցի լուծման համար պահանջվող ալգորիթմի նման մի բանի: Պարզապես պետք է այն խոզանակել: Այս տեխնիկայից մի քանիսը կօգնեն ձեզ լուծել մի շարք խնդիրներից ամենադժվարը:

1. հատվածի ծառ
2. լարային ալգորիթմներ
3. Tries, Suffix Tree, Suffix Array:
4. Ծանր լույսի տարրալուծում
5. Գրաֆիկի գունավորում, ցանցի հոսք
6. Քառակուսի տարրալուծում:

Այսպիսով, ներբեռնեք այս CP ձեռնարկը և վայելեք նոր բաներ սովորել, նաև մի մոռացեք Կոդել դրանք ավելի քիչ ժամանակային բարդություններով:
Վերջին թարմացումը՝
21 մրտ, 2021 թ.

Տվյալների պաշտպանություն

Անվտանգությունը որոշվում է նրանով, թե ինչպես են մշակողները հավաքում և փոխանցում ձեր տվյալները։ Տվյալների գաղտնիության և անվտանգության ապահովումը կախված է հավելվածի օգտագործումից, օգտատիրոջ տարիքից և բնակության երկրից։ Այս տեղեկությունները տրամադրվել են մշակողի կողմից և ժամանակի ընթացքում կարող են թարմացվել։
Այս հավելվածը կարող է նշված տեսակի տվյալները փոխանցել երրորդ կողմերին
Տեղադրություն, Անձնական տվյալներ ու ևս 8
Այս հավելվածը կարող է հավաքել նշված տեսակի տվյալներ
Տեղադրություն
Տվյալները չեն գաղտնագրվում
Տվյալները հնարավոր չէ ջնջել

Ինչ նոր բան կա

** Algorithms enhanced