Некоторые определения из комбинаторики.
Посмотрел на ютюбе видеолекции по простой комбинаторики Райгородского А.М.
ПОнравились некоторые его опредления. Они точнее выражают суть. Просто немного другой взгляд.
Не зря говорят что при изучении чего-то лучше пользоваться двумя учебниками.
Не поленился создать некую шпаргалку, чтобы время от времения заглядывать в нее, чтобы освежить память.
Для начала пусть есть некоторая коробка и набор букв в ней A={a1,a2,a3,...an}. Всего букв n.
Сочетания без повторений.
В коробке по одному экземпляру каждой буквы. Если зачерпнуть к-букв из коробки пригорошней, то получим кучку из к-букв.
Это будет к-сочетаний по n без повторений. Порядок в котором были извлечены быквы не важен.
Cnk
Размещения без повторений.
Если последовательно извлечь к-букв из коробки, то получим конкретное слово. ПОрядок тут важен.
Это будут к-размещений по n без повторений.
Пусть теперь имеется волшебная коробка, в которой буквы не заканчиваются.
Сочетания с повторениями.
Если зачерпнуть пригорошней к-букв из волшебной коробки.
Размещения с повторениями.
Если последовательно извлечь к-букв из волшебной коробки.
Создание массива объектов С++, которые имеют конструктор с параметрами
Пахомов Сергей | 2016-8-30
Наткнулся в книге "Структуры и алгоритмы обработки данных: объектно-ориентированный подход и реализация на C++. Кубенский А.А." в примерах кода на такую строчку
KeyList<Key> * lists = new KeyList<Key> [listNumber] (&buffer);
Динамически создается массив объектов из шаблона. Объекты имеют конструктор с параметрами.
MS VS 2016 и Code Blocks 16 выдают в этой строчке ошибку.
Например error: parenthesized initializer in array new [-fpermissive]
Решение такое. Нужно выделить память под массив объектов. Далее вручную создать и инициализировать каждый объект.
KeyList<Key> * lists = (KeyList<Key>* )operator new( sizeof( KeyList<Key> ) * listNumber) ;
for(int i=0; i<listNumber; ++i )
{
new( &lists[ i ] ) KeyList<Key>( &buffer);
}
Шпаргалка по основам IP4
Пахомов Сергей | 2014-4-22
Классовая адресация
Маска - 32-битовое число, обычно записываемое в десятичном формате с разделительными точками.
Она нужна для того, чтобы указать структуру IP-адреса, или кратко говоря, маска задает
размер узловой части IP-адреса. Узловая часть в адресе задается двоичными 0 в маске.
В первой части маски содержатся двоичные 1, они задают сетевую часть адреса (если нет подсетей),
или сетевую и подсетевую часть адреса (если есть подсети).
Читать дальше →