自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Lab. 3: 词法分析实验

Lab3 词法分析实验文章目录Lab3 词法分析实验1、实验目的2、实验内容3、实验过程3.1 DFA设计3.1.1 状态设计3.1.2 DFA编码实现3.2 Token3.2.1 数据类Token3.2.2 Tokens工具类TokensBlock3.3 标准元素StdElements3.4 扫描器C_CodeScanner4、实验运行及结果4.1 框架装入1、实验目的​ (1)熟悉 C 语言的词法规则,了解编译器词法分析器的主要功能和实现技术,掌握典型词法分析器构造方法,设计并实现 C 语言词法

2022-03-28 21:00:00 1657

原创 P1591 阶乘数码 个人题解012

P1591 阶乘数码P1591 阶乘数码题解本题还是比较简单的。就是之前阶乘之和简化后的改版。阶乘结果需要采用高精度,但是每次计算则可以使用单精度进行。#include <iostream>#include <cstdio>struct num { int n[20001]; int len; int st;};typedef struct num NUM;void multiple_n(int t, NUM& n){ for (int i =

2021-07-15 22:01:30 204

原创 P1098 [NOIP2007 提高组] 字符串的展开 个人刷题011

P1098 [NOIP2007 提高组] 字符串的展开P1098 [NOIP2007 提高组] 字符串的展开题解本题还是一道模拟题,但是各种条件比较多,很繁琐。我个人的处理思路就是遇到’-'的时候调用expendStr()函数处理,首先计算需要填充的长度,然后填充到tmp中,再根据三个展开条件具体进行。比较坑的一点是用例很长(刚开始没考虑到最后的长度会那么长,只开了1000位,结果后几个样例都是因为数组越界导致错误的。(不知道为什么提交是wa而不是re))#include <iostream

2021-07-14 12:38:28 179

原创 P1067 [NOIP2009 普及组] 多项式输出 个人刷题010

P1067 [NOIP2009 普及组] 多项式输出P1067 [NOIP2009 普及组] 多项式输出题解本题还是比较简单的,主要是需要考虑的细节比较多。1、开头最高次项不带+号2、±1时,除了常数项,不需要显示1.3、遇到0时的项不输出4、x的一次方不需要写为x^1,而是x。#include <iostream>#include <cstdio>using namespace std;void printNum(int a[], int x, int n

2021-07-13 19:05:17 156

原创 P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two 个人刷题009

P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth TwoP1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two题解模拟题。考察的点主要有两个,边界判断,简单的做法是开二维数组开为12*12的,再最外面一圈全部赋值为’*‘第二个问题是如何判断重复。对于这样一个持续移动的状态而言,如果某个状态出现了两次:C和F在相同的位置相同的方向,那么就可以说明陷入了循环之中。简单思考的方法是记录所有的移动状态,每次移动后查表。但这样的代价太过高昂,时间复杂度过高。可

2021-07-13 19:02:10 189

原创 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布个人刷题008

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布题解本题很简单,根据题目给出的胜负判定表填完整,然后if或者switch判断就可以了。#include <iostream>#include <cstdio>void getQueue(int* q, int len);int judgeWinner(int a, int b);int main(){ int n, la, lb; int sa = 0, sb = 0; scan

2021-07-12 10:38:27 142

原创 P4924 [1007]魔法少女小Scarlet 个人刷题007

P4924 [1007]魔法少女小ScarletP4924 [1007]魔法少女小Scarlet题解本题就是一个进行方阵旋转的问题,关键是在于找到顺时针和逆时针变换时的转换公式。顺时针的话就是:tmp[j - st_y][k - (i - st_x) - 1] = mat[i][j];//st_y, st_x是方阵的左上角,相当于一行一行变换,逆时针同理#include <iostream>#include <cstdio>using namespace std;

2021-07-12 10:37:03 131

原创 P1009 [NOIP1998 普及组] 阶乘之和 个人刷题006

P1009 [NOIP1998 普及组] 阶乘之和P1009 [NOIP1998 普及组] 阶乘之和题解乘法以及加法的混合版,但这里我改进使用int来存储(建议实现还是用char,int会占用更大的空间)每次乘/加完再统一处理进位,缺点是进位的地方难以确认长度,采用了全部扫描的方法,实际只需要扫描原长度的2倍应该就足够了。一个NUM存储i的阶乘,一个用来求和。注意进位处理就没什么问题了。#include <iostream>#include <cstdio>#inclu

2021-07-11 11:12:46 278

原创 P1303 A*B Problem 个人刷题005

P1303 A*B ProblemP1303 A*B Problem题解思路就是模拟竖式乘法,但注意乘的时候会有位偏移,我用一个count来处理这个问题。题目中说的是整数,写的时候就把负数情况也考虑了进去,但最后貌似是没有负数的。此外需要注意的就是0时的情况,只输出一个0,需要想办法判断一下。#include <iostream>#include <cstdio>#include <cstring>using namespace std;struct N

2021-07-11 11:09:28 88

原创 P1563 [NOIP2016 提高组] 玩具谜题 个人刷题004

P1563 [NOIP2016 提高组] 玩具谜题P1563 玩具谜题题解需要注意的就是小人向内往左和小人向外往右是等价的,另一个方向同理,这样可以降低判断的量。对于环,可以采用取模的方法实现循环#include <iostream>#include <cstdio>#include <string>using namespace std;struct toyMan{ int dir; //朝向 char name[10];};

2021-07-09 18:39:16 114

原创 P1601 A+B Problem(高精)个人刷题003

P1601 A+B Problem(高精)题目描述高精度加法,相当于a+b problem,不用考虑负数.输入格式分两行输入。a,b \leq 10^{500}a,b≤10500输出格式输出只有一行,代表a+ba+b的值输入输出样例输入 #1复制11输出 #12输入 #210019099输出 #210100题解这里想到的是把两个加数从尾部对齐,放在数组从尾部到头部来加,处理好进位,记录好长度即可。#include <iostream>#include

2021-07-09 18:36:39 128

原创 P2670 [NOIP2015 普及组] 扫雷游戏 个人刷题002

P2670 [NOIP2015 普及组] 扫雷游戏题目描述扫雷游戏是一款十分经典的单机小游戏。在nn行mm列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。现在给出nn行mm列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方向上与之直接相邻的格子。

2021-07-08 22:36:14 265

原创 P1042 [NOIP2003 普及组] 乒乓球 个人刷题001

P1042 [NOIP2003 普及组] 乒乓球题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 1111 分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白 1111 分制和 2121 分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。题目描述华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计

2021-07-08 22:32:45 178

原创 图形学个人概述

计算机图形学文章目录计算机图形学@[toc]1、概述2、光栅化2.1 变换2.2 采样2.3 深度检测2.4 着色2.4.1 漫反射2.4.2 镜面反射2.4.3 环境光2.4.4 光照衰减2.4.5 Phong光照模型2.4.6 Blin-Phong光照模型2.4.7 着色方式2.4.8 纹理采样阴影3、几何3.1 曲面方程3.1.1 隐式曲面3.1.2 显式曲面3.2 CSG体素构造法3.3 贝塞尔曲线3.3.2 二阶贝塞尔曲线3.3.2 三阶贝塞尔曲线3.3.3 贝塞尔曲线通项3.3.4 贝塞尔曲面

2021-05-25 11:10:26 1225

原创 OpenGL + glfw + glad 环境配置

OpenGL + glfw + glad 环境配置1、工具下载(1)glfwGLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入,从网址 下载页 下载源代码(虽然提供了编译完成的二进制文件,但仍建议手工下载源代码通过CMake编译)(2)CMake需要通过CMake来将下载得到的源代码建立工程文件再得到与机器使用的二进制文件Cmake下载选择自己需要的版本即可。之后更具提示进行安装即可。

2021-04-14 16:21:13 818

原创 c++虚继承的各种情况

C++虚继承的一些理解1、代码这一段代码是正常继承的情况,基类CBase(第一层), 派生类 CDerived21 (第二层第一个),派生类CDerived22(第二层第二个),派生类CDerived3(第三层)这是一个典型的菱形结构class CBase { public: int b; public: CBase() { b = 1; } }; class CDerived21 : public CBase { public: int d

2021-04-08 19:29:42 185

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除