自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 SpringBoot和SpringMVC的区别

(2)配置简化:在配置方法中,如果没有特殊情况,Spring Boot为我们提供了一些默认的配置,比如端口号默认为8080等;(1)依赖简化:Spring Boot自有的starter中提供了一些可以快捷使用的依赖,让整合或集成一些常用的功能更便捷;(3)部署简化:可执行JAR部署,与传统服务的Web模式部署(打WAR包部署)相比,连安装Web容器的时间都节省了;(4)监控简化:通过引用Spring Boot依赖的方式快捷提供监控端点,无代码侵入,十分便捷。中,它将带来开发Web应用程序所需的所有依赖项。

2023-12-05 18:50:26 938

原创 杭电 1495 非常可乐

题目大意解题思路代码实现bug

2023-10-17 21:40:24 48

原创 AcWing 第23场周赛

题目链接AcWing 4004 传送阵解题思路由于数据量较小,完全可以暴力,具体来说,就是先标记从起点 (r1,c1)(r1,c1) 能到过的所有点,如果终点都能到达的话,就不用花费了,否则,再标记从终点 (r2,c2)(r2,c2) 能到的所有点,在这两部分点中求解即可~时间复杂度分析:最坏的情况应该是副对角线都是陷阱,这时两部分点的数量都是 O(n2)O(n2) 的数量级,遍历两部分点的所有情况就是 O(n4)O(n4) 的数量级,所以:时间复杂度:O(n4)代码#inclu

2021-12-04 13:00:35 575

原创 力扣 第263场周赛 总结

检查句子中的数字是否递增题目描述:力扣 5902.检查句子中的数字是否递增解题思路:遍历一遍字符串,p代表前值,n代表后值,随着遍历,p和n不断变化;并判断:当n<=p时,false代码class Solution {public: bool areNumbersAscending(string s) { int i; int p=0; int n=0; for(i=0;i<s.length();i++)

2021-11-01 21:43:51 124

原创 杭电 1242 Rescue

题目大意:HDOJ 1242 Rescue解题思路:BFS( 广度优先搜索)易错点1.天使可能有多个朋友,所以不能从朋友的位置开始着天使,只能是从天使找离他最近的朋友2.题目要求的是找到一个用时最少的朋友,而不是步数最少代码实现#include <iostream>#include <stdio.h>#include <string.h>#include <queue>#define N 201using names

2021-10-17 18:14:59 131

原创 杭电 1248 寒冰王座

题目大意HDOJ 1248 寒冰王座解题思路完全背包与01背包是十分相似的。 区别就是01背包的选最多选一次 也就意味着每件物品只有一件 而 完全背包意味着每件物品是有多件的,所以完全背包问题是每件物品可以供多次选择的代码实现#include<iostream>#include<cstring>using namespace std;int main(){ int T; int N; int price[]={150,200,350}; int

2021-10-17 17:00:35 130

原创 杭电 1257 最少拦截系统

题目大意HOIJ 1257 最少拦截系统解题思路这道题就是一个简单地动态规划,即为求最长子序列的问题方法一:当后面的值大于前面系统的最小值时,增加一套系统来存储该高度; 当后面的值小于前面系统的最小值时,替代系统的最小值。 i↓ j↑ k↑代码实现方法一:#include<iostream>using namespac...

2021-10-17 16:26:16 268

原创 AcWing 3957 子序列

原题链接:AcWing 3957 子序列解题思路预处理出四个数组存储 i左右边与a[i]的比大小情况 ,遍历中间元素 若存在/\形或\/形 就能得到答案lmax:左边比i大的数的下标 lmin:左边比i小的数的下标rmax:右边比i大的数的下标rmax:右边比i小的数的下标代码实现#include<bits/stdc++...

2021-09-15 15:19:42 74

原创 AcWing 3955. 统一大小写

原题链接:AcWing 3955 统一大小写解题思路遍历统计大小写个数代码实现#include<bits/stdc++.h>using namespace std;int main(){ int T; cin>>T; while(T--) { int l1,l2; char s[105]; scanf("%s",s); l1=0; l...

2021-09-15 15:10:34 112

原创 AcWing 16周周赛 3956 截断数组

原题链接:AcWing 3956 截断数组解题思路这里为了减少时间复杂度,采用了一个前缀和的算法套路(链接:前缀和概念及使用)时间复杂度:O(nlogn)代码#include<bits/stdc++.h>using namespace std;int main(){ int n,a[100005]={0}; long long res=0; cin>>n; for(int i=1;i<=n;i++) {

2021-09-13 21:37:36 237

原创 杭电 1548 A strange lift

题目大意解题思路代码实现bug

2021-09-10 16:35:43 122

原创 杭电 1874 畅通工程续

原题链接:HDOJ 1874 畅通工程续解题思路:运用迪杰斯特拉算法,状态转移方程:Dist[i]=min(Dist[i],Map[S][i]+Dist[S]);代码实现:#include<bits/stdc++.h>using namespace std;#define inf 0x7FFFFFFFint main(){ int M,N,A,B,X,S,T,Min,next; while(cin>>N>>M){ int Dist[M]

2021-09-06 22:15:21 89

原创 杭电 1058 Humble Numbers

题目大意原题链接:HDOJ 1058 Humble Numbers解题思路从1到5842,每层循环四次,一层层的解,找出每一层由2,3,5,7四个值相乘组成的最小值,最小值赋值到数组里,其余的乘式保留。代码实现#include<bits/stdc++.h> using namespace std; int main() { int n,i,j,k,l; i=j=k=l=1; int dp[5843]; dp[1]=1; for(int count

2021-09-04 21:37:00 124

原创 杭电 2191 悼念512汶川大地震遇难同胞—珍惜现在,感恩生活

题目大意原题链接:HDOJ 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活解题思路我本来想用贪心算法的,可是我写好算法,运行几遍试过了是ok的,只是不给AC,我想了好久,脑壳都快头秃了,才看到一个人的博客里的分析才理解为什么不能使用贪心算法。#include<bits/stdc++.h>using namespace std;struct rice{ int p; int h; int c; double rate;}r[110];

2021-09-01 18:16:44 174

原创 杭电 2602 Bone Collector

题目大意原题链接:HDOJ 2602 Bone Collector解题思路DP思路:构造子问题,依次考虑前1、前2、前3......前i个骨头的最优解,当前最优解,要么包括第i个骨头,要么不包括第i个骨头。状态转移方程为:DP[i][j]=max(DP[i-1][j],DP[i-1][j-v[i]]+w[i])代码实现#include<bits/stdc++.h>using namespace std;int w[1005],v[1005],DP[1005][100

2021-08-30 21:41:30 103

原创 贪心算法笔记

一、 经典贪心问题介绍(事件序列问题等)硕鼠的交易(田忌赛马经典贪心事件序列问题搬桌子分时代二、 可图性判定问题两个概念:1.度序列:若吧图G所有顶点的读书排成一个序列S,则称S为图G的度序列。2.序列是可图的:一个非负整数组成的序列是可图的。三、 sort函数的使用方法...

2021-08-29 22:06:11 284

原创 杭电 2501 Tiling_easy version

题目链接解题思路代码实现bug

2021-08-29 15:43:31 98

原创 杭电 2050 折线分割平面

题目大意原题链接:HDOJ 2050 折线分割平面解题思路f(1)=2;f(2)=7; :f(n)=f(n-1)+4*(n-1)+1;每多加一条折线最多与前面n-1条折线有4*(n-1)个交点,而分割的区域比前一次多4*(n-1)+1个。代码实现#include<bits/stdc++.h>using namespace std;int f(int x){ if(x==1) return 2; else return f(x-1)+4..

2021-08-29 15:11:33 90

原创 杭电 2084 数塔

题目大意原题链接:HDOJ 2084 数塔解题思路 动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。 动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。经过自上...

2021-08-29 15:00:26 140

原创 杭电 2046 骨牌铺方格

题目大意原题链接:HDOJ 2046 骨牌铺方格解题思路f(1)=1; (竖着的2*1)f(2)=2; (两个竖着的2*1;两个横着的2*1) :f(n)=f(n-1)+f(n-2); (总共有两种情况,如果新增的一列固定为竖着的2*1,则有f(n-1)种铺放方案;如果新增的一列要铺放横着的2*1,最后两列的铺放就固定了,那么就有f(n-2)种铺放方案。代码实现#include<bits/stdc+...

2021-08-29 11:27:16 134

原创 杭电 2041 超级楼梯

题目大意解题思路 f(2)=1;(一步跨一级) f(3)=2;(两步分别跨一级,一步跨两级) : f(n)=f(n-1)+f(n-2); (总共可以将所有情况分成两类:如果最后一步是跨一级,那么就有f(n-1)种走法,如果最后一步是跨两级,那么就有f(n-2)种走法)代码实现#include<bits/stdc++.h>using namespace std;int f(int x){ if(...

2021-08-29 10:46:27 135

原创 杭电 1052 Tian Ji -- The Horse Racing

题目大意链接:HDOJ 1052 田忌赛马解题思路贪心思路:先用田忌最快的马与国王最快的马比较:1当田忌最快的马比国王最快的马快,则直接VS,res++;2当田忌最快的马不比国王最快的马快时:2.1若田忌最慢的马比国王最慢的马快,则直接VS ,res++; 2.2否则用田忌最慢的马与国王最快的马比,慢了, res--;相等,res不变。(田忌最慢的马已经无法赢得任意一场比赛,若想要输的价值最大,就与国王最快的马VS)(总共比赛次数为每人拥有的马匹...

2021-08-27 17:11:27 87

原创 杭电 2037 今年暑假不AC

题目大意链接:HDOJ 2037 今年暑假不AC解题思路将N组数据的结束时间利用sort函数按照从小到大的顺序排序,优先选择在不影响前面已选择活动的同时结束时间最早的活动。代码实现#include<bits/stdc++.h>using namespace std;struct perform{ int T1; //活动开始时间 int T2; //活动结束时间}P[101];bool cmp(perform a,p

2021-08-27 10:31:32 119

原创 杭电1050 Moving Tables

题目大意链接:HDOJ 1050 Moving Tables解题思路将搬桌子时房间被经过的次数看做数组元素初始为0,走廊两侧的房间看做数组元素的同一个地址,类似于桶排序,N组桌子在搬的过程中对应的数组元素+1,最后数组元素(某个房间被经过次数)的最大值也就是最多使用走廊的次数代码实现#include<iostream>using namespace std;int main(){ int t; cin>>t; while(t--) { .

2021-08-27 09:43:33 118

原创 杭电1009 FatMouse‘ Trade

题目大意链接HDOJ 1009 FatMouse' Trade解题思路本题的贪心思路时考虑性价比,将N个房间定义为一个结构体数组,利用sort函数按照性价比从高到低排序,依次购买,直至M=0。代码实现#include<bits/stdc++.h>using namespace std;struct mouse{ double j; //咖啡豆 double f; //猫粮 double rate;}JavaBean[1005]; ..

2021-08-27 08:55:06 101

原创 杭电2199——Can you solve this equation?

题目大意解题思路本题主要采用二分法的思路解题代码实现遇到的bug

2021-08-25 16:59:58 81

原创 杭电2035——人见人爱A^B

题目大意解题思路如果直接计算A的B次方,A^B很容易爆破int,无法进行计算。因此这里我们运用算法的思路,B个A相乘结果取后三位等价于B个A的在相乘的过程中,前面的结果边取后三位,边乘A。代码实现1 #include<stdio.h>2 int main(){3 int n,m,s;4 while(scanf("%d%d",&n,&m)!=EOF&&(n!=0||m!=0)) { //多组数据循环输入,以A=0,B=0结束5

2021-08-25 11:45:19 117

原创 杭电1108——最小公倍数

题目大意解题思路利用公式LCM(A,B)=A/GCD(A,B)B求解(注:若利用LCM(A,B)=AB/GCD(A,B),则可能A*B会爆int)因此本题的重点在于采用辗转相除法求解GCD的值GCD的求解过程假设x是10和14的最大公约数,那么10和14都是x的整数倍那么14%10的余数4也是x的整数倍,求10和14的最大公约数就等价于求4和10的最大公约数同理10%4的余数2也是x的整数倍,求10和14的最大公约数就等价于求4和2的最大公约数以此类推当大的数%小的数的余数为0时,

2021-08-25 10:19:13 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除