- 博客(23)
- 收藏
- 关注

原创 数论进阶——莫比乌斯反演
莫比乌斯反演前言本文参考pengym的莫比乌斯反演,讲得极好莫比乌斯函数定义对于整数ddd,我们先对其进行质因数分解:d=∏i=1mpikid = \prod_{i=1}^{m} p_i^{k_i}d=i=1∏mpiki其中pip_ipi为互不相等的质数,以此为前提,莫比乌斯函数μ(d)\mu(d)μ(d)的定义是:μ(d)={1if d=1(−1)mif&n...
2020-03-07 21:36:43
410

原创 扫描线入门
扫描线入门本文的文字部分有些冗长,有些地方讲的也有些枯燥,但是笔者已经尽量让文字不那么晦涩,也加了一些配图,相信坚持看完的读者会有所收获本文参考:https://blog.youkuaiyun.com/tomorrowtodie/article/details/52048323矩形面积并对于矩形A,BA,BA,B,它们的面积并就是A∪BA \cup BA∪B的面积,多个矩形的情况可以类比一下。有一种想...
2020-02-26 18:56:13
340
原创 状压DP基础练习
状压DP练习HDU 1565 方格取数(1)题意:给定n×nn\times nn×n的棋盘,每个格子的数非负,从中选若干个方格取出数字且保证选定方格间没有公共边,问取出的数的和最大为多少。输入规模n≤20n\le 20n≤20思路:可以考虑到用0表示不取,1表示取,则每行有1<<n个状态,如果直接枚举1~n比较浪费时间,可以先预处理出哪些状态是符合要求的。首先我们关注相邻行,假设两个单行状态s1,s2s1,s2s1,s2已经满足要求,显然状态对应的二进制不能有上下相邻的1,即1不能和1
2020-07-28 20:51:07
239
原创 软件构造学习记录——知识点总结
软件构造知识点总结本文仅供参考,不能保证正确性,且部分内容因为在实验中已经多次练习过,便不再赘述软件构造的多维视图Code-level view: source code——代码的逻辑组织Component-level view: architecture——代码的物理组织Moment view: 特定时刻的软件形态Period view: 软件形态随时间的变化软件构造的质量目标外部质量因素:影响用户,取决于内部质量,matters正确性:最重要的质量指标健壮性:对异常
2020-07-07 08:24:02
322
原创 软件构造——Lab4测试部分客户端代码的方法
Lab4测试部分客户端代码的方法本文提供一种测试客户端部分代码的方法因为客户端程序通常需要向控制台输入文本,那就不可避免地要用Scanner()进行读入,这时对于参数列表中有Scanner类型的方法来说,我们就可以采用文本进行读入,比如public void userIn(Scanner cin) {...}测试的时候可以@Testpublic void testUserIn() throws FileNotFoundException { Scanner cin = new Scan
2020-06-03 21:47:17
282
原创 软件构造学习记录——Lab3总结
Lab3总结设计模式在实验中,主要采用了方案5,多处使用委托机制;实验中主要使用了Strategy、Facade、State模式,这个实验的主要设计部分应该就是设计模式的部分,其他部分就不赘述了State模式entryState部分采用State模式,关系图如下每个特定的State状态(如WaitingState)均继承于State类,State是一个定义了一些方法的抽象函数,每个子类实现其抽象函数,上图中的getState()方法不是抽象的(容易看出图中空心的部分都是抽象的)。枚举类Entry
2020-05-18 17:21:04
265
原创 软件构造学习记录——Swing
Swing学习记录前言Java 1.0刚刚出现时,包含了一个用于基本 GUI 程序设计的类库,被称为抽象窗口工具箱(Abstract Window Toolkit,AWT),然而不同平台上运行的AWT用户界面库存在不同的bug,后来Sun公司和Netscape合作,创建了一个名为Swing的用户界面库。值得注意的是,Swing没有完全取代AWT,而是基于AWT构架之上,Swing仅仅提供了更强...
2020-04-22 17:58:18
231
原创 软件构造学习记录——测试异常的两种方法
Junit提供了一种测试异常的手段,如果只需要测试抛出的异常类,可以按如下方式测试@Rulepublic ExpectedException expectedEx = ExpectedException.none(); @Test(expected = IllegalAccessException.class)public void testXXX() throws Illegal...
2020-04-01 08:17:59
301
原创 软件构造学习记录——ADT和表示泄露rep exposure
前言谨以此文记录近日软件构造学习了诸多概念,防止记忆混淆,同时记录一下学习内容(怎么感觉和写日记一样ADTADT(Abstract data type),即抽象数据类型,可以简单理解为实现了一组操作的数据类型也许可以这么理解,与基本数据类型不同,抽象数据类型强调作用在数据上的操作,而不是数据的具体表示,需要注意的是,一个抽象数据类型是由它的操作和规约定义的,而不是操作的具体实现Repres...
2020-03-26 11:21:58
486
原创 'Model'object has no attribute '_get_distribution_strategy'的一种解决方案
先给出笔者的tensorflow和keras版本如题,笔者在用别人的代码的时候出现了’Model’object has no attribute '_get_distribution_strategy’的错误,百度半天也没有找到解决方案,只知道貌似是版本不同导致的。由于笔者是在anaconda下配置tensorflow和keras的,下文仅提供在此前提下的一种解决方案(不一定可行,尝试前请先备...
2020-03-16 18:16:35
7857
10
原创 杜教筛学习记录
杜教筛积性函数对于数论函数f(x)f(x)f(x),如果对于任意满足gcd(x,y)=1\gcd(x,y)=1gcd(x,y)=1的x,yx,yx,y,有f(x⋅y)=f(x)⋅f(y)f(x\cdot y)=f(x)\cdot f(y)f(x⋅y)=f(x)⋅f(y),则称f(x)f(x)f(x)为积性函数;如果去掉互质的条件仍能满足后面的性质成立,则称f(x)f(x)f(x)为完全积性函...
2020-03-16 17:53:08
175
原创 杂记——重启后Windows文件都还在,设置没了
下面的故事告诉我们有事没事别瞎按键盘今日下午,笔者的一位友人无中生友觉得电脑的贴纸太丑,决定撕掉它,由于键盘上的贴纸都是独立的,撕起来很麻烦,正好此时友人的电脑正在重启,然后我们也不知为什么重启的时间巨长。然后就出现了欢迎使用Windows的图片,弹出来个小娜,我们人都傻了,友人的电脑里有许多重要的文件学习资料,要是重置了就完蛋了,一顿操作后打开"我的电脑"发现里面的文件都还在,但是所有设置都消...
2020-03-16 17:39:00
279
原创 软件构造踩坑记录——装了多个jdk的下场
今天的坑貌似有点多系统默认编码不同ubuntu默认编码为utf-8,简中的windows默认是gbk的,ubuntu上写的代码的注释到windows就乱码了,很神奇的是注释乱码为啥javac编译的时候也报错,它连注释都看的吗。解决方案:javac -encoding utf-8 balabala.java装了多个版本的jdk由于在windows系统里实验前就安装过jdk,也忘了...
2020-03-09 12:47:07
173
原创 软件构造踩坑记录——测试
(3.4的修改忘了没传到git仓库,一起交了)中间几天都没有动实验,懒了。今天写了一下测试,测试真是毒瘤,踩了许多坑,不过好在终于完成了。记录一下踩的坑为了读入时能够判断是否重名,我在Person类中添加了一个静态私有成员Setpeoples,用于记录已经添加过的人的姓名的集合,于是悲剧开始了,写完测试函数后一个一个测试完全没有问题,于是开开心心疯疯癫癫得开始一起测试,然后就输出了"Each p...
2020-03-08 22:35:08
151
原创 浅谈DFS序
DFS序是什么定义:树的dfs序是一个序列(可以类比前序序列等),顾名思义,就是在按照dfs时搜到的顺序得到的序列比如说,来张图上面这棵树的dfs序为:1 3 2 4 6 7 5 8 10 9为什么是DFS序大家可能在想把一棵树转化成一个序列有什么用,在回答这一问题之前,我们先看看dfs序它有什么有用的性质。可以发现,节点uuu的子树在dfs序中为一段连续的区间,那利用dfs序就可以把...
2020-03-06 10:21:52
1437
原创 软件构造学习笔记——git远程仓库拒绝被更新
昨晚十点的时候在远程仓库加了README.md而本地仓库没加(在github网页看到提示要加README.md,就直接在网页那加了),之后再次向远程仓库提交时出现了远程仓库拒绝更新等提示,如下图不管干啥前先备份!一番摸索后输入下面命令后,再输入git push origin master命令就可以继续提交了,不加 --allow-unrelated-histories 会出现 fatal:无关...
2020-02-29 07:38:11
204
原创 ubuntu下wps文档被锁定的一种解决方案
WPS在ubuntu下是非常好的Office替代产品,但是有些时候wps异常退出后会出现下面的情况,打开的文档也只能是只读模式找到文档所在目录键盘按下ctrl+h,显示以"."开头的文件删除它,再打开就没有问题了...
2020-02-28 08:27:37
1933
1
原创 Tarjan算法——强连通、割点、桥
Tarjan算法概念区分有向图强连通:在有向图GGG中,如果两个顶点u,v (u≠v)u, v\ (u \neq v)u,v (u=v)间有一条从uuu到vvv的有向路径,同时还有一条从vvv到uuu的有向路径,则称u,vu, vu,v强连通强连通图:如果有向图GGG的任意两个不同的顶点都强连通,则称GGG是一个强连通图强连通分量:有向图GGG的极大强连通子图...
2020-02-26 19:13:45
282
原创 ACM基础数论
数论初步本文巨长警告PS:以下部分定理没有证明,如果有读者想要了解定理的具体证明,请自行百度,本文限于篇幅~~(只是因为笔者自己不会)~~,对部分定理的证明不作讨论。本文讲啥本文主要讲的是ACM中的数论基础内容~~(以后可能会再写一篇ACM的数论进阶内容)~~,侧重应用,证明都是瞎证的,严谨的证明请观众姥爷自行百度线性筛筛素数埃氏筛埃氏筛用每个素数来筛掉它的倍数,剩下的就是素数,时间...
2020-02-26 19:06:16
404
2
原创 常数优化之循环展开
常数优化之循环展开背景各位读者可能在兴高采烈要死要活地码完一道题兴奋地交题后也遇到过下面的情况:或者更OI一点:大家大概都是一边抱怨毒瘤出题人,一边真香地改代码。如果复杂度是对的,那就要考虑程序的常数是不是太大了,进而考虑怎么优化。啥,你说开O2吸个氧不就完了?yysy,确实问题是正式比赛不知道给不给开,而且编译器优化最重要的是在不改变程序行为的前提下优化,总不能优化错吧,所以如果程序...
2020-02-26 19:03:35
4569
5
原创 线段树从入门到入土
线段树入门引题有一个包含NNN个数的序列(N≤1e6N \leq 1e6N≤1e6),给Q(≤1e6)Q(\le 1e6)Q(≤1e6)个操作,每个操作是下面两种中的一种:区间加:给定l,r,xl,r,xl,r,x,将序列NNN下标∈[l,r]\in [l, r]∈[l,r]的数加上xxx区间求和:给定l,rl,rl,r,询问下标∈[l,r]\in [l,r]∈[l,r]的数的和一种...
2020-02-26 18:57:49
225
原创 浅谈差分约束
差分约束背景考虑一个有nnn个不等式的不等式组KaTeX parse error: Undefined control sequence: \cases at position 2: \̲c̲a̲s̲e̲s̲{x_1 - x_1' \l…问该不等式组是否有整数解,如果有给出一组整数解思想主体考虑在有向图GGG中,如果存在从uuu出发到vvv的边(u,v)(u,v)(u,v),那么...
2020-02-26 18:26:10
255
原创 深入理解计算机系统大作业——程序人生P2P
程序人生P2P前言经过一个学期的快乐学习(折磨),计算机系统终于结课了,自认为对于计算机系统算是有了粗浅的理解。为了庆祝结课,顺带总结自己的学习经历(只是为了完成大作业),便通过一个简单的程序hello.c来追忆这个学期的知识,也当是复习了(人懒,考完了才写的)。开个头文章从一个简单的程序hello.c作为切入点,系统地阐述了预处理、编译、汇编、链接等过程,简述了hello的进程...
2019-12-29 16:12:00
186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人