news 2026/5/13 1:37:54

蛟三升班必看!!!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蛟三升班必看!!!

文件IO

freopen("xxx.in",stdin);

freopen("xxx.out",stdont);

题目是什么文件就写什么文件

加速器

ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);

加速cin/cout输出

二维数组

行列遍历

只需要看好i和j

在做二维数组的时候,最好画个下标访问图

下标访问图:

a[1,1] a[1,2] a[1,3] a[1,4]

a[2,1] a[2,2] a[2,3] a[2,4]

a[3,1] a[3.2] a[3,3] a[3,4]

a[4,1] a[4,2] a[4,3] a[4,4]

边缘

for(int i=2;i<n;i++){

for(int j=2;j<m;j++){//直接计算

……

}

}

数组初始化

方法一:

memset(a,0,sizeof(a));//值为0

方法二:

定义为全局变量

斜线

每条斜线

i-j=k1-n<=k<=n-1

i+j=k2<=k<=2*n

元素四周关系

上=a[x-1][y] 下=a[x+1][y] 左=a[x][y-1] 右=a[x][y+1]

四个方向:

int dir[4][2]={{0,-1},{0,1},{-1,0},{1,0}}; for(int i=0;i<4;i++){ x=x+dir[i][0]; y=y+dir[i][1]; }

左上=a[x-1][y-1] 左下=a[x+1][y-1] 右上=a[x-1][y+1] 右下=a[x+1][y+1]

int dir[8][2]={{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}}; for(int i=0;i<8;i++){ x=x+dir[i][0]; y=y+dir[i][1]; }

旋转矩阵

1

23
456
789

a[1][1]→b[1][3] a[2][1]→b[1][2] a[1][2]→a[2][3]

a[2][2]→b[2][2] a[1][3]→b[3][3] a[2][3]→a[3][2]

……

7

41
852
963

得出公式:

顺时针90°:b[j][n+1-i]=a[i][j]

顺时针180°:b[n+1-i][m+1-j]=a[i][j]

顺时针270°:b[m+1-j][i]=a[i][j]

二维数组的回形遍历

思路:

边界情况能用bool二维数组来存放,还要判断是否超出数组大小。

dir数组:

定义按顺序,按"右,下,左,上",顺序

代码:

int a[105][105]; bool b[105][105]; int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; int main(){ int n,m; cin>>n>>m; memset(b,false,sizeof(b)); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } int x=1,y=0,sum=0,fx=0; while(sum<n*m){ int dx=x+dir[fx][0]; int dy=y+dir[fx][1]; if(dx>n||dy>m||dx<1||dy<1||b[dx][dy]==true){ fx=(fx+1)%4; } x=x+dir[fx][0]; y=y+dir[fx][1]; cout<<a[x][y]<<' '; sum++; b[x][y]=true; } return 0; }

递归

递归:简洁

问题能用函数描述

问题转移

边界

内存多,时间也多!

补充:一维字符数组

结构体

定义结构体

struct类型名称{//不要有()

数据类型1 成员名1;

数据类型2 成员名2;

……

}

填完后,能把它当成int ,long long来用

如:

类型名称a[105];

姓名
班级
学号
12345

输入结构体

一、

cin>>a.xm>>a.id;

二、(推荐)

int id;

string xm;

cin>>xm>>id;

a={xm,id};

结构体排序

正常:

sort(a+1,a+n+1);

结构体增加一个函数

sort(a+1,a+n+1,cmp);

函数:

bool cmp(node x,node y){

这里自己控制程序

}

运算符重载

在结构体里写:

bool operator<(node x){

这里自己控制程序

}

主函数里面只需要写

sort(a+1,a+n+1)后面不用函数来写了

有整体性就能用结构体!!!

未完待续……

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 1:33:07

ENVI监督分类实战:从原理到精度评估的完整工作流

1. 遥感影像监督分类入门指南 第一次接触遥感影像分类的朋友可能会被各种专业术语吓到&#xff0c;其实监督分类就像教小朋友认图识字的过程。想象你手里有张卫星拍摄的农田照片&#xff0c;需要区分出玉米地、小麦田和蔬菜大棚。监督分类就是先圈出几个典型样本&#xff08;比…

作者头像 李华
网站建设 2026/5/13 1:33:06

Openclaw-Desktop:桌面端网络数据抓取与聚合工具实战指南

1. 项目概述&#xff1a;一个桌面端的“开源之爪”最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Openclaw-Desktop”。光看名字&#xff0c;你可能会有点摸不着头脑&#xff1a;“Claw”是爪子&#xff0c;“Open”是开源&#xff0c;合起来“开源之爪”是个啥&#x…

作者头像 李华
网站建设 2026/5/13 1:32:05

AI时代工程师的超能力进化

好的&#xff0c;这是一篇关于AI时代工程师能力进化的技术文章大纲&#xff1a; 标题&#xff1a; AI时代工程师的“超能力”进化论&#xff1a;从工具使用者到智能架构师 导言&#xff1a; 简述AI技术的迅猛发展及其对各行业的深刻影响。提出问题&#xff1a;在AI成为强大“…

作者头像 李华
网站建设 2026/5/13 1:30:12

电动汽车电池热管理中的CFD仿真技术应用

1. 电动汽车电池热管理的核心挑战在电动汽车设计中&#xff0c;电池热管理系统&#xff08;BTMS&#xff09;堪称"心脏监护仪"。锂离子电池对温度变化极为敏感&#xff0c;就像精密仪器需要在恒温实验室工作一样。当电池温度超过40℃时&#xff0c;每升高10℃&#x…

作者头像 李华
网站建设 2026/5/13 1:22:28

2026 AI视频平台排行:目前好用的AI视频创作平台有哪些?

进入 2026 年&#xff0c;AIGC 技术已彻底改变了内容生产格局。面对海量的创作需求&#xff0c;市场上的工具逐渐分化为“底层模型派”与“全能聚合派”两大阵营。本文将为您盘点当前行业内公认好用的 AI 视频创作平台。第一类&#xff1a;大厂自研官方模型&#xff08;技术深耕…

作者头像 李华
网站建设 2026/5/13 1:22:20

3步免费获取百度文库文档:零门槛终极指南

3步免费获取百度文库文档&#xff1a;零门槛终极指南 【免费下载链接】baidu-wenku fetch the document for free 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wenku 百度文库助手是一款专为普通用户设计的免费文档下载工具&#xff0c;能够帮助任何人轻松突破百…

作者头像 李华