目录

一、程序

二、分支

三、循环

四、数组

五、字符串

六、文件操作

七、函数

八、结构体

九、模拟

十、高精度

十一、排序

十二、暴力枚举

十三、递推与递归

十四、贪心

十五、二分

十六、搜索

十七、线性表

十八、二叉树

十九、集合

二十、图

二十一、位运算与进制转换

二十二、计数原理与排列组合

二十三、整除理论


一、程序

牛吃草问题

牛顿问题_百度百科 (baidu.com)https://baike.baidu.com/item/%E7%89%9B%E9%A1%BF%E9%97%AE%E9%A2%98/3978438?fromtitle=%E7%89%9B%E5%90%83%E8%8D%89&fromid=8591859&fr=aladdin

错误 代码

#include<iostream>
using namespace std;
int main(){int n1=10,t1=20,n2=16,t2=10;//草的生长速度//(对应的牛头数×吃的较多天数-相应的牛头数×吃的较少天数)÷(吃的较多天数-吃的较少天数)int gro=(n1*t1-n2*t2)/(t1-t2);//原有草量//牛吃草的速度×吃的天数-草的生长速度×吃的天数int ori=n1*t1-gro*t1;//吃的天数//原有草量÷(牛吃草的速度-草的生长速度)int time=ori/(ori/(n1*t1)-gro);cout<<time<<endl;return 0;
}

字数反转P5705

//P5705
#include<iostream>
using namespace std;
int main(){double n,n1=0;//变量使用前查看是否赋值. scanf("%lf",&n);int m=10*n;while(m!=0){n1=m%10+n1*10;m /= 10; }
/*循环 除法 判断 不要浮点 while(n!=0){n1=(int)n%10+n1*10;//取余 只能整数 n /= 10;cout<<n<<endl; }
*/n1/=10;printf("%.1lf\n",n1);return 0;
}
/*char
#include<cstdio>
int main(){char a,b,c,d;scanf("%c%c%c.%c",&a,&b,&c,&d):printf("%c.%c%c%c\n",a,b,c,d);return 0;
}

1.单位先统一再计算

小鱼的游泳时间P1425

#include<iostream>
using namespace std;
int main(){int h1,m1,h2,m2;scanf("%d%d%d%d",&h1,&m1,&h2,&m2);m1+=h1*60;m2+=h2*60;int h=(m2-m1)/60,m=(m2-m1)%60;printf("%d %d\n",h,m); return 0;
} 

2.cout输出浮点数,默认保留不超过6位有效数字

3.数学函数<cmath>

double sin(double x)

double cos(double x)

double exp(double x)

double log(double x)

double pow(double x,double y)

double sqrt(double x)

double fabs(double x)

double ceil(double x)

double floor(double x)

4.定义常量

const double PI = 3.1415926

#define PI  3.1415926

5.命名

1)字母 数字 下划线 -

2)不能数字开头

3)不能和 关键字 重复

6.常见数据类型

7.ASCII表

8.char类型的本质是一个不超过127 的整数

9.利用函数方程等预处理来降低编程难度

10.四舍五入

int (ans + 0.5)

11.数字反转

可以考虑 用char“分解”成单个字符

12. 常见输入输出占位符

13.setprecision()

c++ setprecision用法详解 (biancheng.net)http://c.biancheng.net/view/1340.html14.关闭同步加快cin读入速度

在程序前加

ios::sync_with_stdio(false);

15.浮点数误差

1)可以*10转为整数在计算

16.提交评测与错误自查

二、分支

1.优先级

2.逻辑运算规则

3.

 swith(变量名){case 变量可能的情况 1:执行语句1;break;case 变量可能的情况 1:执行语句1;break;default:执行语句n; }

以点代线

多个case

#include<cstdio>
int main(){int y,m;scanf("%d%d",&y,&m);switch(m){case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("%d\n",31);break;case 4: case 6: case 9: case 11: printf("%d\n",30);break;case 2:if(((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) printf("%d\n",29); elseprintf("%d\n",28);break;} return 0;
} 

三、循环

四、数组

五、字符串

1.字符数组

//s为数组名
//s中的每一个元素,都储存了一个不超过127的整数,对应ASCII//输入scanf("%s",s)cin>>s
//只能读到空格或者换行符
//数组多一个:字符串结束后,加 '\0'char c = getchar();
//getchar()函数获得输入数据中的一个字符
//每次读入一个字符//输出printf("%s\n",s) cout<<s;putchar(c);
//putchar()函数输出一个字符//结束//Ctrl+Z  回车 Ctrl+Z(输入EOF标志)while(getchar(c)!=EOF)
//如果文件读完,getchar()函数会返回EOF(一个特殊的常量)

P5733 【深基6.例1】自动修正 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P5733

#include<iostream>
using namespace std;
int main(){char a;while(1){a=getchar();if(a==EOF) break;if(a<='z'&&a>='a')a-='a'-'A';putchar(a);}return 0;
}
#include<iostream>
using namespace std;
int main(){char a[110];cin>>a;for(int i=0;a[i]!='\0';i++)if(a[i]>='a'&&a[i]<='z')a[i]-='a'-'A';cout<<a<<endl;return 0;
}
#include<iostream>
using namespace std;char a[110];int main(){scanf("%s",a);for(int i=0;a[i]!='\0';i++)if(a[i]>='a'&&a[i]<='z')a[i] -= 'a'-'A';printf("%s\n",a);return 0;
} 

1)主函数可以递归

#include<bits/stdc++.h>
using namespace std;
char ch;
int main(){if(cin>>ch){//判断是否输入 if(ch>='a'&&ch<='z')ch+='A'-'a';//转换大小写 cout<<ch;//输出 main();//递归调用 } return 0;//如果没有输入就退出
}

2)toupper函数 小写转大写

int toupper(int c)
{  if ((c >= 'a') && (c <= 'z'))  return c + ('A' - 'a');  return c;
}

3)tolower 大写转小写

int tolower(int c)
{  if ((c >= 'A') && (c <= 'Z'))  return c + ('a' - 'A');  return c;
}  

4)P1914 小书童——凯撒密码 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1914

圆型的转换 先找偏移量(减去一个最小值) 再取模

#include<iostream>
using namespace std;
int main(){char a[60];int n;scanf("%d%s",&n,a);for(int i=0;a[i]!='\0';i++){printf("%c",(a[i]-'a'+n)%26+'a');}return 0;
}

5) 字母减去‘a’转换为数字

6)P1125 [NOIP2008 提高组] 笨小猴 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P1125

7)fgets/sscanf/sprintf/P1957_ppololcsz的博客-CSDN博客https://blog.csdn.net/weixin_60178940/article/details/123535167

2.string类型

//string反转,需包含头文件<algorithmn>
reverse(s.begin(),s.end());//读入直到空格(不包括空格)
string s;
cin>>s;//读入直到指定字符ch,这里ch不会被读入到s中,而且好像也不会存在于缓冲区中string s;
getline(cin,s,ch);//第3个参数省略时默认为'\n'//字符串截取
string s;
//注意第2个参数是截取的长度而不是结束的下标
s.substr(s,len);

六、文件操作

七、函数

八、结构体

九、模拟

十、高精度

十一、排序

十二、暴力枚举

十三、递推与递归

十四、贪心

十五、二分

十六、搜索

十七、线性表

1.vector

义:vector <data_type> vector_name;

如:vector <int> v;

v.empty()   返回bool型,可以用来判断vector是否为空

v.pop_back()  可以将最尾端的元素删除

v[i]  类似于数组

v.push_back(a);/ios::sync_with_stdio(false);/vector/P3156 【深基15.例1】询问学号_ppololcsz的博客-CSDN博客https://blog.csdn.net/weixin_60178940/article/details/123537263vector< vector<> >/vector<int>v(N,i) /v.size()/v.resize(n,m)/vector<int >::iterator /v.begin/v.end()_ppololcsz的博客-CSDN博客https://blog.csdn.net/weixin_60178940/article/details/1235381562.栈

3.队列

4.列表

十八、二叉树

十九、集合

二十、图

二十一、位运算与进制转换

二十二、计数原理与排列组合

二十三、整除理论

深入浅出程序设计竞赛笔记(草稿相关推荐

  1. 深入浅出程序设计竞赛 - 基础篇_Re: 从零开始的程序设计竞赛(三)

    Re: 从零开始的程序设计竞赛顾名思义,是一个力图介绍完全没有接触过程序设计竞赛的学校.老师及学生进入比赛的文章.文章包含如何参加比赛以及训练如何安排等内容.你可以查看过往的几期内容: Re: 从零开 ...

  2. 《深入浅出程序设计竞赛(基础篇)》第1部分 语言入门 第3章 分支结构程序设计

    P5710 [深基3.例2]数的性质 [深基3.例2]数的性质 - 洛谷 P5710 [深基3.例2]数的性质(python3实现) P5710 [深基3.例2]数的性质(python3实现)_青少年 ...

  3. 挑战程序设计竞赛笔记-贪心算法

    2.2 贪心算法 贪心算法的精髓在于,遵循某种规则,不断地选取当前最优解. 硬币问题 假设有 1 元,5元,10元,50元,100元,500元的硬币C1,C5,C10,C50,C500枚,现在需要凑出 ...

  4. 《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort

    <挑战程序设计竞赛>阅读笔记二 之 ALDS1_2_C Stable Sort 第三章 Sort I ALDS1_2_C Stable Sort 这道题目,就是为了说明 冒泡排序是稳定排序 ...

  5. c语言程序竞赛,2015年江西理工大学C语言程序设计竞赛(初级组)

    JankTao相亲记 解法:排序 #include #include #include #include #include #include #include #include using names ...

  6. 红书《题目与解读》第一章 数学 题解《ACM国际大学生程序设计竞赛题目与解读》

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 红书<题目与解读>第一章 数学 题解<ACM国际大学生程序设计竞赛题目与解读> ...

  7. 《挑战程序设计竞赛(第2版)》习题册攻略

    本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...

  8. 程序设计竞赛中常用的STL汇总

    程序设计竞赛中常用的STL汇总 说明:文章篇幅有些长,请根据需要和目录选择性阅读!以下的所有STL模板按照C++0x/11的标准来的,部分含有C++98的特性.在刷题或者考试的时候,请仔细看是否支持C ...

  9. 《深入浅出WPF》笔记——模板篇

    原文:<深入浅出WPF>笔记--模板篇 我们通常说的模板是用来参照的,同样在WPF中,模板是用来作为制作控件的参照. 一.认识模板 1.1WPF菜鸟看模板 前面的记录有提过,控件主要是算法 ...

  10. 第七届图灵杯NEUQ-ACM程序设计竞赛

    第七届"图灵杯"NEUQ-ACM程序设计竞赛 Awen的一卡通 参考代码 跳格子 参考代码 Iris天下第一 参考代码 爱做笔记的Awen 参考代码 计分板 参考代码 我的梦想是世 ...

最新文章

  1. Oracle数据库导入导出命令!
  2. java 泛型解耦,T-MVP:泛型深度解耦下的MVP大瘦身
  3. ▽算符在球坐标系_球坐标系下的角动量算符
  4. 微信公众号获取的图片不能正常显示的问题
  5. GPU Gems1 - 9 有效的阴影体渲染
  6. 蚂蚁分类信息系统 5.8 信息浏览量后台自定义设置
  7. Android简单通讯录从list取数据并显示 eclipse开发
  8. linux编译cpp文件命令,Jsoncpp Linux 下编译为 .a 文件
  9. QQ音乐全新上线HiRes高解析音质 听歌体验再升级
  10. 经常看到网吧无盘系统,那操作系统装在哪?
  11. 在线JSON转sarcastic工具
  12. HTML5期末大作业:我的家乡网站设计——我的家乡-南京(4页)
  13. 5G网络演进行业及市场发展需求
  14. c++ 的interface
  15. PTA每日一题-Python-身份证校验
  16. 网卡驱动收包代码分析之 page reuse
  17. ASCII字符点阵和汉字库点阵显示
  18. 苹果宣布推出新的Mac Mini和MacBook Pro与M2 Pro和M2 Max
  19. Excel根据不同取值设置单元格颜色
  20. vue整合uniapp_uni-app仿微信App界面|vue+uniapp聊天室|仿微信朋友圈

热门文章

  1. 英语句子成分后置定语语法归纳
  2. 两个服务器微信消息模板发不出去,小程序模板消息调用send大部分情况下发送不出去,但有时又可以发送,什么情况?...
  3. 双系统切换后系统时间错乱问题解决
  4. sql server 常用工具
  5. 英语拾遗之基本的量词
  6. 高通apq8096连接外网
  7. 怎么删除计算机病毒,电脑中病毒删不掉怎么办?
  8. 【华为云·云筑2020】云学院考卷答案
  9. 【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?
  10. hive —— struct 复合结构