当前位置:首页 » 《随便一记》 » 正文

蓝桥杯知识点总结C++

23 人参与  2023年04月05日 08:01  分类 : 《随便一记》  评论

点击全文阅读


目录

1、暴力、枚举

2、日期问题

①判断闰年

②判断日期是否合理

③借助excel计算 

3、数的处理

①素筛

1、简单素筛:

2、埃氏筛

②最大公约数(欧几里得)

1、单个数:

2、多个数:

③最小公倍数

1、单个数:

2、多个数:

④二分

4、dp——01背包

5、搜索

①dfs

6、C++里常用函数

①排序函数sort函数

②初始化函数memset

③数学函数

7、string


1、暴力、枚举

一般是多重循环、注意边界和出口

2、日期问题

①判断闰年

int check(int x){        if(x%400==0||(x%4==0&&x%100!=0)    return 1;    return 0;}

②判断日期是否合理

int check(int year,int month,int day){    int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};    if(year%4==0&&year%100!=0||year%400==0)//闰年判断        a[2]+=1;    if(month<1||month>12)//判断月份是否出界         return 0;    int t=a[month];    if(day<1||day>t)        return 0;    return 1;}

③借助excel计算 

3、数的处理

①素筛

1、简单素筛:

int prime(int n){    if(n==1)    return 0;    for(int i=2;i*i<n;i++)    {        if(n%i==0)return 0;    }    return 1;}

2、埃氏筛

思想:从2开始,将每个质数的倍数都标记成合数

int a[MAXN];void prime(){    memset(a,1,sizeof(a);  //初始化为都是素数     a[0]=a[1]=0;//0和1不是素数     for(int i=2;i<=MAXN;i++)    {        if(a[i])        {            for(int j=i*i;j<MAXN;j=j+i)            a[j]=0;//i的倍数都不是素数         }    }}

②最大公约数(欧几里得)

因为a / b = k(余r)所以 a可以表示成a = kb + r(a,b,k,r皆为正整数,且r<b),则r = a mod b假设d是a,b的一个公约数,则 a%d == 0, b%d == 0而r = a - kb,两边同时除以d,r/d=a/d-kb/d=m,由等式右边可知m为整数,因此r%d==0而r=a mod b,因此d也是b,a mod b的公约数假设d是b,a mod b的公约数,则b%d == 0,(a-k*b)%d == 0(a − k ∗ b a-k*ba−k∗b)%d = a%d-k∗ *∗b%d == 0 ,k是一个整数。进而a%d == 0.因此d也是a,b的公约数因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等

1、单个数:

int gcd(int a,int b){    return b?gcd(b,a%b):a;}

2、多个数:

int gcds(int a[],int n){    int g=a[0];    for(int i=1;i<n;i++)    {        g=gcd(g,a[i]);    }    return g;}

③最小公倍数

两个数的最小公倍数等于他俩乘积除以最大公约数(a*b/gcd(a,b))

1、单个数:

int lcm(int a,int b){    return a*b/gcd(a,b);}

2、多个数:

int lcms(int a[],int n){    int l=a[0];    for(int i=1;i<n;i++)    {    l=lcm(a[i],l);    }    return l;}

④二分

int i=0,j=100001;//所给范围 while(i<=j){    int mid=(i+j)/2;//二分法将mid看作边长     if(check(mid))//假如已经符合就继续往上查找         i=mid+1;//找到符合题意的最大边长     else         j=mid-1;//往下查找 }

4、dp——01背包

已知条件

①有N个物品,有一个背包。背包的容量是V。

②对于每个物品有:体积,价值

③每个物品只能使用


需要满足两个条件


①选择的这i个物品总体积不超过V
②这些物品的价值加起来最大
③对于某一个物品:使用/不使用

分析:

如果不拿就有j空间分给i-1个物品

如果拿了就只要j-c[i]的空间分给i-1个物品,c[i]的空间分给第i个物品

给i-1个物品分配j-c[i]空间和分配j空间带来的总价值是不一样的

#include<bits/stdc++.h>//万能头文件#define ll long longusing namespace std;const ll maxn=100;ll n,v,f[maxn][maxn];ll c[maxn];//每个物品占用空间ll w[maxn];//每个物品的价值int main(){    cin>>n>>v;    for(ll i=1;i<=n;i++)        scanf("%lld",&c[i]);    for(ll i=1;i<=n;i++)        scanf("%lld",&w[i]);    for(ll i=1;i<=n;i++)//第i个物品        for(ll j=v;j>=0;j--)//剩余空间j        {            if(j >= c[i])//如果装得下                    f[i][j]=max( f[i-1][j-c[i]]+w[i],f[i-1][j]);            else//如果装不下                f[i][j]=f[i-1][j];        }    cout<<f[n][v]<<endl;//输出答案 }

5、搜索

①dfs

void dfs(int x,int y){    if(x==fx&&y==fy)//出口    {    sum++;return ;     }    for(int i=0;i<4;i++)    {        int nx=x+s[i][0];        int ny=y+s[i][1];        if(nx<1||nx>n||ny<1||ny>m||mp[nx][xy]==1||vis[nx][ny]==1)            continue;//边界条件以及是否有障碍或已走过         vis[nx][ny]=1;//标记走过         dfs(nx,ny);//递归         vis[nx][ny]=0//回溯     }} 

6、C++里常用函数

①排序函数sort函数

sort(a,a+num)

初始化函数memset

memset(a,0,sizeof (a));

③数学函数

1.、abs——求整数的绝对值  

2、 pow——求x的次幂

3、sqrt——计算平方根

7、string

string类的常用方法_turbo夏日漱石的博客-CSDN博客


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/58354.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 女士的玩具推文_杜小灵白月光杜雪必读文_小说后续在线阅读_无删减免费完结_
  • 女儿要给我养老,我却反手把她告上法庭每日分享_林梦王浩养老一口气完结_小说后续在线阅读_无删减免费完结_
  • 闻妻有两意(林鹿小柿子)_闻妻有两意
  • 我的死党是刘秀?这皇位我不篡了(李哲王莽)全书免费_(李哲王莽)我的死党是刘秀?这皇位我不篡了后续(李哲王莽)
  • 逃荒路末世女王带着空间养儿女(周铁山王寡妇阿蛮)_逃荒路末世女王带着空间养儿女(周铁山王寡妇阿蛮)
  • 霍远凡肖灿续集(霍远凡肖灿)章节前文+全书阅读(丈夫逼我流产,我以死谢罪)最新连载
  • 老公给我13.14亲密付,我堕胎再婚后他悔疯了每日分享_苏暖顾川林晚晚超长版_小说后续在线阅读_无删减免费完结_
  • (白瑶,李玄胤,冰冷)白瑶,李玄胤,冰冷小说(九尾渡红尘)无套路无弹窗全部章节列表
  • (此去经年无故人)南初陆南城:结局+番外精品选集起点章节+阅读即将发布预订
  • 沈凝夏叶晚怡附加完整在线阅读(归雁不栖故人枝)最近更新列表
  • 剧情人物是时初,白浩雄的玄幻言情小说《召诸神,踏万界,天命帝女逆乾坤》,由网络作家&ldquo;海鸥&rdquo;所著,情节扣人心弦,本站TXT全本,欢迎阅读!本书共计381345字,185章节,:结局+番外免费品鉴:结局+番外评价五颗星
  • 凤青禾,江明远,***枢小说(别人修仙我捡漏,卷王们破防了)最近更新(凤青禾,江明远,***枢)整本无套路阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1