【代码模板】不存在的NOIP2017

举报
小哈里 发表于 2022/05/11 00:51:06 2022/05/11
【摘要】 虽然可能没机会参加NOIP2017的复赛了 但是这份模板我还是会在比赛前完成它的, 作为对我过去一年的反馈。 因为技能树点歪,,所以我会弃坑重新来点, 辣么,,模板题的理解就很重要,他直接决定了其他的题...

虽然可能没机会参加NOIP2017的复赛了
但是这份模板我还是会在比赛前完成它的,
作为对我过去一年的反馈。

因为技能树点歪,,所以我会弃坑重新来点,
辣么,,模板题的理解就很重要,他直接决定了其他的题目你写不写的来。。
所以,这里的许多东西也许没办法在OJ上直接验证正确性(这也是打模板的痛苦之处)
不过我会尽力去找的,并且也会把自编的数据存放下来。
就酱紫。

frame

//这个项目提供了程序基本的代码框架

//头文件模板
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cctype>
#include<iomanip>
#include<sstream>
#include<cmath>
#include<string>
#include<vector>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<bitset>
#include<list>

//命名空间
using namespace std;

//声明与宏定义
typedef long long LL;
typedef long double LD;

#define fst first
#define sec second
#define mp make_pair

//常量定义
const int N = 1e5, inf = 1e9;  //代替define的写法 & e计数法的使用

//输入输出优化
int readint(){  //readint好简单啊为什么。。。
    int x=0, op=1;  char ch = getchar();  //一定要赋初始值
    while(ch < '0' || ch > '9'){ if(ch=='-')op=-1; ch = getchar(); }
    while(ch >= '0' && ch <= '9'){ x=x*10+ch-'0'; ch = getchar(); }
    return x*op;
}

int main(){
	cout<<"Hello World"<<endl;
	return 0;
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47

STL

//这个项目提供了STL的范例
//NOIP前第一轮模板 2017.10.5

//顺序容器:vector, deque, list
//关联容器:set, map,
//适配容器:stack, queue, priority_queue
#include<iostream>
#include<set>  //基于红黑树
#include<map>  //基于平衡二叉树
#include<vector>  //时间换空间(逃
#include<string> //各种黑科技
#include<bitset>

using namespace std;

//操作整理:声明,插入,删除,查找,遍历
//用法整理:你自己想啊

void setting(){
	set<int>myset; //声明int类型的集合(突然发现重名好像不会炸233333)
	
	//1. 基本操作
	myset.insert(233);  //往里面添加元素(重复插入无效)
	myset.erase(233);  //删除里面的某个元素(如果不存在该元素则不操作)(这里也可以用迭代器删除区间)
	myset.count(233); //查询集合中是否存在某个元素
	myset.clear();   //清空集合
	
	//2. 迭代器
	myset.insert(233);  myset.insert(322);
	set<int>::iterator it;  //如果重名声明迭代器的时候会炸掉
	set<int>::reverse_iterator rit; //反向迭代器
	for(it = myset.begin(); it != myset.end(); it++){
		cout<<*it<<" ";
	}
	cout<<"\n";
	for(rit = myset.rbegin(); rit != myset.rend(); rit++){
		cout<<*rit<<" ";
	}
	cout<<"\n";
	
	//3. 熟练搞事
	cout<< (myset.find(233)==myset.begin()) <<" \n"; //查找键值的位置并返回迭代器
	cout<< *myset.lower_bound(234)<<"\n";  //返回第一个>=key的元素的迭代器
	cout<< *myset.upper_bound(233)<<"\n";  //返回第一个>key的元素的迭代器
}

void maping(){ 
	map<int,int>mymap; //左键右值
	
	//1. 基本操作,,同为关联容器,基本和set差不多吧
	mymap[5] = 7;  //添加元素(注意 "mymap[0];" 同样往map中添加了元素,只是没有赋值而已)
	
	//2. 迭代器
	map<int,int>::iterator it = mymap.begin();
	cout<<(it->first)<<" "<<(it->second)<<"\n"; //map遍历时访问的是pair类型
	
	//3. 
	
}

void bitsetting(){
	
}

void stringing(){
	string str = "123456789";  char ch[110]="233";
	
	//构造函数
	str = string(ch); //用c语言字符串s初始化
	str = string(5,'c');  //用5个字符c初始化
	string s1 = str;  //赋值操作
	
	//基本特性
	str.size(); //返回大小
	
	//各种操作
	str.substr(0, 2);  //返回子串,返回0开始的由两个字符组成的字符串
	
	
}

int main(){
	stringing();
	cout<<"Hello World"<<endl;
	return 0;
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87

文章来源: gwj1314.blog.csdn.net,作者:小哈里,版权归原作者所有,如需转载,请联系作者。

原文链接:gwj1314.blog.csdn.net/article/details/83046220

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。