- 博客(110)
- 收藏
- 关注
原创 java核心技术卷一 第4章 对象与类
Data类和LocalDate类(用now()方法构造一个对象)。一个源文件中只能有一个公共类,但可以有多个非公共类。final字段(字段/域/成员属性):在执行构造器之和,这个字段的值已经设置,并且以后不能再修改这个字段。
2023-10-13 20:10:51
134
原创 java核心技术卷一 第3章 第11版
java中整型的运行范围和多少位的处理器无关。java7开始 可以为数字字面加下划线,编译时会去除 1_000_000表示100万。
2023-10-13 14:55:11
154
原创 MyBatis
我们可以将autoMappingBehavior设置为full,进行多表resultMap映射的时候,可以省略符合列和属性命名映射规则(列名=属性名,或者开启驼峰映射也可以自定映射)的result标签!resultType = “全限定符 | 别名 | 如果是返回集合类型,写范型类型即可”多值类型:1.用@Param注解起别名 2.用Mybatis默认的取名规则arg0开始。实体类型:取实体类名的属性,需要实体类有get方法。使用xml配置实现。根据ID查询订单,以及订单关联的用户的信息!
2023-10-11 20:38:37
605
原创 hdu 2069 Coin Change
Problem DescriptionSuppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to make changes with these coins for a given amount of money.For example, if we have 11 cents, then we can make changes with one 10-cent coin an
2021-05-24 15:07:18
146
原创 hdu 4911 Inversion
Problem Descriptionbobo has a sequence a1,a2,…,an. He is allowed to swap two adjacent numbers for no more than k times.Find the minimum number of inversions after his swaps.Note: The number of inversions is the number of pair (i,j) where 1≤i<j≤n and
2021-05-23 20:21:07
95
原创 poj 3468 A Simple Problem with Integers(线段树)
DescriptionYou have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for the sum of numbers in a given interval.InputThe
2021-05-23 15:07:53
95
原创 HDU 1710 Binary Tree Traversals
Online Judge Online Exercise Online Teaching Online Contests Exercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge StatusAuthors Ranklist C/C++/Java Exams ACM StepsGo to JobContest Live
2021-05-22 17:11:28
76
原创 hdu 1856 More is better
Problem DescriptionMr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.Mr Wang selected a room big enough to hold the boys. The boy
2021-05-20 18:12:52
72
原创 hdu 1272 小希的迷宫
题目有图片就直接给链接了注意:并不是所有的节点都在迷宫中出现了,我们只需要保证出现的节点构成了一个并查集就可以了。判断是否有环的标志:每次给出的边(a–b)一点不是同一个父亲,否则则构成了环。#include<bits/stdc++.h>using namespace std;const int maxn = 100007;int Max;int fa[maxn];bool v[maxn];// int find(int x)// {// if(x==fa[x])/
2021-05-20 17:54:32
55
原创 hdu 2222 Keywords Search
Online Judge Online Exercise Online Teaching Online Contests Exercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge StatusAuthors Ranklist C/C++/Java Exams ACM StepsGo to JobContest Live
2021-05-18 10:56:21
142
原创 P3808 【模板】AC自动机(简单版)
题目链接参考大佬的博客思路:ac自动机的题主要分为3个部分1:建立字典树(与字典树相比这里我们需要一个记录单词结尾的数组mark[ ])2:建立fail指针(fail[i]为与以i节点为结尾的串的后缀有最大公共长度的前缀的结尾编号)比如 fail[i]=j,那么 word2[0]到word[j]是 word1[0]到word1[i]的子串。3.查询#include<bits/stdc++.h>using namespace std;char text[1000007];//匹配
2021-05-18 09:57:16
62
原创 蓝桥杯 砝码称重
你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式输出一个整数代表答案。数据范围对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 105。输入样例:31 4 6输出样例:10样例解释能称出的 10 种重量是:1、2、3、4、5、6
2021-05-17 19:52:51
614
原创 hdu 1711 Number Sequence
Problem DescriptionGiven two sequences of numbers : a[1], a[2], … , a[N], and b[1], b[2], … , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K which make a[K] = b[1], a[K + 1] = b[2], … , a[K + M - 1] = b[M]. If there
2021-05-16 10:04:56
61
原创 CD 24 kmp算法
题目描述给定两个字符串str和match,长度分别为N和M。实现一个算法,如果字符串str中含有子串match,则返回match在str中的开始位置,不含有则返回-1若出现了多次,则按照升序输出所有出现位置[要求]时间复杂度为O(n)O(n)输入描述:第一行一个字符串str第二行一个字符串match输出描述:输出若干个数,分别为match在str中出现的位置,从0开始标号。若不存在输出-1示例1输入复制acbcbc输出复制2示例2输入复制acbcbcc输出复
2021-05-16 09:51:22
104
原创 272. 最长公共上升子序列
熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A 和 B 的长度均不超过 3000。输入格式第一行包
2021-05-11 20:15:33
183
原创 AcWing 271. 杨老师的照相排列
有 N 个学生合影,站成左端对齐的 k 排,每排分别有 N1,N2,…,Nk 个人。 (N1≥N2≥…≥Nk)第 1 排站在最后边,第 k 排站在最前边。学生的身高互不相同,把他们从高到底依次标记为 1,2,…,N。在合影时要求每一排从左到右身高递减,每一列从后到前身高也递减。问一共有多少种安排合影位置的方案?下面的一排三角矩阵给出了当 N=6,k=3,N1=3,N2=2,N3=1 时的全部 16 种合影方案。注意身高最高的是 1,最低的是 6。123 123 124 124 125 125 1
2021-05-10 20:54:11
80
原创 hdu 1385 Minimum Transport Cost
#include<stdio.h>#include<iostream>#include<string.h>#include <algorithm>#define INF 100000005using namespace std;int g[105][105], wi[105];//wi点权int path[105][105];//路径,记录当前i到j的最短路的第一个节点int n; void floyd(){ for(int k = 1
2021-05-08 20:17:13
76
原创 2544 hdu 最短路
Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括
2021-05-08 10:09:18
79
原创 hdu 1269 迷宫城堡
Problem Description为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存在一条路径可以从房间i到房间j,也存在一条路径可以从房间j到房间i。Input输入包含多组数据,输入
2021-05-08 09:13:37
90
原创 HDU 1878 欧拉回路
Online Judge Online Exercise Online Teaching Online Contests Exercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge StatusAuthors Ranklist C/C++/Java Exams ACM StepsGo to JobContest Live
2021-05-06 21:24:35
104
原创 hdu 3342 Legal or Not
Problem DescriptionACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just like a big family. Every day,many “holy cows” like HH, hh, AC, ZT, lcc, BF, Qinz and so on chat on-line to exchange their ideas. When so
2021-05-06 20:32:40
63
原创 hdu 1285 确定比赛名次
Online Judge Online Exercise Online Teaching Online Contests Exercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge StatusAuthors Ranklist C/C++/Java Exams ACM StepsGo to JobContest Live
2021-05-06 20:16:20
151
原创 HDU 1276
注意:1:每次报数要报到完,人数不超过3人是小于等于3人时,不再进行二次报数。2:list中删除一个元素,返回的是下一个位置的迭代器。#include<iostream>#include<stdio.h>#include<list>using namespace std;int main(){ //freopen("11.txt","r",stdin); int n; cin>>n; while(n--) {
2021-05-02 11:30:39
74
原创 hdu 4841 圆桌问题
约瑟夫环问题#include<iostream>#include<vector>using namespace std;int main(){// freopen("11.txt","r",stdin); int n,m; vector<int> vi; while(cin>>n>>m) { vi.clear(); for(int i=0;i<2*n;i++)vi.push_back(i); int ind
2021-05-02 11:06:11
78
原创 Hdu 6937 yiding Number
题意:一个正整数满足以下两个条件被称为yiding number1: 1是yiding number2: 如果n是yiding number数,那么 5n+13, 13n+5, 5n−13, 13n−5 也是yiding number#include<iostream>#include<stdio.h>#include<queue>#include<map>using namespace std;typedef long long ll
2021-05-02 10:55:20
132
原创 CD 9 10 11 前缀和问题
题目描述给定一个无序数组arr, 其中元素可正、可负、可0。给定一个整数k,求arr所有子数组中累加和为k的最长子数组长度输入描述:第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出第二行N个整数表示数组内的数输出描述:输出一个整数表示答案示例1输入5 01 -2 1 1 1输出3 #include<iostream> #include<algorithm> #include<map> using namespace std
2021-04-16 20:31:32
110
原创 CD 124 添加最少的字符让字符串变为回文字符串
题目描述给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。输入描述:输入包含一行字符串,代表str(1 \leq length_{str} \leq 5000)(1≤lengthstr ≤5000)。输出描述:输出一行,代表返回的字符串。示例1输入复制ABA输出复制ABA示例2输入复制AB输出复制ABA备注:时间复杂度O(n^2)O(n2),空间复杂度O(n^2)O(n2)
2021-04-16 16:51:31
299
原创 1242 修改数组(第十届蓝桥杯)
给定一个长度为 N 的数组 A=[A1,A2,⋅⋅⋅AN],数组中有可能有重复出现的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改 A2,A3,⋅⋅⋅,AN。当修改 Ai 时,小明会检查 Ai 是否在 A1∼Ai−1 中出现过。如果出现过,则小明会给 Ai 加上 1;如果新的 Ai 仍在之前出现过,小明会持续给 Ai 加 1,直到 Ai 没有在 A1∼Ai−1 中出现过。当 AN 也经过上述修改之后,显然 A 数组中就没有重复的整数了。现在给定初始的 A 数组,请你计算出
2021-04-13 10:58:34
142
原创 ACWING 1209 带分数
100 可以表示为带分数的形式:100=3+69258714还可以表示为:100=82+3546197注意特征:带分数中,数字 1∼9 分别出现且只出现一次(不包含 0)。类似这样的带分数,100 有 11 种表示法。输入格式一个正整数。输出格式输出输入数字用数码 1∼9 不重复不遗漏地组成带分数表示的全部种数。数据范围1≤N<106输入样例1:100输出样例1:11输入样例2:105输出样例2:6难度:简单时/空限制:1s / 64MB总通过数:4580总尝
2021-04-12 11:00:06
107
原创 CD 63 最大的leftmax与rightmax之差的绝对值
题目描述给定一个长度为N(N>1)的整形数组arr, 可以划分成左右两个部分,左部分为arr[0…K],右部分为arr[K+1…N-1], K可以取值的范围是[0,N-2]。求这么多划分方案中,左部分中的最大值减去右部分最大值的绝对值中,最大是多少[要求]时间复杂度为O(n), 空间复杂度为O(n)输入描述:第一行一个整数N,表示数组长度。接下来一行N个整数,表示数组内的数。输出描述:输出一个整数表示最优答案示例1输入复制52 7 3 1 1输出复制6说明当左部分为
2021-04-11 21:20:17
75
原创 CD 45 龙与地下城游戏问题
正整数n,m \left ( 1\leq n,m\leq 10^{3} \right )(1≤n,m≤103),接下来n行,每行m个整数,代表map_{ij} \left( -10^3 \leq map_{ij} \leq 10^{3}\right )mapij (−103≤mapij ≤103)。输出描述:输出一个整数,表示答案。示例1输入复制3 3-2 -3 3-5 -10 10 30 -5输出复制7示例2输入复制2 21 11 1输出
2021-04-11 20:35:05
107
原创 CD 33 最长公共子串
题目描述给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。输入描述:输入包括两行,第一行代表字符串srr1,第二行代表字符串str2。\left( 1\leq length(str1),length(str2) \leq 5000 \right)(1≤length(str1),length(str2)≤5000)输出描述:输出包括一行,代表最长公共子串。示例1输入复制1AB2345CD12345EF输出复制2345备注:思路:见书2
2021-04-10 09:53:02
53
原创 CD 25 最长递增子序列
题目描述给定数组arr,设长度为n,输出arr的最长递增子序列。(如果有多个答案,请输出其中字典序最小的)输入描述:输出两行,第一行包括一个正整数n(n<=100000),代表数组长度。第二行包括n个整数,代表数组arr \left(1 \leq arr_i \leq 1e9 \right)(1≤arri ≤1e9)。输出描述:输出一行。代表你求出的最长的递增子序列。示例1输入复制92 1 5 3 6 4 8 9 7输出复制1 3 4 8 9示例2输入复制5
2021-04-09 20:58:40
80
原创 CD 41 边界都是1的最大正方形大小
题目描述给定一个N \times NN×N的矩阵matrix,在这个矩阵中,只有0和1两种值,返回边框全是1的最大正方形的边长长度、例如0 1 1 1 10 1 0 0 10 1 0 0 10 1 1 1 10 1 0 1 1其中,边框全是1的最大正方形的大小为4 \times 44×4,所以返回4[要求]时间复杂度为O(n^3)O(n3),空间复杂度为O(n^2)O(n2)输入描述:第一行一个整数N。表示矩阵的长宽。接下来N行,每行N个整数表示矩阵内的元素输出描述:输
2021-04-08 21:05:01
147
原创 CD 169 找到搜索二叉树中错误的两个节点
题目描述一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请按升序输出这两个错误节点的值。(每个节点的值各不相同)输入描述:第一行输入两个整数 n 和 root,n 表示二叉树的总节点个数,root 表示二叉树的根节点。以下 n 行每行三个整数 fa,lch,rch,表示 fa 的左儿子为 lch,右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子,rch同理)ps:节点的编号就是该节点的值。输出描述:请按升序输出这两个错误节点的值。示
2021-04-06 21:53:27
75
原创 CD 168 二叉树的按层打印与ZIgZag打印
题目描述给定一颗二叉树,分别实现按层和 ZigZag 打印二叉树。ZigZag遍历: 意思是第一层从左到右遍历,第二层从右到左遍历,依次类推。输入描述:第一行输入两个整数 n 和 root,n 表示二叉树的总节点个数,root 表示二叉树的根节点。以下 n 行每行三个整数 fa,lch,rch,表示 fa 的左儿子为 lch,右儿子为 rch。(如果 lch 为 0 则表示 fa 没有左儿子,rch同理)输出描述:先输出按层打印,再输出按ZigZag打印。示例1输入复制8 11 2
2021-04-06 20:49:03
190
原创 CD 173 根据后序数组重建二叉搜索树
题目描述给定一个有 n 个不重复整数的数组 arr,判断 arr 是否可能是节点值类型为整数的搜索二叉树后序遍历的结果。输入描述:第一行一个整数 n,表示数组的长度。第二行 n 个整数 arr_i。输出描述:如果是搜索二叉树后序遍历的结果则输出 “true”,否则输出 “false”。示例1输入复制31 3 2输出复制true这到题其实是判断是否是二叉搜索树,判断标准: 最后一个数a[ end ]为标准,找到a[ less ](数组中最后一个小于a[ end ]的数),找到a
2021-04-05 22:00:40
114
原创 CD 180通过先序和中序数组生成后序数组
题目描述给出一棵二叉树的先序和中序数组,通过这两个数组直接生成正确的后序数组。输入描述:第一行一个整数 n,表示二叉树的大小。第二行 n 个整数 a_i,表示二叉树的先序遍历数组。第三行 n 个整数 b_i,表示二叉树的中序遍历数组。输出描述:输出一行 n 个整数表示二叉树的后序遍历数组。示例1输入复制31 2 32 1 3输出复制2 3 1 #include<iostream> using namespace std; int pre[10007],i
2021-04-05 20:56:30
167
原创 2021-04-02
题目描述请把一张纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次,请从上到下打印所有折痕的方向。[要求]时间复杂度为O(2^n)O(2n),额外空间复杂度为O(1)O(1)输入描述:第一行一个整数N。表示对折次数输出描述:输出若干行,若该折痕向下,输出"down
2021-04-02 21:31:54
51
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人