自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 maze

小明来到一个由n x m个格子组成的迷宫,有些格子是陷阱,用’#‘表示,小明进入陷阱就会死亡,’.'表示没有陷阱。小明所在的位置用’S’表示,目的地用’T’表示。小明只能向上下左右相邻的格子移动,每移动一次花费1秒。有q个单向传送阵,每个传送阵各有一个入口和一个出口,入口和出口都在迷宫的格子里,当走到或被传送到一个有传送阵入口的格子时,小明可以选择是否开启传送阵。如果开启传送阵,小明就会被传送到出口对应的格子里,这个过程会花费3秒;如果不开启传送阵,将不会发生任何事情,小明可以继续向上下左右四个方向移动

2020-07-13 19:32:43 198

原创 afetr走迷宫

链接:https://ac.nowcoder.com/acm/problem/14608来源:牛客网after的算法书的遗落在一个叫做AIJ的迷宫中了,这个迷宫有N*M个房间,迷宫的入口为(1,1),算法书遗落在(r,c)。迷宫中的房间有四种状态:空房间、无法进入的房间、有墨菲斯托存在的房间和有莉莉丝存在的房间。墨菲斯托会否定一切,而莉莉丝会诱惑人做一种叫做YK的活动。after是一个意志薄弱的人,他遇到了墨菲斯托和莉莉丝之后,便会变成眼神空洞的超级YK机器人。after每步可以从他当前的房间走至上下左

2020-07-04 19:08:40 339

原创 dp迁徙河流

题目描述牛市的幸存的先民在流星雨之后就忍痛离开了这片土地,选择迁徙,在迁徙的途中,他们需要渡过一条河。因为牛市的树木在流星雨中被严重破坏,所以他们只造出了一艘小船,船太小了,一次只能乘坐两人。牛市的先民们每个人划船的速度都不尽相同,所以每个人都有一个渡河时间T,为了保证船的平衡,当穿上有两个人的时候,需要他们按照慢的那个人的速度划船,也就是说船到达对岸的时间等于船上渡河时间长的那个人的时间。现在已知N个人的渡河时间T,请问最少要花费多少时间,才能使所有人都过河。输入描述:输入文件第一行为先民的人数

2020-06-21 15:43:45 182

原创 火柴棍(回溯--剪枝)

bool dfs(int num,int len,int rest){//num 剩余小木棍的个数 len当前小木棍的长度//rest当前所拼接木棍剩余的长度if((rest0)&&(num0)) return true;if(rest0) rest=len;//当前拼接已经完成 开始拼接下一层v[i]=true;for(int i=0;i!=n;i++){if(v[i]) continue;if(a[i]>rest) continue;v[i]=true;if(

2020-06-14 23:05:03 135

原创 食物链(并查集)

链接:https://ac.nowcoder.com/acm/problem/16884来源:牛客网题目描述动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示X和Y是同类。第二种说法是“2 X Y”,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话

2020-06-06 17:14:43 273

原创 priority_queue

#include #include #include using namespace std;int main(){priority_queue<pair<int,int> >a;pair<int,int> b(1,2);pair<int,int> c(1,3);pair<int,int> d(2,5);a.push(d);a.push(c);a.push(b);while(!a.empty()){ cout&

2020-06-02 16:07:18 103

原创 牛踩花--贪心

题意:有n只奶牛在吃花,为了减少花的损失,将奶牛放回谷仓去,每只奶牛距离各自的谷仓ti分钟时间的距离,并且每只在花园的奶牛每分钟吃di朵花,一次只能放一只奶牛回去,由于回去回来,所以需花费2*ti的时间,求奶牛最少吃多少花?思路:交换前后两个牛的顺序并不影响其他的牛那么解题思路T代表两头牛前面的牛a牛在前假设a在b前最优Tad+(T+ta)bd<Tbd+(T+tb)ad化简:tabd<tbad#include #include using namespace std;#defi

2020-06-01 18:01:05 287

原创 莫让遗憾伴余生

这几天心中特别的烦躁,因为需要学习的东西真的很多,真的很多看到java全栈工程师的成长路径才知道自己在学习的就是个渣渣,剩下的学习的路还有很长的时间我真的很烦躁,springMVC就搞得我很头疼精神的压力真的很大,我索要面对的精神压力真的很大,没有计划的学习,效率是非常低的,没有很好的学习的方案,没有给自己制定目标,散漫的学是真的很耗费时间的本来有机会的事情最后也没有机会了,真的需要自己制定每天的目标,然后来完成每天的目标,完成今天的任务,成为自己真正想成为的人,java基础没有什么难度关键是进阶,进阶搞不

2020-05-31 10:00:40 197

原创 校门外的树

链接:https://ac.nowcoder.com/acm/problem/16649来源:牛客网某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你.

2020-05-28 18:10:09 169

原创 set 桶 unique

#include #include using namespace std;int n;set m;//自动排序 去除重复元素int main(){cin>>n;while(n–){int x;cin>>x;m.insert(x);}cout<<m.size()<<endl;for(set::iterator it=m.begin();it!=m.end();it++){cout<<*it<<" ";

2020-05-28 16:34:32 156

原创 八皇后

#include #include #include using namespace std;const int maxn=100;vector ans;int cnt,N;int sluction[maxn];bool check(int row,int col){for(int i=0;i<row;i++){int j=sluction[i];if(colj||i-jrow-col||i+j==row+col)return false;}return true;}

2020-05-25 18:50:57 170

原创 二叉树dfs

图片很垃圾但是 也就能看看把 ~^ v ^~#include #include #include using namespace std;const int MAXN=100;bool isPrimeNum[MAXN];vector ans;bool isUsed[MAXN];int N;void getPrimeTable(){//筛选求质数-------------------------------------------打表fill(isPrimeNum,isPrim.

2020-05-25 17:27:44 194

原创 滑动窗口

链接:https://ac.nowcoder.com/acm/problem/50528来源:牛客网题目描述给一个长度为N的数组,一个长为K的滑动窗体从最左端移至最右端,你只能看到窗口中的K个数,每次窗体向右移动一位,如下图:你的任务是找出窗体在各个位置时的最大值和最小值。思路分析:首先确定他是一个单调的序列 可以利用双队列来处理这个问题deque求滑动窗口所在区间的最小值:就是利用队尾的元素和下一个元素比较如果下个元素的值字当前对为的小的话当前队尾的元素出队因为他为有比较价值了然后将这个数

2020-05-25 11:39:59 414

原创 倒水

有一个大水缸,里面水的温度为T单位,体积为C升。另有n杯水(假设每个杯子的容量是无限的),每杯水的温度为t[i]单位,体积为c[i]升。现在要把大水缸的水倒入n杯水中,使得n杯水的温度相同,请问这可能吗?并求出可行的最高温度,保留4位小数。注意:一杯温度为t1单位、体积为c1升的水与另一杯温度为t2单位、体积为c2升的水混合后,温度变为(t1c1+t2c2)/(c1+c2),体积变为c1+c2。这道题的解题思路就是(t1c1+t2c2)/(c1+c2)----->nt=(nc*nt+t[i]*c

2020-05-24 21:54:04 394

原创 GUI

package 上课;import java.awt.Component;import java.awt.GridLayout;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.sw

2020-05-24 09:56:01 177

原创 反射配置文件

package 反射机制;import java.io.IOException;import java.io.InputStream;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Properties;pu

2020-05-20 21:58:31 105

原创 vector的使用

#include #include #include using namespace std;int main(){vector demo;//定义一个类型为int的vectorif(demo.empty()){cout<<“如果demo是空的 demo.empty()返回值true”<<endl;}for(int i=0;i<10;i++){//在demo插入0-9共10个数字demo.push_back(i);//在demo末尾插入数据}for(in

2020-05-20 20:07:02 112

原创 青春的告别

所有的结局都已写好所有的泪水也都已启程却忽然忘了是怎麽样的一个开始在那个古老的不再回来的夏日无论我如何地去追索年轻的你只如云影掠过而你微笑的面容极浅极淡逐渐隐没在日落後的群岚我的青春已经逝去了我喜欢的女孩已经离开去了远方我期待着试管能够倒流回到和你相识的起点尽管我不能告诉你我喜欢你哪怕静静的看着你我也开心转眼的毕业我以为还能见到你可是这一别竟然一生在也见不到你了我曾经幻想我当时有勇气向你告白的话,我的青春也算过的值时光一去不回,留给我的只是你的身影我喜欢你回头和我聊天,但我

2020-05-20 07:34:22 157

原创 快速排序

#include #include <stdlib.h>int getStandard(int array[],int low,int high){//基准数据int key=array[low];while(low<high){//因为默认的基准的数据从左边开始 所以从右边开始while(low<high&&array[high]>=key){high–;}//当找到array[low]小的时候 就把后面的值array[high]赋给他

2020-05-19 22:50:47 138

原创 二叉树的遍历

#include using namespace std;typedef struct node{char data;struct node *lchild,*rchild;}BiTNode,*BiTree;BiTree pre_mid_createBiTree(char *pre,char *mid,int len){if(len0)return NULL;char ch=pre[0];//找到先序的第一个节点int index=0;while(mid[index]!=ch)//

2020-05-18 19:09:13 120

原创 字符串匹配BF

#include using namespace std;int BF(string s,string t,int pos){int i=pos,j=1,sum=0;int slen=s.length();int tlen=t.length();while(i<=slen&&j<=tlen){sum++;if(s[i-1]==t[j-1])//如果相等的话就继续比较 后面的字符{i++;j++;}else{i=i-j+2;j=1;}}co

2020-05-17 19:07:25 147

原创 获取HTTP请求的服务器

package 网络编程;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public

2020-05-17 10:09:38 250

原创 服务器端+线程辅助+同时开启客户端多个请求

package 网络编程;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.Random;public class 文件上传服务器端 {

2020-05-17 08:44:44 265

原创 客户端

package 网络编程;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;public class 文件上传客户端 {pu

2020-05-17 08:43:00 108

原创 拼数

#include #include using namespace std;bool cmp(string a,string b){if(a+b>b+a)return true;return false;}int main(){int n;string s[10];cin>>n;for(int i=1;i<=n;i++){cin>>s[i];}sort(s+1,s+n+1,cmp);for(int i=1;i<=n;i++){cou

2020-05-17 08:40:49 152

原创 修改数值成递增

#include #include using namespace std;int n,f[100],num,now,sum;int main(){cin>>n;for(int i=1;i<=n;i++){cin>>num;if(num>f[now])//0f[++now]=num;else{*lower_bound(f,f+now+1,num)=num;sum++;}}cout<<sum<<endl;}

2020-05-14 15:53:32 230

原创 剪格子dfs

#include #include using namespace std;int n,m,g[10][10],total,ans=100;int vis[10][10];void dfs(int x,int y,int sum,int cnt){if(sum>total/2) return;//减枝if(sum==total/2){ans=min(ans,cnt);return;}vis[x][y]=0;if(x+1<=n-1&&vis[x][y]) d

2020-05-13 21:22:02 67

原创 三连击纯暴力

#include using namespace std;int main(){for(int a=1;a<=9;a++){for(int b=1;b<=9;b++){if(ab) continue;for(int c=1;c<=9;c++){if(ca||cb) continue;for(int d=1;d<=9;d++){if(da||db||dc) continue;for(int e=1;e<=9;e++){if(ea||eb||ec||ed)

2020-05-13 16:43:06 144

原创 小明回家dfs版本

这个花费了我一下午的时间写出来的 创作不易情多多支持1.首先我们需要把思路梳理一遍小明的位置是变化的 小明位置的变化都会影响的周边的所以我们需要 递归一下 首先确定dfs结束的条件 有2个dep----是分钟 走一个空格就需要增加1个单位的时间if(!xue || !map[x][y] ||!vis[x][y])//血量不为空 不是强 不是 已经走过的if(x<1||x>n||y<1||y>m) 边界判断 return;-------终止iif(dep>Min) r

2020-05-12 19:39:12 284

原创 小明回家

bfs求最短路这里就不解释了。关键是一些本题特有的判断。首先,因为0代表障碍,所以我们可以将外面memset成0,然后照样读入就行了。然后再bfs时,连同原本的障碍物一同判掉就可以了。另外,血量也是个神奇的东西。考虑到,如果你的血量只剩1了,而此时你还没有完成任务,那么你无论再怎么走都是GAMEOVER的。所以,血量剩1时,直接就跳出就行了。那么,如何判重呢?如果不判重,那么就可能会陷入无限的死循环……而此题又难以直接用是否到过一点判重,例如下图:#020 #010 #010 #010 #410 #0

2020-05-12 17:02:13 568

原创 垒筛子的游戏

垒筛子的游戏首先确定的他的类型他是一种递归 然后考虑每一层之间的关系1.第一层有6面考虑这6个面与下面的面的关系依次类推 将每中面的可能都相加。2.考虑面与面的冲突考虑第一层考虑顶面的对面 第二层考虑顶面利用定义好面,conflict[op[]][opp]来判断是否为true true的话就冲突 然后直接continue。3.考虑递归 f(int up,int cnt)上一层面所对的面对的面 是否冲突和下面的每一个面都要进行组合 除了可以产生冲突的面,依次类图将每个面的组合都进行相加。因为有4个

2020-05-11 22:36:41 265

转载 子串的个数

最近在做一些算法题,经常遇到字符串的问题,需要计算字符串子串的数目,字符串的子串数目为n(n+1)/2 + 1,这个答案是如何求得的呢?我们都知道子串是一个字符串中连续的一段,其实你可以把它抽象为周围有边界的一串字符,如"abcde",你可以把子串"bc"抽象为"a|bc|de",这样一来计算子串数目的问题其实就转化成了计算字符串中放置边界的问题,一个长度为n的字符串中可以放置n+1个边界,放置第一个边界后可以放置有n种选择作为第二条边界,这样得到n(n+1)条子串,又因为两条边界顺序互换子串不变,所以

2020-05-11 20:46:24 2051

原创 反射机制案例

package CLASS;import java.io.IOException;import java.io.InputStream;import java.lang.reflect.Method;import java.util.Properties;/*1.需要将创建的对象的全类名和需要执行的方法定义在配置文件2.在程序中加载读取配置文件3.用反射技术来加载类进内存4.创建方法5.执行方法*/public class Reflectmain {public

2020-05-11 09:50:33 129

原创 Driud工具类

package 数据库连接池;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import com.al...

2020-05-06 09:25:13 133

转载 MySQL---数据库从入门走向大神系列(十四)-ComboPooledDataSource(C3P0连接池配置)

需要准备的jar包:MySQL的jar包mysql-connector-java-5.1.39-bin目前是5.1.39版本:http://dev.mysql.com/downloads/connector/j/C3p0的2个包:https://sourceforge.net/projects/c3p0/c3p0-0.9.1.2.jar和c3p0-sources-0.9.1.2.jar...

2020-05-05 10:28:31 622

原创 事务管理

package JDBC;import java.sql.SQLException;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PreparedStatement;public class 事务管理 {public static void main(String[] args) {Connection conn=null...

2020-05-05 08:51:09 102

原创 立方尾不变

#include #include #include #include #include using namespace std;char s1[100],s2[100];bool isSame(char *s1,char *s2){ int len=strlen(s1);int start=len-strlen(s2);for(int i=start,j=0;j<st...

2020-05-04 17:59:37 120

原创 计算二叉树深度

#include #include <stdlib.h>int flag=0;using namespace std;typedef struct node{struct node *left;struct node *right;char data;}Node;Node *binarytree(char a[],char b[],int len){int i;...

2020-05-03 15:28:42 536

原创 mysql 工具类

package JDBC;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import ...

2020-05-03 10:26:03 149

原创 求最大公因数最小公倍数

C语言:求两个数的最大公约数和最小公倍数求两个数的最大公约数:“辗转相除法”:设两数为a和b(a>b),用a除以b,得a÷b=商…余数,若余数为0 ,则最大公约数为b;若余数不为0 ,则再用b÷余数,得b÷余数=商1…余数1,若余数1=0,则最大公约数为余数,若余数1不为0,继续让商÷余数n,一直到能够余数为零这时的除数即最大公约数。求两个数的最小公倍数:最小公倍数=两数的乘积÷...

2020-05-02 18:47:44 225

空空如也

空空如也

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

TA关注的人

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