- 博客(48)
- 资源 (6)
- 收藏
- 关注
原创 “make[1]: yarn: 没有那个文件或目录”解决方法
如果你直接使用yarn命令可以使用,但是使用make的时候内置的命令报这个错误说明你是用的npm安装的yarn这种yarn不能被make调用,so,你需要用。yum的方式安装yarn才可以,这样安装的yarn才会出现在bin目录,才能被make使用。
2022-12-30 21:59:13
1173
原创 2022蓝桥杯c++B组,解题记录
选择题略过本题解皆为现场题解记录,不能保证与官方题解相同。C:刷题统计小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在 第几天实现做题数大于等于 n 题?当数据量较大时一天天的模拟明显速度不足,原因在于其中包含的无效计算。如果1000天之后实现,那么是很多星期之后,而每个星期的做题量是相同的,因此这就是重复计算。所以我们采取的方法是用总题数除以每星期可以做的题目,得到需要几星期。然后余数再用模拟
2022-04-11 18:05:07
1120
原创 蓝桥杯·寒假百校真题大联赛(大学B组)(第5期)题目讲解:全球变暖
#include<iostream>#include<algorithm>#include<cmath>#include<climits>#include<cstring>using namespace std;bool s[1005][1005];bool temS[1005][1005]; bool flag[1005][1005];void DFS(int x,int y,int n,bool &deathLand.
2022-03-26 16:55:38
282
原创 蓝桥杯·寒假百校真题大联赛(大学B组)(第5期)题目讲解:日志统计
初步优化的方式就是减去无效计算,减少无效计算的一种方法就是要重点关注题目的问题域,尽量不要计算问题域之外的数据。
2022-03-26 16:10:27
454
原创 蓝桥杯·寒假百校真题大联赛(大学B组)(第5期)测试次数(DP)
s[i][j]的意思是在最佳策略最坏情况下且还有i部手机j种可能性没有被确定(j层楼)的情况下预计需要测试多少次才能将可能性降为1,即确定手机会在哪一层楼被摔坏。
2022-03-13 21:00:03
673
原创 二进制运算技巧
如何提取每一位二进制位: 定义一个int数值为1,然后将这个int与要提取二进制位的进行“按位与”便能拿到最低位的二进制值,然后将这个int值进行左移处理,循环进行直到最高位被取出为止。
2022-03-05 15:48:50
911
原创 地毯(动态规划以及差分数组)
#include<iostream>#include<algorithm>using namespace std;int n,m;int v[1001][1001];int s[1001][1001];int main(){ cin>>n>>m; for(int i=0;i<m;i++)//前缀和 { int lx,ly,rx,ry; cin>>lx>>ly>>rx>>ry;.
2022-02-28 23:19:43
143
原创 DP(动态规划)的本质以及基础优化
DP的本质是通过记录之前的计算结果来计算之后的计算,从而减少重复计算。其他方面的详细分析请看我b站系列视频:https://space.bilibili.com/173514345/
2022-02-27 11:09:34
355
原创 蓝桥杯·寒假百校真题大联赛(大学B组)(第2期)《迷宫》(DFS版本)
蓝桥杯·寒假百校真题大联赛(大学B组)(第2期)《迷宫》(DFS版本),有配套B站讲解。
2022-02-14 17:21:52
269
2
原创 操作系统考研习题讲解——生产者消费者习题001
目录生产者消费者问题题解001. 1常规解题方法/解题思路:... 1最佳参考答案... 1题目分析... 3其他两种参考答案:... 3生产者消费者问题题解001本次讲解分为常规解题讲解和题目分析两个部分,只求会解题的同学可以直接看第一部分,有疑问的可以继续看第二部分。常规解题方法/解题思路:最佳参考答案semaphoremutex=1;//互斥使用取号机semaphoreempty=10;//空座位数量semaphore...
2021-11-09 15:06:57
1791
原创 已经是指针了却还用取地址
const char* clipName = ms.clips[i].clipName.c_str(); file.write((char*)clipName, cliph.clipNameNum); const char* clipName = ms.clips[i].clipName.c_str(); file.write((char*)&clipName, cliph.clipNameNum)...
2021-07-31 10:40:40
240
原创 明明本身就是长度了还用sizeof
char* jname = new char(hClip.clipNameNum); file.read((char*)jname, hClip.clipNameNum); cout <<"old name"<<string(jname)<<endl; char* jname = new char(hClip.clipNameNum); file.read((char*)jname,sizeof(hClip.clipNameNum));...
2021-07-31 10:36:08
100
原创 知识时代带来的新问题
知识时代带来的新问题:很多人经常表示那些社恐抑郁症的人就是吃饱了撑的,还有人发现为什么随着时代的发展有更多的的人努力和回报不得正比,为什么?这一切的源头其实来着数字信息时代,信息时代和之前最大的不同就是,由一次学习终身受益,变为了需要终身学习。本来之前许多天赋并不是很突出的人,通过增加学习时长,可以在某一门亘古不变的手艺上面精益求精,逐渐成为大师。但是在信息时代,你现在学的技术可能两年之后就会被淘汰。所以一个人的学习能力才代表着这个人的实力。这会导致什么现象呢?这会导致有一部分人会永远的排除在社会劳动能力
2021-05-24 12:04:35
154
原创 IDEA社区版,一键配置Servlet3.0
网上关于IDEA servlet最火的几个资源都是用的破解IDEA,而破解总是不是这么光明正大的事情,况且就算用的破解版也没有简化多少步骤。本人在此也期待有人能利用好破解版的JavaEE来真正的一键配置。在此我需要依靠一个插件以及导入几个库。为了简化书写难度,我们放上图片之后点哪里直接用鼠标表示。看的高亮的地方。首先新建一个Java工程打开设置找到插件在搜索框输入SmartTomcat之后回车,点击中间的拿个蓝字体,进入市场搜索。(上面的DDD是假装我没有安装插件,因为sma
2021-05-19 15:52:51
2967
14
原创 Nodejs使用ffi调用so库
首先安装nodejsapt install node或者apt install nodejs这两个之间有一个指令可行。然后执行apt install npm到工程目录下npm install ffi-napi --save然后建一个你自己的so库,或者调用的so库。下面是我的源文件 add.cextern "C" int add(int a,int b) { return a+b;}注意如果是c和c++混合编写的源文件,一定要在c接口处注明extern "
2021-05-17 12:40:57
3183
8
原创 数学到底该理解哪些部分才能高效
推导过程你可以不理解也没必要理解,但是定义必须要理解。这里的理解是指与大脑中的某种思维模型可以产生映射,这样你才能将题干和现实问题转化为初始表达式,然后进一步推导,而推导过程是个纯数学过程,是数学之间的映射,没必要非得与原有思维联系,而且也很难联系。当然不可否认的是联系一下会很有趣。...
2021-04-27 17:10:03
95
原创 什么是真正严格要求自己
严格要求自己是严格遵循自己认为正确的方式方法,而不是形式上的严格。例如你认为某件事情应该灵活处理,但是你总是忍不住的进行刻板化的流程处理,这就不是严格要求自己。虽然从形式上好像后者更加严格,但是本质上你没有遵守住自己认为正确的方式方法。...
2021-04-19 11:58:35
543
原创 递归的思考方式
当学习递归的时候大家都不经意间试图将递归展开,研究它什么时候返回,什么时候继续前进,返回带回来什么信息等。但是那些都是为了便于你了解递归的底层实现原理,真正使用递归思想的时候如果还用这一套分析方法就显得有些呆板了,把递归分成递推和回归的做法除非是为了分析递归本身否则是不明智的。真正的递归思想就是假设我们已经得到了结果然后我们应该怎么办。例如下面这两个链表正序和逆序输出的例子:void BackShow(Node *n){ if (n == NULL) return; BackSh
2021-04-14 20:14:57
411
原创 不要把不发生变化的数据放到形参中
当写一个c语言函数的时候,经常有些人为了通用性拒绝开辟全局变量,而把一个不动的参数作为函数的形参,随着递归的调用,会浪费大量的空间。这里的不动的参数可以举个例子,例如某种数据容器的指针(stack等)这个指针只向的容器在递归的过程中没有发生任何变化却随着递归的执行一次又一次的发生复制,这就是对空间的极大的浪费。解决方法无外乎两种,第一种就是开辟一个全局变量用来存储这个指针,并在递归函数开始前进行初始化。第二就是使用面对对象编程,建一个属性,这样既能实现功能又能做到很好的隔离,两全其美。...
2021-04-14 19:46:00
111
原创 矛盾的俗语,成大事者不拘小节与一屋不扫,何以扫天下的辨析?
矛盾的俗语,成大事者不拘小节与一屋不扫,何以扫天下的辨析?成大事者不拘小节是指不拘泥于与目标不相干的琐碎事物。一屋不扫,何以扫天下是指对待事情要从小的细节做起。
2021-04-14 09:17:07
2011
原创 无返回值的递归转非递归方法
本文将讲解把递归通过栈转化为非递归形式的方法,初步设计为无返回值的递归,具体是否能携带返回值我们进一步考证。不过理论上多加一个参数就可以了。再次我们拿经典的汉诺塔问题进行讲解。下面是两种不同形式的代码样例:#include <iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<functional>using namespace std;sta
2021-04-12 22:44:10
840
原创 决策树,状态机等模型的本质意义。
原文:https://blog.youkuaiyun.com/gao7009/article/details/80221163模型的本质意义是为了模式化逻辑,使得复杂问题简单化,同时尽可能的实现代码复用以及尽可能高的可扩展行。根据“敏捷开发原则”因此如果你用上这些模型之后反而逻辑不畅请换个模型,其次不要跟一个模型较真,模型具有局限性,当遇到有局限性部分的模型,当场隔离出来换个模型并将他们组合起来发挥作用。其次,代码的本质就是条件和动作。所以无论什么模型都可以做成并行的一连串的if语句,甚至都不用进行if嵌套。我
2021-03-29 22:30:41
730
原创 if elseif elseif else结构和switch case结构的逻辑表达以及语法使用区别
For没有“递”的过程只有“归”的过程。是先用for把栈全部塞进去再往外弹出,如果是这样的话还不如一不做二不休直接做成递推模式。而且这种完全靠for压栈的方式,无法通过递归反馈动态的调整搜索分支。但是对于那种单纯的公式化的递归就十分好用。而纯栈处理的时候更类似于函数的调用。可以应对几乎任何尾情况。当然想要完全外部模拟函数调用的话还需要进一步的加工,这个我们后期再研究。...
2021-03-29 21:50:19
508
原创 胡氏哲学——为什么你感觉很多人在针对你,或者有些人错了但是不知道错在哪里。(1)别人好像不讲理
生活中有些人可能会遇到以下情况。感觉有一个人在针对他,或者说就感觉这个人做的哪里不对,但是从理论上分析却发现他没有做的不对的地方。最后这种情况往往就总结为这个人太小气,这个人品德不好之类的。其实当你做出这样的总结的时候,本质上是在自我安慰。因为你找不到他哪里不对,然后又觉得这个人就是不对,所以给自己找了个理由。又或者你会从自己的角度出发,找一些他对你不利的方面,然后就说这个人做错了本质上来说,这也是一种片面的看法。这就会间接的导致更多人看起来在针对你,在现实生活中,很多人在理解事情的时候都会先入为主,也就是
2021-02-27 15:58:04
699
原创 c#配合c++调节屏幕亮度,非伽马以及RGB方案
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <iostream>#include <Ntddvdeo.h>using namespace std;#define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS CTL_CODE(FILE_DEVICE_.
2021-02-27 13:08:24
4185
24
原创 胡氏生活哲学带你看透人生的迷雾——无私和自私。为什么有时候看起来无私会引来谩骂,而自私一点却相安无事呢?
做人不能太自私,什么是自私呢,什么又是真正的无私呢?为什么有时候看起来无私会引来谩骂,而自私一点却相安无事呢?如果你不止一次的好心帮别人却惹来一肚子气,那么你就急需下面这篇文章了,它将会给你揭开迷雾看到真相。无私的基本表现就是去帮别人做事情,自私就是只为自己做事情。这只是表现,就这种表现的抽象概念还有很多。那么什么是真正的无私?为什么有时候看起来自私一些反而对别人有好处呢?首先我提前声明,刚才两个问句中提到的无私和自私都是普通人理解到的无私和自私,也就是说在这种理解下会产生很多歧义,产生一些无法定义的事件
2021-02-20 22:52:26
619
4
原创 fseek读取失效(回退时总是直接到达文件头)
如果你fseek使用负的偏移值的时候总是莫名其妙的直接到达文件头,那么你就需要好好看看这篇文章了。其他的文章中提到过如果使用的时追加读取模式或者单纯的“w”模式的话,会导致fseek失效,但是我不知道到底怎么一个失效表现,没有亲自尝试过。但是据他们的文章显示只要把“W”变成“W+”就行了。但是如果你的fseek出现了总是跑到文件头的现象的话,除了上面的可能性,还有一种可能性。我们知道fopen打开的文件流可以时文本文件也可以时二进制文件,但是当在文本文件的状态下fseek就会出现失灵的现象。可是理论上f
2021-02-11 17:45:32
906
原创 BlockE核心物理触发器设计——设计动机及其考虑
BUGE物理引擎分为触发引擎和牛顿引擎两种引擎,触发引擎只负责区块的转移和区块的探索以及物理触发器的触发。而牛顿引擎将模拟反弹碰撞等特效,牛顿引擎依赖于触发引擎,这是由于牛顿引擎需要与触发引擎相互作用的结果,只有触发引擎的物体对于拥有牛顿引擎的方块来说是刚体。所有的方块默认带有触发引擎(以及基础显示引擎)。牛顿引擎属于可选引擎(可选择为实体),同时牛顿引擎分为两种子引擎,第一种是使用字链表的推动式引擎,优点是精度高不容易出现反牛顿的现象,缺点是设计复杂易出错而且对待旋转的物体不友好(如果物体发生旋转会发生反
2020-12-05 22:57:20
570
原创 005插件类编写——搜索插件SearchDirection2D及其依赖的抽象数据结构AbstractBlock2D
//抽象数据结构,供插件使用,这是一个数据插件public abstract class AbstractBlock2D{ private AbstractBlock2D left; private AbstractBlock2D right; private AbstractBlock2D up; private AbstractBlock2D down; public abstract int X { get; set; } public abstr...
2020-12-05 16:51:47
157
原创 003设计框架的修正——对插件和模块概念的修正
之前我们使用接口来用来链接插件和模块,后来我发现如果这样的话会出现大段的代码重复,也就是说插件起的作用并不大。其次插件的作用并不是用来管理模块而是辅助模块工作,也就是模块提供给插件一些数据,然后插件经过运算返回一些数据。如果用上一篇对插件的设计的话就会导致本末倒置,我们赋予了插件管理模块的能力,既然要管理模块势必会导致模块数据化,这样就要付出额外的成本来维护我们模块,以使我们的模块符合插件的需求。但是旧的设计还是有一些优势的那就是每个模块都可以当数据处理,也就是可以实现嵌套递归的对数据和模块的定义,即模块套
2020-12-05 14:01:59
143
原创 004使用递归定义方式定义的数据结构——BlockEData类
public class BlockEData{ public int x; public int y; public BlockEData left; public BlockEData right; public BlockEData up; public BlockEData down;}这里使用的是十字链表法,表头由于仅仅是一个数组所以将它简单的合并在物理引擎类中不再另开新类。其中数据域是int x和int y,使用整形保证数据的跨平台运行,抛弃了浮点数的不...
2020-12-04 23:21:13
198
原创 002类的初始设计结构——数据结构和算法草稿
物理引擎blockE X索引头 Y索引头 方向结构enum 探测某个方向下一个方块。 探测某个方向的紧邻的方块。 添加方块碰撞回调。(当两个方块的碰撞区域处于同一个节点) 添加碰撞方块 删除碰撞方块 改变碰撞方块的激活状态 移动方块 添加回调(内部方法) 添加添加碰撞方块事件回调 添加删除碰撞方块事件回调 添加改变激活状态事件回调 添加移动方块事件回调 从全部事件中删除某个回调。 物理数据结构blockData X Y 上邻接块
2020-12-04 23:13:44
130
原创 001首先确定设计风格——模块化插件化设计
模块化设计 模块化设计会导致一定的信息冗余,例如,我们的显示模块需要世界坐标而物理模块也需要世界坐标因此我们存储了两个坐标,但是由于这两个模块相距很远因此这样的冗余是值得的,试想你或许可以实现显示位置和物理位置不一样这样的功能。因此各个模块之间功能差异需要比较大才可以。其次模块化之中有一个很重要的插件的概念,所谓插件应该是属于单一的抽象算法逻辑而不能依赖于任何模块,这样插件才可以实现通用化。 对于插件我们可以使用接口来决定插件的抽象操作,然后基于这些抽象的操作进行处理。同时我...
2020-12-04 20:02:27
175
1
原创 融会贯通面对对象编程思想
想要提高程序的复用率就分的类多一点,想要一个地方可以灵活替换就用虚的东西,包括接口,将你想要的所有可能在这里替换的功能都抽象出来,并在相应的具体的类中实现。...
2020-03-15 16:33:58
171
1
BGLightChangeDLL.zip
2021-02-28
BGLight.zip
2021-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人