- 博客(53)
- 收藏
- 关注
原创 Java对文件的简单复制(字节流与字符流)与简单加密
摘要:本文介绍了字节流与字符流的区别,包括基本单位、处理数据类型、编码处理等核心差异。字节流以字节为单位处理所有文件类型,适合二进制数据;字符流以字符为单位专门处理文本文件,能自动转换编码。文中提供了三种Java实现示例:1)使用字节流复制文件;2)使用字符流复制文本文件;3)实现简单的文件加密(字节减1)与解密(字节加1)操作。正确选择流类型取决于处理的数据类型,字节流适用于通用文件操作,字符流则优化了文本处理。
2025-11-28 09:06:03
335
原创 HAUE 新生周赛(七)题解
本文总结了HAUE新生周赛的题目解析和解题思路。A题通过贪心算法得出n/2的解;B题根据时间条件进行简单计算;C题通过排序搭配最大最小数;D题使用差分算法处理时间区间;E题通过字符串排序比较;F题直接枚举求解;G题预处理质数表优化查询;H题统计操作数后计算;I题枚举位置移动概率;J题通过反转统计得分。比赛虽有小插曲但圆满结束,促进了学习交流,为后续更高难度赛事奠定基础。
2025-11-26 19:29:43
730
9
原创 树形 DP(基础、树上背包、换根DP)
树形DP是在树结构上进行的动态规划算法。本文介绍了三种典型树形DP问题:1)"没有上司的舞会"问题,通过状态转移处理节点选择与否;2)"选课"问题,采用树上背包方法处理带依赖关系的选择;3)"STA-Station"问题,使用换根DP优化计算各节点为根时的深度和。每种问题都给出了核心代码实现,包括状态定义、转移方程和递归处理方式。这些算法充分利用了树的递归特性,通过深度优先遍历完成状态转移,是解决树结构优化问题的有效方法。
2025-11-25 15:34:28
420
原创 java LinkedHashSet和LinkedHashMap初识
本文展示了Java集合框架的几种常见操作:1)使用LinkedHashSet去除ArrayList中的重复元素;2)实现根据ID查找用户对象的功能;3)遍历删除集合中姓名包含特定字符的学生对象;4)通过重写hashCode()和equals()方法确保学生对象的唯一性;5)创建以学生对象为键、籍贯为值的HashMap并遍历。这些示例涵盖了集合的去重、查找、删除等核心操作,以及对象唯一性处理和Map集合的使用,展示了Java集合框架在实际开发中的典型应用场景。
2025-11-21 10:34:57
329
原创 三三的分(单峰函数求极值)
摘要:三分查找算法是一种用于单峰函数极值优化的数值方法。该算法通过将搜索区间三等分,比较两个分界点处的函数值,逐步缩小极值点所在的范围。其时间复杂度为对数级,每次迭代需两次函数求值。与二分法适用于单调函数不同,三分法专门处理单峰函数优化问题。文中通过两个编程实例(洛谷P1883和牛客网竞赛题)展示了该算法的实现过程,包括函数定义、三分区间划分和极值判定方法,并分析了其优缺点和应用场景。
2025-11-17 20:09:01
175
原创 Java小作业练习(1.商品2.对打3.汽车4.运动员5.身份6.物体7.try异常8.模拟订单 9.模拟密码10.二月 11.字符串打印12.Math练习13.字符串修改14.系统操作关机开关运行)
本文展示了多个Java编程实例,包含商品管理、格斗游戏、汽车信息录入、教务系统设计等。主要实现包括:1) 使用数组存储商品/汽车对象并遍历输出;2) 模拟格斗游戏角色对战过程;3) 设计运动员/教练类的继承体系;4) 实现多态注册系统;5) 编写几何图形接口及实现类计算表面积/体积;6) 自定义异常处理年龄验证;7) 字符串操作和数学计算练习。这些案例演示了面向对象编程的核心概念,包括类与对象、继承、接口、异常处理等,涵盖了数组操作、随机数生成、字符串处理等实用技巧。
2025-11-04 19:55:39
853
原创 Java 小作业(注册登录小练习+封装,继承,多态小练习)
该Java程序包含两个主要部分:1) 一个用户管理系统,提供登录、注册和查看功能;2) 一个员工管理系统,实现了经理类及其工资计算逻辑。第一部分通过Menu类实现控制台交互界面,支持用户注册/登录和账户查看。第二部分采用继承结构,定义抽象Employee类和具体Manager类,演示了经理工资计算(普通加薪10%,高级经理加薪20%)。程序展示了面向对象特性如继承、多态和封装的应用。
2025-10-24 09:47:57
105
原创 Java小作业(Triangle和MyRectangle)
摘要:本文展示了两个Java类的实现与测试。首先定义了Triangle类,包含三条边和能否构成三角形的标志,提供构造方法、边长修改、面积计算等功能,并通过测试类验证其正确性。其次定义了MyRectangle类,包含矩形对角坐标,提供两种构造方法,以及计算宽度、高度、面积和输出信息的方法,并在主程序中测试其功能。两个类都完整实现了要求的属性和方法,并通过测试验证了其正确性。
2025-09-30 07:30:49
224
原创 Java银行
这是一个简单的银行存取款系统模拟程序,包含三个类:test(主程序)、person(用户类)和bank(银行类)。主程序允许用户输入姓名和初始存款余额,然后通过菜单选择存钱、取钱或退出操作。存钱时会同时更新用户和银行的余额,取钱时会检查用户和银行的余额是否充足。程序使用了面向对象的设计,将用户信息和银行信息分别封装在person和bank类中,通过方法调用来实现存取款功能。
2025-09-26 14:26:17
243
原创 数据库原理(SQL基础语法)
摘要:本文介绍了SQL数据库表结构的创建与修改操作,包括学生表(student)、课程表(course)和成绩表(score)的创建,以及通过ALTER TABLE命令添加、删除和修改列。同时展示了数据插入、删除和更新的基本操作语法,并提供了简单的SELECT查询示例,包括条件查询、列别名使用和年龄计算等常见操作。这些命令涵盖了数据库表结构管理和数据操作的基础内容。
2025-09-26 14:18:29
102
原创 Java小水果市场
该Java程序模拟了一个水果店购物系统,包含商品、市场和顾客三个类。商品类(goods)定义了水果名称、价格和数量属性;市场类(market)记录商店名称;人类(person)实现购买功能。主程序创建水果商品数组,顾客输入要购买的水果名称,系统计算总消费金额,输入"退出"结束购物并显示总价。程序通过面向对象方式实现了简单的购物流程管理。
2025-09-26 09:45:32
255
原创 Java封装
摘要:封装是面向对象编程的重要特性,通过私有变量和公共方法实现数据保护。其优势包括:1)确保数据安全;2)隐藏实现细节;3)提升可维护性;4)增强灵活性;5)提高代码重用性;6)简化使用。示例中Goods类封装了商品信息,通过getter/setter方法控制访问,在Main类中演示了如何安全修改和获取数据。这种封装方式使代码更健壮、安全且易于维护。
2025-09-25 20:06:05
183
原创 Java语法小练习(1-100猜数,生成验证码,洗牌)
本文展示了三个Java编程实例:1)1-100猜数游戏,采用二分法逻辑并加入运气评判机制,当猜测次数超过理论最优值时随机显示安慰语句;2)验证码生成器,整合特殊字符、数字和大小写字母共72种字符,随机生成6位验证码;3)54张扑克牌洗牌程序,通过随机交换实现洗牌,并输出每张牌的花色和数字(包含大小王)。这些实例演示了随机数应用、字符串处理和数组操作等编程技巧。
2025-09-19 08:06:54
269
原创 Legendre公式(河南萌新联赛2025第(五)场:信息工程大学”E题解)
摘要:该代码实现了一个求解最大质因子幂次的算法。给定n和k,程序首先分解k的质因数,找到最大的质因子及其幂次。然后使用Legendre公式计算n!中包含该质因子的总次数,最后将结果除以最大幂次得到答案。主要步骤包括质因数分解、最大因子判断和阶乘质因数计数。算法时间复杂度主要取决于质因数分解过程。
2025-08-14 17:36:48
226
原创 2025年第十届团队程序设计天梯赛c++题解L1-L3-1(附PTA网址)
这篇博客记录了作者参加天梯赛的经历和解题思路。从L1到L3级别的题目中,作者分享了多个编程题目的解法,包括字符串处理、模拟题、优先队列应用、图论算法等。每道题都附有代码实现,并简要说明了算法思路。作者回顾了比赛中的紧张时刻和有趣插曲,比如服务器故障带来的心态调整,以及对IOI赛制的喜爱。文章最后表达了从大一新生变成大二学长的感慨,以及对未来学习压力的思考。
2025-08-14 12:45:17
747
原创 对顶堆 第k大的数(洛谷P7072,河南萌新联赛2025第(五)场:信息工程大学”C题解)
【摘要】对顶堆是一种用于动态维护序列第k大元素的高效数据结构,由大根堆和小根堆组成。小根堆存储前k大元素,大根堆存储剩余元素。操作包括:1)插入时根据元素大小选择堆;2)通过调整堆大小保持k值;3)小根堆顶即为第k大元素。文中提供了两个应用实例:1)CSP-J2020直播获奖题,动态计算前w%名的分数;2)求动态中位数,奇数时取中间值,偶数时取中间两数平均值。代码展示了如何用优先队列实现这一数据结构。
2025-08-14 11:29:30
234
原创 最小生成树问题(数据结构作业)
摘要:该程序实现了最小生成树算法,包含Kruskal和Prim两种算法。主要功能包括:1)支持两种算法选择;2)处理多实例输入;3)对输入数据进行有效性验证;4)判断图的连通性并输出结果。程序使用邻接矩阵存储图结构,通过优先队列实现Prim算法,利用并查集优化Kruskal算法。当输入节点不存在或图不连通时,会给出相应提示。用户可以通过命令行交互选择算法和输入数据。
2025-08-05 22:10:21
123
原创 0-1BFS(双端队列,洛谷P4667 [BalticOI 2011] Switch the Lamp On 电路维修 以及2025“钉耙编程”中国大学生算法设计暑期联赛(1)1005传送门题解)
本文探讨了在权重为0或1的路径搜索问题中,使用双端队列优化最短路算法。相较于优先队列的O(log n)时间复杂度,双端队列通过O(1)的插入操作可将复杂度降至O(M)。文章给出了具体实现代码,通过维护一个双端队列来处理网格图中特殊连接状态的最短路径问题。算法根据连接状态是否匹配来决定将节点插入队列头部或尾部,从而高效地找到最优解。代码包含完整的输入输出处理和边界检查,适用于解决类似P4667的图论问题。
2025-07-27 16:29:56
215
原创 结构体重载运算符与构造函数
本文介绍了C++中运算符重载的三种实现方式:1) 重载+运算符实现结构体相加,返回合并结果;2) 重载<<运算符实现结构体输出,包括结构体内定义和全局函数两种方式,后者支持链式调用;3) 重载前置++和后置++运算符,分别实现直接递增和先返回后递增的功能。每种方法都通过具体代码示例展示了实现细节和应用场景,为自定义类型的运算符操作提供了实用参考。
2025-06-13 09:46:34
131
原创 2024年第九届团队程序设计天梯赛c++题解L1-L3-1(附PTA网址)
L1-101 别再来这么多猫娘了!L1-098 再进去几个人 - 团体程序设计天梯赛-练习集 (pintia.cn)L1-103 整数的持续性 - 团体程序设计天梯赛-练习集 (pintia.cn)L1-102 兰州牛肉面 - 团体程序设计天梯赛-练习集 (pintia.cn)L1-099 帮助色盲 - 团体程序设计天梯赛-练习集 (pintia.cn)L1-100 四项全能 - 团体程序设计天梯赛-练习集 (pintia.cn)L1-104 九宫格 - 团体程序设计天梯赛-练习集 (pintia.cn)
2025-04-16 21:29:01
1212
5
原创 Dijkstra 算法(洛谷P4779题解)(单元最短路查询与路径输出)
【代码】Dijkstra 算法(洛谷P4779题解)(单元最短路查询与路径输出)
2025-04-08 18:03:31
277
原创 树状数组(2025钉耙编程4th 1006进步&&洛谷3374&&洛谷3368)
前两题为修改点,查询区间,使用前缀和的思想。后一题为修改区间而查询点,使用差分的思想。2025钉耙编程4th 1006 进步。洛谷P3374【模板】树状数组 1。洛谷P3368【模板】树状数组 2。
2025-03-30 17:50:38
439
原创 基于栈的中缀算术表达式求值(huae oj1236题解)与后缀表达式1240以及中缀改后缀(1250)
【代码】基于栈的中缀算术表达式求值(huae oj1236题解)
2025-03-24 19:46:59
216
2
原创 河南工程学院2024新生周赛(三)
Contest1030 - 河南工程学院2024新生周赛(三) - HAUEOJ。仅为比赛代码,没有注释,有些可能不合理,但是过了就是好代码(我不认可)。C:如标题,长大后再学习?
2024-12-24 12:09:30
348
原创 河南工程学院 23级 新生周赛2 1462 [《难题》]
1462 [《难题》](http://oj.software.haue.edu.cn/problem.php?id=1462)
2024-10-02 14:51:55
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅