- 博客(27)
- 收藏
- 关注
原创 动态规划
在背包容量够的情况下,对于当前物品,要么取,要么不取,在背包容量为n的情况下,能装的物品的价值量最大值dp[n]。状态转移方程dp[j]=max(dp[j-1],dp[j-1]+v),一维数组即可例题。
2025-04-10 21:52:15
450
1
原创 备战蓝桥杯day-11(搜索)
主要思想:对于当前情况,判断其能否加入结果中,若果能则加入,改变相应的条件,往后递归,当达到一定条件时,把结果放入里一个容器中,然后回溯,变成原先的条件,跳过这一情况。例题。
2025-04-10 21:51:50
486
1
原创 位掩码、哈希表、异或运算、杨辉三角、素数查找、前缀和
对二进制数操作的方法,(mask=1<<n),将数mask的第n位置为1,其它位置为0,即1000...=2^n,当n较小时,可以用于解决类似于0/1背包的问题,要么是0,要么是1,以及排列组合类的问题,当数量较小的情况下可以枚举出所有组合。1、mask | (1<<i) ,将mask的二进制数的第i位置为12、mask&(1<<i),判断mask的二进制数的第i位是否为1例题。
2025-04-10 21:50:42
1366
1
原创 备战蓝桥杯day-10(二分查找)
/返回第一个>=target的数的迭代器,1 2 4 5 6 6 8//返回第一个>target的数的迭代器二者相减即为某个数出现的次数,可用自推导类型表示迭代器auto left,right;也可在上面加上-arr.begin(),可返回下标,eg.若target=6 则left=4 right=6.例题。
2025-04-03 11:28:57
1094
1
原创 备战蓝桥day-8(递归与递推)
请你求出,一共有多少个合法的数列。两个合法数列 a,b 不同当且仅当两数列长度不同或存在一个正整数 i≤∣a∣,使得 ai=bi。
2025-03-27 22:08:04
1200
原创 备战蓝桥day-7(递归回溯)
大致思想:从开始若满足条件则一直往后递归下去,直到条件不符或者已完成任务回溯到前一个状态,用来找到所有符合条件的情况。
2025-03-25 21:41:10
656
原创 备战蓝桥day-6
/存储元素类型为pair<int,int>,可以放两个元素。若要放三个,则可以用tuple<int,int,double>;再多的话就用结构体。对于存储多个元素为一个整体的vector的sort函数的实现,默认是按第一个元素的值进行比较,若值相同,则比较第二个,以此类推。例题:本题看似是贪心,其实就是排序,时间越短的越先装,后面的人才等的时间少。
2025-03-20 11:24:09
976
原创 备战蓝桥杯day-5(setw与setfill、判断整数、高精与递推,数组清空、字符串逐个赋值)
int:-2^31~2^31-1,数量级为10^9 long long:-2^63~2^64-1,数量级为10^18 如果计算的数据超过了这个数量级,则要用数组来存储高精度数字进行加减乘除。//设置字宽为2,若不足则在其前补0。楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。
2025-03-16 11:51:33
520
原创 备战蓝桥杯day-4(sqrt与pow、清除换行符、网格上的方形、sort排序、日期)
令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。一个日期,格式是 "AA/BB/CCAA/BB/CC" (0≤A,B,C≤90≤A,B,C≤9)。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。输出一个字符串,表示从第一个读入的小人开始,依次数完 m 条指令后到达的小人的职业。输入的第一行包含两个正整数 n,m,表示玩具小人的个数和指令的条数。一行,两个正整数 n,m(n≤5000,m≤5000)。
2025-03-11 21:24:59
811
原创 备战蓝桥day-3(冒泡排序)
先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。第 j 行的 3 个数字依次表示学号为 j−1 的学生的语文、数学、英语的成绩。这两名同学的总分都是 279 (总分等于输入的语文、数学、英语三科成绩之和) ,但学号为 7 的学生语文成绩更高一些。任务:先根据输入的 3 门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前五名名学生的学号和总分。NOIP2007 普及组 T1。
2025-03-09 17:18:45
325
原创 java封装
等)都对其内部的状态和行为进行了封装,外部代码通过特定的方法来操作这些组件,而不会直接访问其内部的私有成员。在数据存储和处理类中,也会将数据的存储结构和操作方法封装起来,对外提供统一的数据访问接口,以保证数据的一致性和安全性。封装是面向对象编程的三大特性之一,它将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。封装好的类可以在不同的项目或模块中方便地被复用,因为它提供了清晰的接口,其他代码只需要按照接口规范来使用,而不需要了解类内部的具体实现细节。
2024-11-17 21:48:44
532
原创 java继承
继承是面向对象编程中的一个重要特性,它允许我们创建一个新的类(子类或派生类),从一个已存在的类(父类或基类)获取属性和方法。子类可以继承父类的非私有成员变量和方法,并且可以根据自身需求进行扩展或重写。当创建子类对象时,会先调用父类的构造函数,然后再调用子类的构造函数。如果父类没有默认构造函数(无参构造函数),子类的构造函数必须显式地调用父类的有参构造函数,使用。Java 支持多层继承,即一个子类可以有自己的子类,形成继承链。子类可以直接使用父类的非私有成员,避免了重复编写相同的代码。方法就可以直接使用。
2024-11-17 21:39:39
519
原创 java三大特性
定义:对象可以表现为多种形态,主要通过方法重载和方法重写实现。定义:将对象的状态(字段)私有化,通过公共方法访问。方法重载:同一个类中可以有多个同名的方法,但参数不同。定义:一个类可以继承另一个类的属性和方法。
2024-11-10 15:06:35
231
原创 java对象和类
定义:类的实例,具有行为和状态。它是类的一个实例,有状态和行为。比如一条狗是一个对象,它的状态有品种(哈巴狗),颜色(黄色),名字(小黄),行为有摇尾巴,吃,睡等。定义:对象的蓝图,包括属性和方法。它是一个模板,描述一类对象的行为和状态。比如狗为类,它有品种,颜色,年龄等属性,有吃,跑,睡觉等行为,即方法。
2024-11-10 14:57:10
291
原创 Java变量命名规则
在 Java 中,不同类型的变量(例如实例变量、局部变量、静态变量等)有一些命名规则和约定。遵循一些基本规则,这有助于提高代码的可读性和维护性。
2024-11-03 22:02:31
848
原创 Java注释
在计算机语言中,注释是计算机语言的一个重要组成部分,用于在源代码中解释代码的作用,可以增强程序的可读性,可维护性。Java 注释是一种在 Java 程序中用于提供代码功能说明的文本。Java注释主要有三种类型,单行注释,多行注释,文档注释。
2024-11-03 21:50:00
219
原创 Java类和对象
Java中的类是一种数据结构,用于描述具有相同属性和方法的一组对象。对象是类的实例,具有该类的属性和方法。类定义了对象的属性(数据成员)和方法(成员函数),提供了创建对象的蓝图。
2024-03-10 19:38:44
1399
1
原创 Java方法
Java方法是一种将代码块组合在一起并赋予名称的机制。这种方法可以接受参数、执行特定操作并返回结果。将代码封装到方法中可以使程序更加模块化、可重用和易于维护。
2024-03-10 19:30:27
870
1
原创 Java学习笔记
以下是一篇关于Java学习的优快云笔记,包括Java的基本概念、安装配置、基础语法、面向对象编程、异常处理、集合框架、输入输出流、线程和反射等。
2024-02-03 20:34:00
486
1
原创 Java学习路线 从入门到精通
本文将详细介绍Java学习路线,帮助初学者从零基础开始,逐步掌握Java编程技能,并具备独立开发项目的能力。我们将探讨各个阶段的学习目标、知识点和资源推荐,以帮助您高效地学习Java。
2024-01-27 18:48:32
468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅