天梯 题解 估值 程序设计
[EDISOI] Round 1 题解
写在前面的话 本场比赛难度估计大约可能是 \(\text{NOIp}\) 难度? 考场得分 \(100+100+100+0=300\) ,封榜时排名 \(\text{rank6}\) 。 T1 题目描述: 有一张地铁交通网 \(G\).\(G\) 拥有 \(n\) 个站点和 \(m\) 条地铁线路. ......
[ABC319E] Bus Stops 题解
[ABC319E] Bus Stops 题解 题意简介 给定 \(n\) 个公交站。对于第 \(i\) 个公交站,在时刻 \(p_i \times k,k \in \mathbb{N}\) 有一辆公交车出发,在经过 \(t_i\) 的时间后,到达第 \(i+1\) 个公交站。 在走到第一个公交车之前 ......
【题解】 AtCoder Beginner Contest 319
没有写 F,不确定我的做法对不对。 评价:什么牛逼场次,代码大赛是嘛,从 A 开始就感觉到不对了,而且题面写的真答辩。 A.Legendary Players 题目分析: 直接按题目模拟即可。 代码: 点击查看代码 #include<bits/stdc++.h> using namespace st ......
Qt如何指定QProcess运行程序的工作目录
Qt中使用QProcess构造进程对象来启动一个程序是很常见的事情。然而有时我们要启动的程序的设计人士在设计时处理路径会有一些不同的思路,这也就导致了一些程序必须在它所处的路径下被启动方可正常运行,否则就可能会引发一些问题。QProcess如何在这种状况下正确启动一个程序?一种方案在此。 ......
系统架构设计2---架构风格
为什么要有架构风格? 软件体系结构设计的一个核心目标是重复的体系结构模式,即达到体系结构级的软件重用。也就是说,在不同的软件系统中,使用同一体系结构。基于这个目标,主要任务是研究和实践软件体系结构风格和类型问题。 一、架构风格的定义 ......
推荐一款程序员截图神器!
快来看一下程序员必备的一款截图工具 今天就来和大家说一下作为程序员必备截图神器,几乎每一个程序员都会设置开机自启,因为这个截图功能太太太好用了!!!只要你在键盘上按下F1就可以轻松截取整个屏幕,然后再按下F3就可以在你的电脑屏幕上将图片贴在最顶层,接下来你就可以一边看截图一边构思你的代码啦!是不是听 ......
领域驱动设计(DDD):DDD落地问题和一些解决方法
欢迎继续关注本系列文章,下面我们继续讲解下DDD在实战落地时候,会具体碰到哪些问题,以及解决的方式有哪些。 DDD 是一种思想,主要知道我们方向,具体如何做,需要我们根据业务场景具体问题具体分析。 充血模型和实体Spring注入问题 在领域驱动设计(DDD)中,充血模型是一种常见的模型设计方式,其中 ......
Wine——在linux上运行你打windows程序(opensuse案例)
需求 本篇文章以个人需求。因为以Ubuntu,国产Linux来说 这些系统来说,有很良好打生态。但是对比某些系统来说。想装一些软件例如,QQ,微信。可能会很麻烦。 所以本篇文章来介绍一下何为Wine,以及Wine的使用。 Wine 是什么? 首先我们了解一下什么是wine?Wine (“Wine I ......
LOJ#6515. 「雅礼集训 2018 Day10」贪玩蓝月题解
题目链接 #6515. 「雅礼集训 2018 Day10」贪玩蓝月 - 题目 - LibreOJ (loj.ac) 分析 一个朴素的想法就是模拟这个过程,当询问时做一遍01背包,但这样明显会超时 想象这样一个例子:当两次询问中间夹着一次插入操作 第二次进行01背包,明显只需要在第一次的基础上对新插入 ......
【题解】三连击
[NOIP1998 普及组] 三连击 思路 想一想桶 得到三个数之后把每一位依次存入桶 然后遍历这个桶,看哪一位为\(0\) 代码 // 语言:C++ #include <iostream> #include <cstring> //memset using namespace std; int m ......
P3533 [POI2012] RAN-Rendezvous 题解
P3533 [POI2012] RAN-Rendezvous 题目大意:给定外向树森林,每次给定两个起始点,求两个点沿边移动最少步数相遇。 \(n\) 个点,\(n\) 条边,并且每个点有唯一的出边,显然构成了多棵基环树,对于每个基环树分别处理:找出环上的点,因为要求支持求出任意两点距离,前缀和一下 ......
软件设计开发笔记4:QT操作SQLite数据库
有时候我们需要在软件中记录一些历史数据以便于对数据的查询。而我们希望软件不能太复杂,体量也不要太大,这个时候就需要如SQLite这样轻量级的数据库。这篇中我们就来讨论如何在使用QT开发应用是操作SQLite数据库。 0、概述 SQLite是一款开源、轻量级、跨平台的数据库,无需Server,无需安装 ......
CF1570D 题解
思路分析 前言 题解区好似没有用哈希的啊。 发现大家都在用 map 来存是否出现过数字,但是需要注意的是,map 的单次查询时间复杂度是 \(\mathcal O(\log n)\) 的,对于大规模的数据就很可能会 TLE。所以,我们可以使用哈希的方法来判断数字是否出现过。 浅谈哈希 哈希,是通过哈 ......
【题解】Educational Codeforces Round 143(CF1795)
A.Two Towers 题目描述: 有 \(a,b\) 两座由红蓝色方块垒成的塔,其中 \(a\) 的高度为 \(n\) ; \(b\) 的高度为 \(m\) ,用 R 代表红色;用B代表蓝色。 你可以多次把其中一座顶端的方块移到另一座的顶端(可以不移动)。问有没有一种方法可以使两座塔中均没有连续 ......
UVA202 题解
思路分析 前言 又是一道小模拟题,不过细节巨多,可以用来锻炼自己的代码能力。 解法 本题实际上就是模拟长除法的计算过程,其中每一步除法时都有被除数及其余数,当被除数出现重复时就表示出现循环节了。所以需要记录每一次的被除数及其在循环小数中的位置,需要判断当除数不够除,每一次补零也需要记录其对应的位置。 ......
题解 [CQOI2009] 中位数
题目链接 要想使得数字 \(x\) 是中位数,就必须选出 \(k\) 个小于 \(x\) 的数和 \(k\) 个大于 \(x\) 的数。 我们考虑对数字附上特殊值,小于 \(x\) 的数赋值为 \(-1\),大于 \(x\) 的数赋值为 \(1\),\(x\) 则赋值为 \(0\),那么若一段包含 ......
信息安全系统设计与实现(上) 学习笔记1(教材1,2章)
学习笔记1 知识点总结 第一章 《Unix/Linux系统编程》教材第一章中介绍了Unix和Linux系统的基本概念以及编程环境的设置,介绍了系统编程的重要性和目标,旨在强化学生的编程背景知识,特别关注动态数据结构、进程管理、并发编程、定时器、信号处理、文件系统、TCP/IP和网络编程等方面。大致叙 ......
[题解] Codeforces Round 895 (Div. 3) F~G
Codeforces Round 895 (Div. 3) F~G F. Selling a Menageri 考虑如何让卖出的价格翻倍,那么自然是从 \(i \to a_i\) 。通过这样连边,我们可以发现,边集构成了基环树森林。显而易见的是,如果不考虑环,那么图就是拓扑图,按照拓扑关系跑一遍,就 ......
关于软件架构设计的小笔记
设计良好的计算机软件应该是易于扩展,同时抗拒修改。 这就是著名的开闭原则(OCP)。 换句话说,一个设计良好的计算机系统应该在不需要修改的前提下就可以轻易被扩展。 其实这也是我们研究软件架构的根本目的。如果对原始需求的小小延伸就需要对原有的软件系统进行大幅修改, 那么这个系统的架构设计显然是失败的。 ......
cmake基础示例:如何编译【跨平台】的动态库和应用程序
示例代码 首先看一下测试代码的全貌: mylib:只有一个源文件,编译输出一个动态库; myapp:也只有一个源文件,链接 mylib 动态库,编译输出一个可执行程序; mylib 在mylib目录中,一共有3个文件:mylib.h, mylib.c 以及 CMakeLists.txt,内容分别如下 ......
UVA11809 题解
思路分析 前言 一道比较简单的数学题。 解法 根据题意可以推算出最大值 $v=\Big(1-\dfrac{1}{2{M+1}}\Big)\times2{2{E-1}}=A\times10B$。因为两边都比较大,所以可以同时求以 $10$ 为底的对数:$\lg v=\lg(2{M+1}-1)-(M+1 ......
[AGC036C] GP 2 题解
洛谷题目链接 AT原题 考虑构造出来的序列 \(a\) 的特征,因为每次会给 \(a_i\) 加 \(1\),\(a_j\) 加 \(2\),所以每次操作后 \(\sum a_i\) 会加上 \(3\)。 所以有\(\sum a_i =3m\) 。 又因为每次操作只给一个数加 \(1\),所以每次操 ......
《信息安全系统设计与实现》第一周学习笔记
《信息安全系统设计与实现》第一周学习笔记 一、知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图 第一章 关于本书 涵盖Unix/Linux的所有基本组件,包括进程管理、并发编程、定时器和时钟服务、文件系统、网络编程和MySQL数据库系统 系 ......
DCF估值法介绍
DCF估值法,即现金流折现估值模型,是一种绝对估值法。它通过将一项资产在未来所能产生的自由现金流根据合理的折现率折现,得到该项资产的价值。 DCF估值法一般分为两种模型:恒定增长模型和多阶段模型。恒定增长模型包括稳定增长和零增长两种模型,而多阶段模型则将一个企业的未来发展分成不同的阶段,然后分别对每 ......
ebpf-使用内核编译开发一个程序(ubuntu20.04)
前不久正好工作中使用到了这个方面的知识,这里写一下我的总结 我对ebpf的理解 ebpf(extended Berkeley Packet Filter)是一种虚拟机,通常我们使用的vmware是一种大型的虚拟机,vmware里面可以模拟cpu、显卡、网卡、硬盘等硬件,而ebpf这种的虚拟机是只模拟 ......
Windows平台 CLion 远程调试 Linux 的 C++ 程序
Windows平台 CLion 远程调试 Linux 的 C++ 程序 1. CLion 的安装 Pass 2. Linux 环境的配置 2.1. 安装 gdbserver 这里举例 Ubuntu 环境下的安装: sudo apt-get install gdbserver 2.2 配置CLion ......
设计模式-抽象模板模式
抽象类 父类方法不确定如何实现,则设为抽象方法和抽象类。 抽象类最佳实践——模板模式 将多个类公共的部分提取出来,放入抽象类。若设为抽象方法,则子类继承抽象类后需要重写该方法。涉及到多态的动态绑定 ......
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问;
2、protected: 这种权限是为继承而设计的,protected所修饰的成员,对所有子类是可访问的,但只对同包的类是可访问的,对外包的非子类是不可以访问; protected权限的访问范围是:当前包所有的类+当前包以外的子类。 ......
20211325 2023-2024-1 《信息安全系统设计与实现(上)》第一周学习笔记
20211325 2023-2024-1 《信息安全系统设计与实现(上)》第一周学习笔记 一、任务要求 任务详情 自学教材第1,2章,提交学习笔记(10分),评分标准如下 1. 知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考 ......
2023-09-09 微信小程序之引入uni_modules过多插件导致主包体积过大如何解决 ==》hbuilderx--发行--小程序-微信(仅适用于uniapp)
前言:uni_modules里面的插件会全部打包在主包里,分包如果都是引用了uni_modules的插件,那么会导致包体积越来越大。 我的项目主要用到一些组件库,如uview,对这个库的依赖太严重了,加上是把2个小程序融合到一起,所以对这个库的依赖就会变得更多。 解决方案:你的小程序是用uniapp ......