- 博客(106)
- 收藏
- 关注
原创 SDU程序设计思维实践题目总结
山东大学大二下学期程序设计思维与实践课程,平时作业以及训练题目,包含讲解博客,涉及算法,原题链接。部分T1,T2级别的简单题目未收录。
2020-04-03 10:50:17 2979 1
原创 [leetcode] 863二叉树中所有距离为K的结点
问题描述给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。示例输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, K = 2输出:[7,4,1]解释:所求结点为与目标结点(值为 5)距离为 2 的结点,值分别为 7,4,以及 1注意,输入的 “root” 和 “target” 实际上是树上的结点。上面的
2021-07-28 18:38:35 294
原创 从数学上推导伴随矩阵特征值
矩阵A的特征值非0的情况设矩阵A的特征值为λ\lambdaλ,则有Ax=λxAx=\lambda xAx=λx两边同时乘A∗A^*A∗,则有A∗Ax=λA∗xA^*Ax=\lambda A^*xA∗Ax=λA∗x由于A∗A=∣A∣EA^*A=|A|EA∗A=∣A∣E,则有∣A∣Ex=λA∗x|A|Ex=\lambda A^*x∣A∣Ex=λA∗x两边同时除以λ\lambdaλ,得到A∗x=∣A∣λxA^*x=\frac{|A|}{\lambda}xA∗x=λ∣A∣x于是∣A∣λ\displays
2021-07-26 14:53:00 5152
原创 从几何意义上理解逆矩阵与伴随矩阵的特征值与特征向量
文章目录矩阵、行列式、逆矩阵、伴随矩阵的几何意义矩阵逆矩阵行列式伴随矩阵特征值与特征向量的几何意义逆矩阵与伴随矩阵的特征值和特征向量后记矩阵、行列式、逆矩阵、伴随矩阵的几何意义矩阵首先要理解矩阵的作用,矩阵是一种空间变换关系,以方阵A为例[2101]\begin{bmatrix}2&1\\0&1\end{bmatrix}[2011]这个方阵表示将一个空间进行剪切变换,原始的iii从[10]\begin{bmatrix}1\\0\end{bmatrix}[10]变为[20]
2021-07-26 11:59:41 12182 6
原创 latex多重积分
重积分二重积分可以使用\iint表示∬\iint∬三重积分使用\iiint表示∭\iiint∭环路积分使用\oint表示∮\oint∮多重环路同理,但是需要在amsmath宏包后加上esint宏包下标一般直接使用\iint_D显示∬D\iint_D∬D想要让D在正下方,使用\iint\limits_D表示∬D\iint\limits_DD∬紧凑程度只使用amsmath宏包表示的三重积分有点稀疏在amsmath宏包后,加上esint宏包,同时使用\limits后更为美观
2021-07-16 15:29:40 4263
原创 测地距离场算法
文章目录说明距离场算法运行结果代码说明在阅读此博客前,请访问2018级山东大学计算机学院图形学实验汇总。距离场算法这个实验其实就是一个捏合的实验,并没有用到除了本实验内容外的什么东西,只用到了 libigl 和 VTP 的知识。也就是说我们需要做到大体掌握二者的用法。运行结果注:mesh始化位置放的不对的话,点击两次后,会显示如下阴间效果:代码#include "VTP/stdafx.h"#include "VTP/geodesic_mesh.h"#include "VTP/geod
2021-07-11 20:54:46 621
原创 扫描线填充多边形
文章目录说明扫描线算法代码说明在阅读此博客前,请访问2018级山东大学计算机学院图形学实验汇总。扫描线算法算法直接看课本就可以,讲解较为详细,但是需要注意的是,由于这个算法的局限性,有些特殊图案填充可能不够理想,例如这种自交多边形:代码#include <glad/glad.h>#include <GLFW/glfw3.h>#include "shader.h"#include <iostream>#include <cstdio>#i
2021-07-11 20:42:51 688 1
原创 Bresenham 算法
文章目录说明Bresenham代码说明在阅读此博客前,请访问2018级山东大学计算机学院图形学实验汇总。原笔记通过latex编写,csdn只支持latex部分功能,所以下面主要是将pdf截屏上传。Bresenham课本上的讲解十分清晰,这里不再赘述,需要注意,使用避免浮点数的方法是将 0.5 替换为 dx。需要注意的是,课本上的算法部分只能够画 x 正方向逆时针旋转 0-45 度的场景,其余情况需要将代码稍作修改。修改的方式可以采用矩阵乘法实现旋转功能,但是我没有实现,希望大家可以尝试一下。我
2021-07-11 20:33:26 907
原创 Sutherland-Hodgeman 多边形裁剪算法
文章目录说明Sutherland-Hodgeman代码说明在阅读此博客前,请访问2018级山东大学计算机学院图形学实验汇总。原笔记通过latex编写,csdn只支持latex部分功能,所以下面主要是将pdf截屏上传。部分内容参考中国农业大学mooc。Sutherland-Hodgeman算法较为简单,直接看课本就可以。代码/* * 项目名称:Sutherland-Hodgeman * 注意:polyPoint中存储的是多边形的所有顶点,每个顶点仅仅存一次 * 问题:processInp
2021-07-11 20:23:13 1396 1
原创 B Spline(B样条曲线)
文章目录说明B样条曲线代码说明在阅读此博客前,请访问2018级山东大学计算机学院图形学实验汇总。原笔记通过latex编写,csdn只支持latex部分功能,所以下面主要是将pdf截屏上传。部分内容参考课本。B样条曲线代码#include <glad/glad.h>#include <GLFW/glfw3.h>#include "shader.h"#include <iostream>#include <cstdio>#include &
2021-07-11 19:59:14 3730 3
原创 Liang-Barsky裁剪算法
算法介绍代码#include <glad/glad.h>#include <GLFW/glfw3.h>#include "shader.h"#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>using namespace std;const unsigned int SCR_WIDTH = 800;const unsign
2021-07-11 19:38:47 679
原创 2018级山东大学计算机学院图形学实验汇总
文章目录前言实验基本要求CmakeList.txt顶点着色器代码:shader.vs片段着色器代码:shader.fs着色器类:shader.h前言本文为计算机图形学实验汇总,实验采用glad与glfw编写,代码还有很多不完善的地方,例如可以将画线、画多边形等操作合理封装,形成一个完善的图形学头文件甚至名称空间,这样对后续实验的进行有很大的帮助,同时代码也会显得更加美观。glfw的学习网站是 LearnOpenGl , 想要完成下面代码,基本上入门部分学一半就够了, 更高级的如果有兴趣可以学一下。严
2021-07-11 11:12:15 3236
原创 CLion错误wchar .h not found解决方案
这种错误经常出现,我当时也没有升级系统,第二天重新写代码就报错了。经过查阅资料得知,原因是编译工具升级了,导致不兼容。(看来是编译工具不知道在什么时候自动升级了)这个时候就需要我们清除之前版本生成的二进制文件,也就是cmake-build-debug文件,具体操作方式是:找到Tools,然后点击CMake,最后点击 ResetCache and Reload Project。这也是误删cmake-build-debug文件后重新生成的方法。...
2021-05-02 10:28:13 1378
转载 汇编 常用中断列表 文件操作功能
文件操作隶属21h中断,下面介绍和文件操作有关的功能 3CH — 创建文件 3DH — 打开文件 3EH — 关闭文件 41H — 删除文件 43H — 读取/设置文件属性 45H — 复制文件句柄 46H — 重定义文件句柄 4EH — 查找到第一个文件 4FH — 查找下一个文件 56H — 文件换名 57H — 读取/设置文件的日期和时间 5AH — 创建临时文件 5BH — 创建新文件 67H — 设置文件句柄数(最多文件数) 6CH — 扩展的打开文件功能(打开、
2020-12-14 21:23:12 1019 2
原创 Bézier curve
文章目录说明de Casteljau AlgorithemBézier曲线代数表达公式Bézier曲线的矩阵表示说明原笔记通过latex编写,csdn只支持latex部分功能,所以下面主要是将pdf截屏上传。部分内容参考闫令琪老师的课程。de Casteljau AlgorithemBézier曲线代数表达公式Bézier曲线的矩阵表示...
2020-10-24 19:33:06 813
原创 Safari下载东西太慢怎么办?
因为latex环境出了一点问题,找半天都没找到解决方案,所以决定卸载重装。打开MaxTex官网后,下载:这个时候,我们需要打开safari的偏好设置选择最下面的:“在菜单中显示‘开发’菜单”然后选择“显示页面资源”这都是在你下载的那个页面打开的,显示如下:我们需要找到下载的链接,在这里我直接搜索Catalina,因为这个后面就是MacTex.pkg下载按钮,这样我们找到了下载的链接:复制这个链接,打开迅雷,下载就好了。4天变成了25分钟。参考博客:https://blog.cs
2020-06-23 22:10:44 9380 3
原创 宇宙狗的危机(区间dp)
问题描述在瑞神大战宇宙射线中我们了解到了宇宙狗的厉害之处,虽然宇宙狗凶神恶煞,但是宇宙狗有一个很可爱的女朋友。最近,他的女朋友得到了一些数,同时,她还很喜欢树,所以她打算把得到的数拼成一颗树。这一天,她快拼完了,同时她和好友相约假期出去玩。贪吃的宇宙狗不小心把树的树枝都吃掉了。所以恐惧包围了宇宙狗,他现在要恢复整棵树,但是它只知道这棵树是一颗二叉搜索树,同时任意树边相连的两个节点的gcd(greatest common divisor)都超过1。但是宇宙狗只会发射宇宙射线,他来请求你的帮助,问你能否
2020-06-06 11:25:44 1641
原创 ZJM要抵御宇宙射线
问题描述据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上。假设宇宙射线的发射点位于一个平面,ZJM已经通过特殊手段获取了所有宇宙射线的发射点,他们的坐标都是整数。而ZJM要构造一个保护罩,这个保护罩是一个圆形,中心位于一个宇宙射线的发射点上。同时,因为大部分经费都拨给了瑞神,所以ZJM要节省经费,做一个最小面积的保护罩。当ZJM决定好之后,东东来找ZJM一起对抗宇宙狗去了,所以ZJM把问题扔给了你~Input
2020-06-05 16:56:33 427
原创 TT数鸭子
问题描述这一天,TT因为疫情在家憋得难受,在云吸猫一小时后,TT决定去附近自家的山头游玩。TT来到一个小湖边,看到了许多在湖边嬉戏的鸭子,TT顿生羡慕。此时他发现每一只鸭子都不一样,或羽毛不同,或性格不同。TT在脑子里开了一个map<鸭子,整数> tong,把鸭子变成了一些数字。现在他好奇,有多少只鸭子映射成的数的数位中不同的数字个数小于k。Input输入第一行包含两个数n,k,表示鸭子的个数和题目要求的k。接下来一行有n个数,aia_iai ,每个数表示鸭子被TT映射之后的值。O
2020-06-05 16:49:03 1235
原创 计算机网络课程设计-Socket网络通信(C++, MacOS)
实验要求:利用Socket实现双机通信实验目的:利用Socket编程,采用其中的TCP面向连接方式,实现计算机数据的交换具体要求:操作系统:可在Linux或Windows操作系统下实现编程语言:C或C++,若使用Java、python等更高级的语言或脚本语言则须实现下面的“扩展功能”界面要求:图形界面或者命令行界面均可连接方式:局域网内通信,有线或无线网络均可实现功能:基本...
2020-05-31 20:11:00 3166 5
原创 ZJM 与纸条(KMP算法)
问题描述ZJM 的女朋友是一个书法家,喜欢写一些好看的英文书法。有一天 ZJM 拿到了她写的纸条,纸条上的字暗示了 ZJM 的女朋友 想给 ZJM 送生日礼物。ZJM 想知道自己收到的礼物是不是就是她送的,于是想看看自己收到的礼物在纸条中出现了多少次。Input第一行输入一个整数代表数据的组数每组数据第一行一个字符串 P 代表 ZJM 想要的礼物, 包含英语字符 {‘A’, ‘B’, ‘C’, …, ‘Z’}, 并且字符串长度满足 1 ≤ |P| ≤ 10,000 (|P| 代表字符串 P 的长度)
2020-05-27 22:08:03 565
原创 ZJM 与生日礼物(字典树)
问题描述ZJM 收到了 Q老师 送来的生日礼物,但是被 Q老师 加密了。只有 ZJM 能够回答对 Q老师 的问题,Q老师 才会把密码告诉 ZJM。Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串, 他问 ZJM:是否存在一个串是另一个串的前缀.Input多组数据。每组数据中包含多个仅有01组成的字符串,以一个9作为该组数据结束的标志。Output对于第 k 组数据(从1开始标号),如果不存在一个字符串使另一个的前缀,输出"Set k is immediately decodable",否
2020-05-27 20:45:07 391
原创 ZJM 与霍格沃兹(字符串哈希)
问题描述ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题题库格式:[魔咒] 对应功能背完题库后,ZJM 开始刷题,现共有 N 道题,每道题给出一个字符串,可能是 [魔咒],也可能是对应功能ZJM 需要识别这个题目给出的是 [魔咒] 还是对应功能,并写出转换的结果,如果在魔咒词典里找不到,输出 “what?”Input首先列出魔咒词典中不超过100000条不同的咒语,每条格式为:[魔咒] 对应功能其中“魔咒”和“对应功能”分别为长度不超过20和80的字符串,字符串中保证不
2020-05-27 17:35:53 1355
原创 N-ary Trie的实现与分析(字典树)
N-ary Trie的实现与分析,索引化用户给定的文档,文档中每一行都是一个单词(单词不同)。构建字典树,实现查找,插入,删除,遍历操作。
2020-05-23 21:46:12 713 1
原创 Q老师度假(变形矩阵快速幂优化DP)
问题描述忙碌了一个学期的 Q老师 决定奖励自己 N 天假期。假期中不同的穿衣方式会有不同的快乐值。已知 Q老师 一共有 M 件衬衫,且如果昨天穿的是衬衫 A,今天穿的是衬衫 B,则 Q老师 今天可以获得 f[A][B] 快乐值。在 N 天假期结束后,Q老师 最多可以获得多少快乐值?Input输入文件包含多组测试样例,每组测试样例格式描述如下:第一行给出两个整数 N M,分别代表假期长度与 Q老师 的衬衫总数。(2 ≤ N ≤ 100000, 1 ≤ M ≤ 100)接下来 M 行,每行给出
2020-05-23 09:34:34 1010
原创 Q老师染砖(矩阵快速幂优化DP)
问题描述衣食无忧的 Q老师 有一天突发奇想,想要去感受一下劳动人民的艰苦生活。具体工作是这样的,有 N 块砖排成一排染色,每一块砖需要涂上红、蓝、绿、黄这 4 种颜色中的其中 1 种。且当这 N 块砖中红色和绿色的块数均为偶数时,染色效果最佳。为了使工作效率更高,Q老师 想要知道一共有多少种方案可以使染色效果最佳,你能帮帮他吗?Input第一行为 T,代表数据组数。(1 ≤ T ≤ 100)接下来 T 行每行包括一个数字 N,代表有 N 块砖。(1 ≤ N ≤ 1e9)Output输出满足条
2020-05-22 22:15:15 463
原创 Q老师的考验(矩阵快速幂)
问题描述Q老师 对数列有一种非同一般的热爱,尤其是优美的斐波那契数列。这一天,Q老师 为了增强大家对于斐波那契数列的理解,决定在斐波那契的基础上创建一个新的数列 f(x) 来考一考大家。数列 f(x) 定义如下:当 x < 10 时,f(x) = x;当 x ≥ 10 时,f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10),ai 只能为 0 或 1。Q老师 将给定 a0~a9,以及两个正整数 k m,询问 f(
2020-05-22 22:00:37 560
原创 Q老师与十字叉
问题描述Q老师 得到一张 n 行 m 列的网格图,上面每一个格子要么是白色的要么是黑色的。Q老师认为失去了 十字叉 的网格图莫得灵魂. 一个十字叉可以用一个数对 x 和 y 来表示, 其中 1 ≤ x ≤ n 并且 1 ≤ y ≤ m, 满足在第 x 行中的所有格子以及在第 y 列的 所有格子都是黑色的例如下面这5个网格图里都包含十字叉第四个图有四个十字叉,分别在 (1, 3), (1, 5), (3, 3) 和 (3, 5).下面的图里没有十字叉Q老师 得到了一桶黑颜料,他想为这个网格图注
2020-05-22 21:34:19 453
原创 猫睡觉问题(模拟)
问题描述众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○]可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰!现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴!众所周知,这只魔法喵很懒,和TT一样懒,它白天不能连续活动超过 B 个
2020-05-22 15:58:02 1493
原创 Q老师与石头剪刀布(思路)
问题描述每一个大人曾经都是一个小孩,Q老师 也一样。为了回忆童年,Q老师 和 Monika 玩起了石头剪刀布的游戏,游戏一共 n 轮。无所不知的 Q老师 知道每一轮 Monika 的出招,然而作为限制, Q老师 在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀。如果 Q老师 赢了 Monika n/2(上取整) 次,那么 Q老师就赢得了这场游戏,否则 Q老师 就输啦!Q老师非常想赢,他想知道能否可以赢得这场游戏,如果可以的话,Q老师希望你能告诉他一种可以赢的出招顺序,任意一种都可以。
2020-05-21 22:28:41 458
原创 [csp201809-3] 元素选择器(模拟)
Sample input11 5html..head....title..body....h1....p #subtitle....div #main......h2......p #one......div........p #twop#subtitleh3div pdiv div pSample output3 6 9 111 602 9 ...
2020-05-20 17:18:05 327
原创 TT的神秘任务3(单调队列优化DP)
问题描述TT 猫咖的生意越来越红火,人越来越多,也越来越拥挤。为了解决这个问题,TT 决定扩大营业规模,但猫从哪里来呢?TT 第一时间想到了神秘人,想要再次通过完成任务的方式获得猫咪。而这一次,神秘人决定加大难度。给定一个环,A[1], A[2], A[3], … , A[n],其中 A[1] 的左边是 A[n]。要求从环上找出一段长度不超过 K 的连续序列,使其和最大。这一次,TT 陷入了沉思,他需要你们的帮助。Input第一行一个整数 T,表示数据组数,不超过 100。每组数据第一行给
2020-05-19 21:01:49 442
原创 TT的苹果树(没有上司的舞会,树形DP)
问题描述在大家的三连助攻下,TT 一举获得了超级多的猫咪,因此决定开一间猫咖,将快乐与大家一同分享。并且在开业的那一天,为了纪念这个日子,TT 在猫咖门口种了一棵苹果树。一年后,苹果熟了,到了该摘苹果的日子了。已知树上共有 N 个节点,每个节点对应一个快乐值为 w[i] 的苹果,为了可持续发展,TT 要求摘了某个苹果后,不能摘它父节点处的苹果。TT 想要令快乐值总和尽可能地大,你们能帮帮他吗?Input结点按 1~N 编号。第一行为 N (1 ≤ N ≤ 6000) ,代表结点个数。接下来
2020-05-19 17:12:50 367
原创 TT的奖励(动态规划)
问题描述在大家不辞辛劳的帮助下,TT 顺利地完成了所有的神秘任务。神秘人很高兴,决定给 TT 一个奖励,即白日做梦之捡猫咪游戏。捡猫咪游戏是这样的,猫咪从天上往下掉,且只会掉在 [0, 10] 范围内,具体的坐标范围如下图所示。TT 初始站在位置五上,且每秒只能在移动不超过一米的范围内接住掉落的猫咪,如果没有接住,猫咪就会跑掉。例如,在刚开始的一秒内,TT 只能接到四、五、六这三个位置其中一个位置的猫咪。喜爱猫咪的 TT 想要接住尽可能多的猫咪,你能帮帮他吗?Input多组样例。每组样例输入一
2020-05-19 16:42:08 1139
原创 TT的神秘任务2(思路)
问题描述在你们的帮助下,TT 轻松地完成了上一个神秘任务。但是令人没有想到的是,几天后,TT 再次遇到了那个神秘人。而这一次,神秘人决定加大难度,并许诺 TT,如果能够完成便给他一个奖励。任务依旧只给了两个数字,分别表示 n 和 k,不过这一次是要求 TT 给出无法被 n 整除的第 k 大的正整数。例如 n = 3,k = 7,则前 7 个无法被 n 整除的正整数为 [1 2 4 5 7 8 10],答案为 10。好奇的 TT 想要知道奖励究竟是什么,你能帮帮他吗?Input第一行一个整数
2020-05-19 16:29:32 522
原创 TT的神秘任务1(思路)
问题描述这一天,TT 遇到了一个神秘人。神秘人给了两个数字,分别表示 n 和 k,并要求 TT 给出 k 个奇偶性相同的正整数,使得其和等于 n。例如 n = 10,k = 3,答案可以为 [4 2 4]。TT 觉得这个任务太简单了,不愿意做,你能帮他完成吗?本题是SPJInput第一行一个整数 T,表示数据组数,不超过 1000。之后 T 行,每一行给出两个正整数,分别表示 n(1 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 100)。Output如果存在这样 k 个数字,则第一行输出
2020-05-19 15:29:51 759
原创 Week12-选做题2(状压DP)
问题描述马上假期就要结束了,zjm还有 n 个作业,完成某个作业需要一定的时间,而且每个作业有一个截止时间,若超过截止时间,一天就要扣一分。zjm想知道如何安排做作业,使得扣的分数最少。Tips: 如果开始做某个作业,就必须把这个作业做完了,才能做下一个作业。Input有多组测试数据。第一行一个整数表示测试数据的组数第一行一个整数 n(1<=n<=15)接下来n行,每行一个字符串(长度不超过100) S 表示任务的名称和两个整数 D 和 C,分别表示任务的截止时间和完成任务需要的天
2020-05-11 22:54:19 337
原创 Week12-选做题1(区间DP)
问题描述We give the following inductive definition of a “regular brackets” sequence:the empty sequence is a regular brackets sequence,if s is a regular brackets sequence, then (s) and [s] are regular brackets sequences, andif a and b are regular brackets s
2020-05-11 22:37:54 298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人