課程目錄: 程序員的核心技能培訓

4401 人關注
(78637/99817)
課程大綱:

程序員的核心技能培訓

 

 

 

Programming Competitions

We'll begin with introduction to the world of competitive programming — the rules,

specialties and helpful tips on taking part in competitions in general. In a separate lesson,

we'll learn how to test programs: what kinds of test cases there are,

how to organize the search for a bugtest, and particularly a method of automating testing called stress-testing.

CORRECTNESS FIRST

 

In this module, we'll start with the most basic things you need to actually solve algorithmic problems.

First, we'll talk about structuring your code and intuition behind it — why it's very important, how to manage dependencies

between parts of different purpose, how intuitive rules are enforced through formal invariants and conditions.

We'll also identify a special class of solutions — brute force solutions — which are always correct, but often very slow.

And we'll learn how to estimate running time of our solutions by using a powerful concept of big-O notation.

COMMON STRUGGLES

In competitive programming, there are a lot of things to stumble upon — if you don't know them first!

We'll delve into how numbers are represented in computers,

identify the most common issues with integer and floating point arithmetic, and learn to overcome them.

We'll also discuss how to get stuck less in general, especially when debugging solutions.

COMMON STRUGGLES 2

We continue considering common struggles arising in competitive programming.

We start by learning how to prove that a natural greedy algorithm is correct.

We also discuss programming languages: what features are most helpful on competitions,

and what are the advantages and pitfalls of several frequently used languages.

Finally, we study an essential and easy-to-implement data structure: the segment tree.

Dynamic Programming

Dynamic programming is a powerful algorithmic paradigm with lots of applications in areas like optimisation, scheduling,

planning, bioinformatics, and others. For this reason,

it is not surprising that it is the most popular type of problems in competitive programming.

A common feature of such problems is that a solution is usually easy to implement.

This does not however mean that it is also easy to find a solution! Therefore,

it is important to practice solving such problems. And this is exactly what we are going to do in this module!

Dynamic Programming 2

We continue applying dynamic programming technique to various problems.

主站蜘蛛池模板: 中国国语毛片免费观看视频| 国产v亚洲v天堂无码| 久久99精品久久久久久| 男女高潮又爽又黄又无遮挡| 开心色99×xxxx| 亚洲成av人片在线观看无| 豪妇荡乳1一5| 新梅金瓶1之爱奴1免费观| 亚洲精品欧美精品日韩精品| 黄+色+性+人免费| 女人18与19毛片免费| 五十路在线观看| 窝窝午夜看片成人精品| 国产波多野结衣中文在线播放| 一级午夜免费视频| 樱桃视频影院在线播放| 国产在线观看91精品一区| maomiav923| 日韩精品久久无码人妻中文字幕| 免费成人福利视频| 97碰公开在线观看免费视频| 天天碰免费视频| 久久大香线蕉综合爱| 波多野结衣中文丝袜字幕| 国产乱人伦无无码视频试看| 91av在线导航| 成人免费无毒在线观看网站 | 国产成人精品无缓存在线播放| 东京一本一道一二三区| 校花公交车上被迫打开双腿| 免费做暖1000视频日本| 高清无码中文字幕在线观看视频| 在线观看北条麻妃| 五月婷婷丁香网| 爱情岛在线视频免费观看网址| 国产人妖另类在线二区| 4hc88四虎www在线影院短视频| 成人免费观看一区二区| 九色在线观看视频| 波多野结衣不打码视频| 啊灬啊灬啊灬快好深用力免费|