欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

class15-16 lhy 初赛集训03

时间:2024-08-30 13:03 作者:admin 点击:
排列组合 排列:从一组对象选一部分进行排序,求排列的方式。重点关注【排序】。 从n个不同的元素,取m个进行排列,求数量 A(n,m) 或 P(n,m) A(n,m)=n*(n-1)*(n-2)*....(n-m+1) 从10个不同物品拿

排列组合

排列:从一组对象选一部分进行排序,求排列的方式。重点关注【排序】。

从n个不同的元素,取m个进行排列,求数量

   A(n,m) 或 P(n,m)

A(n,m)=n*(n-1)*(n-2)*....(n-m+1)

从10个不同物品拿3个(有顺序),A(10,3)=10*9*8=720


组合:从一组对象选一部分,求选择的方式。重点关注【对象】。

从n个不同的元素,取m个,求数量

   C(n,m)

C(n,m)=A(n,m)/m!

从10个不同物品拿3个(无顺序),C(10,3)=720/6=120


加法,乘法

男生3个,女生5个,找一男一女去收卷,有多少种

3*5  1*5+1*5+1*5

1~7 这七个数字,先拿一个,再拿一个,组成两位数,有多少种

7*6


枚举:根据题目,将所有可能性全列出来,再计算

有1 2 3 4,能够组成的四位偶数有几个

1234 1243 1324 1342 2134 2143 2314 2341

1423 1432 2413 2431 3124 3142 3214 3241

3412 3421 4123 4132 4213 4231 4312 4321

12个

前提是数据量较小。


鸽巢,抽屉

25个同学,去参加兴趣小组,有ABC三个小组,证明至少有一个小组至少包含了多少人。

小组:抽屉

同学:物品

25/3=8

25%3!=0

8+1=9

无论如何分配,肯定存在一个小组,人数不小于9人。

52张牌,抽10张,证明至少有种花色至少有多少张牌。

花色:抽屉

牌:物品

10/4=2

10%4!=0

2+1=3


隔板1:容器分隔

有15个相同的礼物,分发给5个不同的机构,每个机构至少得1份,求分法?

1   1   1   1   1   1   1   1   1   1   1   1   1   1   1

A  |   B   |   C  |   D  |   E

15个物品,14个空,需要插4个板

C(14,4)=(14*13*12*11)/(4*3*2*1)


隔板2:对象分隔

从1~7这7个数字,选两个,但是这两个数字不能挨着,有多少种选择方式。

AXA,A是选择的数字,X是需要中间隔一个的情况

7个数字选两个,相当于选一个AX,和一个A

C(6,2)

从1~9这9个数字,选三个,但是这三个数字不能挨着,有多少种选择方式。

C(7,3)

从1~9这9个数字,选两个,但是这两个数字之间至少隔两个,有多少种选择方式。

C(7,2)


包含-排除

先找出所有可能,再把不符合条件的可能去掉

前提是本身求的内容复杂,不符合条件的内容简单



题目:

完成排列组合的专项练习。

将csp03的文章全看完,再完成数论基础的专项练习。





语法基础

存储:

   bit 比特、位、比特位 计算机存储信息的最小单位

   byte 字节 计算机存储信息的基本单位

   1TB=1024GB

   1GB=1024MB

   1MB=1024KB

   1KB=1024B

   1B=8bit

   图片存储(bit):水平像素*垂直像素*位的深度(都是数量单位)

   分辨率(PPI):每英寸的像素点的数量,像素点越多,分辨率越高,图像越清晰


关键字:

cin cout scanf printf 都不是

   控制流关键字:if else switch case default while do for break continue

   数据类型关键字:int char bool float double void wchar_t

   修饰符关键字:signed unsigned short long const

   函数关键字:return static inline

       static 静态修饰

       void a(){

           static int num=0;

           num++;

       }

       int main(){

           a();//num 1

           a();//num 2

       }

       inline 内联声明

       先修饰这个函数,实际声明位置在其他地方

   类和对象关键字:class struct public private protected this new delete namespace

       struct people{

           int age;

           string name;

           void say(){

               cout<<this->age;

           }

       };

       this指当前类型对象的指针

   其他:union enum sizeof operator try catch throw auto

       operator重载运算符

   

运算符的优先级

   【! ~ ++ --】

   【* / %】

   【+ -】

   【<< >>】

   【< <= > >=】

   【== !=】

   【&】【^】【|】

   【&&】【||】

   【赋值相关】    


int a=5,b=3,c=4;

bool r=a&b||c^b&&a|c;

r的值是true 输出是1


非c++符号



数据结构


算法基础


(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%