刷题记录
刷题记录
常见题型
-
模拟
-
STL
-
字符串
-
数字
-
暴力
-
搜索(BFS/DFS)
-
图论
-
贪心
-
DP
PIPIOJ周赛记录
PAT记录
常用技巧
-
多组输入
// c++使用方法 while(cin>>c && c != 0){ ... } // c使用方法 while(scanf("%d", &t) != EOF){ ... }
-
直接输入,输出16进制
scanf("%llx", &a); printf("%llx", a);
-
结构体使用地址尽量使用指针,不然可能会出现以下问题
struct Node{ int id; }; void test1(){ Node *t; for(int i = 0; i < 2; i ++){ Node *node = (Node*)malloc(sizeof(Node)); node->id = i; if(i == 0){ t = node; } cout<<"i:"<<i<<endl; printf("%p\n", node);//新分配的地址 } cout<<t->id<<endl;//为0 return 0; } void test2(){ Node *t; for(int i = 0; i < 2; i ++){ Node node; node.id = i; if(i == 0){ t = &node; } cout<<"i:"<<i<<endl; printf("%p\n", &node);//每次都一样,同一个地址 } cout<<t->id<<endl;//为1 return 0; }
-
字符串输入输出
//c++使用头文件<bits/stdc++.h> string s; printf("%s", s.c_str());//string不是c中的string,需要调用c_str()才能对应%s //输入一行 getline(cin, s);//输入一行,包括空格,直到换行符为止 gets(s);//输入一行,包括空格,直到换行符为止
-
字符数组定义
char str[10] = {"0123456789"};
-
ctype头文件使用
#include<ctype> bool isDigial(char c);//判断是否是数据 char tolower(char c);//转换成小写
-
对于特定格式的输入可以使用scanf();简化
//输入 "11:12" scanf("%d:%d", &a, &b);//简化了':'处理 //对于单个字符前的无效空格和换行 scanf(" %c", c);//自动跳过之前的无效空格与换行
常见错误
-
判断数据类型以及数据范围
-
何时使用int和double
-
是否需要使用long long
//long long的输入与输出 long long a; printf("%lld", a);//或printf("%l64", a); //强转long long long long c = 1ll * a * b;
-
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· .NET 8.0 + Linux 香橙派,实现高效的 IoT 数据采集与控制解决方案
· DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件