自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hyperledger fabric v1.0与IOTA原理分析

Hyperledger fabric v1.0与IOTA原理分析Hyperledger fabirc是超级账本在区块链上的应用,我将从运行性能角度和安全性能角度来探讨Hyperledger fabric。文章目录Hyperledger fabric v1.0与IOTA原理分析运行性能共识机制原理排序节点性能分析安全性能IOTA性能分析IOTA运行性能IOTA安全性能分析运行性能运行...

2019-02-14 13:21:10 856

原创 Go语言与智能合约的交互

Go语言与智能合约的交互实现步骤首先要编写一份智能合约将智能合约通过工具转化为go文件自己编写go文件调用智能合约转化成的go文件提供的接口具体实现编写一份智能合约智能合约使用solidity语言写的,可以用在线的remix编辑器进行编辑。pragma solidity >=0.4.22 <0.6.0;contract DataStorage {...

2019-02-14 12:40:27 3454 1

原创 LeetCode 135. 分发糖果

LeetCode 135. 分发糖果解题思路和代码我们可以举一个比样例稍微好一点的例子[7,8,4,2,1,3,5,9,7] 。首先可以想到第一种思路:我们先定义一个数组candies,这个数组存放着每个人最终获得的糖果。接着我们找到数组的最小值及其下标定义为sym。如果是第一次遍历,则直接令candies[sym]=1,因为每一位小朋友至少要有一个糖果。在例子中这个最小值是1,sym...

2019-02-13 18:32:13 236

原创 java字节码理解--Java bytecode:翻译和解读

 本篇博客是对Java bytecode:这篇文章的翻译和解读,原文链接在这http://www.ibm.com/developerworks/library/it-haggar_bytecode/index.html如有不正之处还请各位指教,不喜勿喷,相互交流才能进步。 转载请注明出处,谢谢。 下面正片开始   生成java字节码: javac E...

2017-03-24 22:45:44 1040

原创 SpringMVC+MyBatis+Log4j输出sql语句

今天想看一下myBatis生成的sql语句,看是否有语法错误,但却一直也打印不出来,也有很多人提出了springMVC下的mybatis输出sql语句的方法,但是我试了一下,发现不行,也有可能是给我的配置问题吧,下面给出我的问题所在,解决方案,配置文件。问题所在:slf4j和log4j的版本问题。解决方案:在pom.xml里面换成相互支持的版本即可,只需要在src下放一个log4j.pro...

2016-11-21 11:35:25 618

maven发布到tomcat7

最近刚学用maven管理项目,为了防止之后忘记如何配置还是先记录一下。第一步:安装好maven并配置好路径之后,我们要先在maven的conf目录下面的setting.xml里面添加一个中心仓库的网址。如下所示,在mirrors标签内增加一个镜像。 <mirror> <id>UK</id> <name>UK Central<...

2016-11-14 21:19:36 89

如何在服务器启动的时候自动装在spring容器(例如applicationContext.xml)

如果要在服务器启动时自动加载spring容器的话,那可定要在web.xml中配置。那么如何配置呢?请看下面代码第一种:没有任何的参数,直接通过监听器加载spring容器,这时候默认的读取路径是读取WEB-INF/applicationContext.xml,也就是说spring容器的配置文件只能有一个且名字必须为applicationContext.xml <!-- 通过这...

2016-11-13 10:13:32 407

基于struts2Action下的ajax实现

我们都会给Servlet发送ajax请求,Servlet直接通过Response获得PrintWriter就可以将某些数据传回html或者jsp,那么基于action的话,不是没法直接传回数据或者只能在Action实现ServletResponseAware接口来像Servlet一样来通过PrintWriter回传吗?实际上,我们只需要在struts.xml配置一下即可。<resul...

2016-11-12 22:06:31 119

如何在一次ajax内传送一个或多个文件到后台

在开发的时候我们可能都需要传一些文件到后台,然后又不希望刷新页面,那么我们可用ajax传文件流到后台。我们可以在js中用FormData这个对象来包装文件流对象。1.首先我们怎么能够让file能够选择多个文件呢,很简单加个multiple属性就行,这样就可以再选文件的时候选择多个文件了。 <input type="file" id="images" name="image...

2016-11-12 21:39:59 1075

hdu5532 最长不上升子序列+最长不下降子序列

题目大意:让你求出这个串是否是近似有序串,什么叫做近似有序串呢,就是,这个串去掉任意一个字符也能保持有序。算法思路:模板题,只需要求出最大的有序子串,然后看这个串总的长度-1是否小于等于最大有序子串的长度,如果不满足,则说明这个串不是近似串。如何求最大有序子串呢,就比较一下最长不上升子序列的长度和最长不下降子序列的长度,取最长的即可。#include<iostream>#...

2016-10-14 11:37:04 189

nyoj236 偏序集+dilworth定理的应用

题目大意:中文题。算法思路:这道题可以通过dilworth定理,将原序列排序后,转化为求有多少个单调递增子序列(即求最大递减子序列的长度)。但是当我直接求单调递增子序列的个数的时候就过了,但转化为求最大递减子序列的长度的时候就超时了= =,实在是莫名其妙。。还是请各位大神帮我看看。。。 先看一下什么是偏序集,以及dilworth定理(以下内容转载自http://blog.csdn....

2016-10-06 14:49:09 218

nyoj306 dfs+二分搜索

题目大意:中文题。算法思路:这种思路确实对我来说很新颖,我也是看了解题报告才知道。说白了,二分最小值和最大值的差,如果这个差值能够从起点走到终点,则说明这个差值是可行的,那我们就在减小,二分左半部分,否则二分右半部分。 #include<iostream>#include<cstring>#include<cstdio>using na...

2016-10-05 10:15:31 152

nyoj132最长回文子串

题目大意:中文题。算法思路:假设每个字符都是回文串的中间字符,则每个字符都向两边扩展,取能够扩展最宽的,则必定是最长的回文子串。因此暴力枚举每个点即可,注意一下这个串可能是奇数也可能是偶数,因此对于每个字符,这两种扩展都要算一下,比较一下哪个是最长的。 #include<iostream>#include<cstring>#include<cst...

2016-10-04 16:17:17 97

NYOJ104 最大子矩阵和

题目大意:中文题。算法思路:暴力枚举起始行,然后再对每一列使用最大子段和(二维转化为一维)。#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define MAXN 105#define INF 0x3f3f3f3fint t,MAX,...

2016-10-04 16:11:49 109

hihocoder 1156

题目大意:中文题。算法思路:因为改变一个节点的颜色,只会影响到这个节点的父节点和子节点,所以,我们只需要在一开始建立好节点之间的关系maps[i][j](maps[i][j]表示第i个节点的子节点里颜色为j的节点个数),之后再没改变一个节点的颜色,就对该节点的父节点和和子节点进行操作即可。#include<iostream>#include<cstdio>...

2016-10-02 12:35:48 153

hihocoder1158 二分图的最大独立集

题目大意:中文题。算法思路:首先找出每个数的质因数的个数,因为如果a和b是质数相关的话,那他们两个的质数的个数肯定是一奇,一偶,因此我们可以根据这个性质,将这些数分成两个部分,转化二分图的最大独立集求解,这道题我已开始用求解质因数的模板,结果发现这个模板对于相同的质因数只算一个(在这里wa了好多回=- =),后来只好打素数表求解。。。#include<iostream>#...

2016-09-29 21:10:48 109

hihocoder1388 NTT算法

题目大意:就是让你求出满足所给式子的值是多少。算法思路:其实我们可以将这个式子化简一下,化简成为sum(a[i]*a[i] ,i=0....n-1)+sum(b[i]*b[i] ,i=0...n-1)-2*max(sum(a[i]*b[j]),i=0...n-1,j=0...n-1)。#include <iostream>#include<cstring>...

2016-09-28 20:04:46 127

原创 2016北京网赛Countires

题目大意:两个城市A,B分别有两个护盾,现已知B护盾开启的时间和持续的时间,两个城市互相射击炮弹,如果打到的城市有护盾则反弹给另一个。现在问你要使得A城市最小受到的伤害是多少?算法思路:我们只需要算出每颗炮弹给A造成的伤害区间,将其转化为区间交问题,即可。#include<iostream>#include<cstring>#include<cstdio...

2016-09-25 15:44:07 160

hdu5901 Meisell-Lehmer算法求素数个数

题目大意:让你求1-n里面有几个素数(1<=n&&n<=1e11)。算法思路:这里的n非常大,因此我们用Meisell-Lehmer算法求1-n的个数,该算法的复杂度为n^(2/3)#include<cstdio>#include<cmath>using namespace std;#define LL long long...

2016-09-19 11:02:27 202

hdu5444 模拟

题目大意:给你一棵树的先序遍历和中序遍历,让你求给定点的位置。算法思路:根据中序遍历和先序遍历的特点,模拟即可(这模拟模了我快三小时,我也是醉了)。#include<iostream>#include<cstdio>#include<cstring>#include<string>using namespace std;...

2016-09-16 20:45:51 99

hdu5446 中国剩余定理+lucas定理

题目大意:让你求出C(n,m)%M的值。算法思路:此题的 n和m非常大,因此不能用快速幂取模,这里我们只能用lucas定理,但lucas定理有一个条件,要求C(n,m)%M的M必须要为素数,因此,我们又要用到中国剩余定理。#include<iostream>#include<cstdio>#include<cstring>using nam...

2016-09-16 16:35:34 156

hdu5443 线段树求区间最大

题目大意:给你一些水源,让你求给定区间当中的最大值。算法思想:线段树求区间最大。#include<iostream>#include<cstdio>using namespace std;typedef struct Node{ int value; int l; int r;};Node tree[1...

2016-09-13 19:30:19 101

csu1120 最长上升公共子序列

题目大意:中文题。算法思路:最长上升公共子序列。#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define MAXN 1050int a[MAXN],b[MAXN];int n,m;int dp[MAXN];int main...

2016-09-07 22:55:46 133

2016年湖南省第十二届大学生程序设计竞赛总结

过题数:1排名:52奖项:三等奖。    今年的题可谓是把我们都吓傻了,比赛开始前我们匆匆的浏览一下题目,发现都不好解决,于是我的两个队友先去做A题,而我则看到地铁这题应该可以做,感觉跑一遍spfa就可以过(事实证明这样做是肯定会超时,需要用优先队列优化,赛后看了一下别人的题解,发现大多数的人都是用dijkstra+优先队列做的),于是一直卡在这两题,后来队友做了大概一个多小时发现A...

2016-09-06 22:30:28 157

CSU1506 最小费用最大流

题目大意:给你一张图,一个人走过之后路径的费用会增加,问有2个人走,最小的总费用是多少。算法思路:一开始准备跑2遍dijkstra,每次求最小的费用,不知道为什么这样一直WA,最后问了一下别人,发现是用最小费用最大流,每个点之间连接2条边,一条是走之前正常的路,另一条是走完这条路后增加了费用的路,因为有2个人,因此超级源点与起点的容量为2,超级汇点与终点的容量为2,跑一遍最小费用最大流的模...

2016-08-23 21:39:04 72

POJ3660 floyd求传递闭包

题目大意:一群牛比胜负,然后balabala,然后给你一堆关系,让你求出能够判断出名次的牛的个数。算法思路:这道题主要的用的是传递闭包,然后只要判断该牛的入度和出度之和等于n-1,就说明该牛能判断出名次。#include <iostream>#include<cstdio>#include<cstring>#include<queue...

2016-08-19 10:03:09 91

NYOJ239 月老的难题 二分图匹配

题目大意:中文题。算法思路:匈牙利算法的模板题,一开始用邻接矩阵做,结果超时了,后来一看,有10000的边数,难怪超时,因为要判定两点是否有边的话,就得遍历一行,每次递归都这样做的话时间花费是很大的,就改为了邻接表,过了。#include <iostream>#include<cstdio>#include<cstring>#includ...

2016-08-18 10:20:09 106

NYOJ 哭泣天使 sap求最大流

题目大意:中文题。算法思路:因为他是网格,所以我们把将每一行看成点,将每一列看成点,将行与超级源点连接,行再与列相连接,列再与超级会点相连,求最大流即可。#include<bits/stdc++.h>using namespace std;#define INF 0xfffffff#define MAXN 600int t;int m,n,sum1,sum...

2016-08-18 09:44:45 145

NYOJ118 求次小生成树

题目大意:中文题。算法思路:求次小生成树。#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define INF 0x3f3f3f3f#define MAXN 505int t,n,m,a,b,c,sum,e,MAX,pr;int...

2016-08-17 15:30:09 102

Poj3177 tarjan算法求双连通分量

题目大意:给定一个无向连通图,问天几条边可以使它变成一个双连通图。算法思路:tarjan算法模板。#include<iostream>#include<cstdio>#include<cstring>#include<stack>using namespace std;#define MAXN 10005int n...

2016-08-16 10:28:39 252

NYOJ677 EK算法求解最大流

题目大意:中文题。。。算法思路:这里明显是求最小割的。那么什么是最小割呢?最小割就是所有割的权值之和的最小值,那么什么是割呢?割就是如果把图中的一条边或几条边去掉之后使得图变得不连通。这里可以用一个叫做最大流最小割的定理:在任意一个只有一个源和一个汇的图来说,最小割就等于最大流。因此可以把问题转化为求最大流的问题。这里用ek算法求解最大流。#include<iostream&gt...

2016-08-15 16:34:11 81

HDU 4435

题目大意:有一个国王他开着一辆最大只能行驶d距离的车子(因为行驶完d距离后车子就没油了)环游世界,他想从1点出发环游到n点再回来,由于车子的原因,他必须在某几个点上建加油站,来保证它能够顺利的环游世界,但是在第i个点建立加油站的费用为2^i,因此问你如何建站能使所需要的费用最小,如果怎么建站也不行的话就输出-1。算法思想:假设我们再每个点都建站,如果这样都不能完成的话,那么肯定输出-1,否...

2016-08-13 12:01:33 90

Poj1523 无向连通图求割点

题目大意:也是给你一个无向连通图,让你求出该无向图的割点,并求出如果去掉这个割点,该无向图会变成几个连通分量。算法思路:赤裸裸的tarjan求割点算法,但cnt数组记录的是去掉该点,连通图的连通分量的变化量,因此,如果数组在该点的值不为1,那么说明这个点为割点,但要注意,分成的连通分量数为cnt数组在该点的值+1。但特别要注意的一点,如果根节点是割点的话,那么说明根的度>=2,则这个...

2016-08-12 09:53:08 200

Poj1144 tarjan算法求割点

题目大意:给你一个节点从1到n的连通图,问你这个图的割点有多少个。算法思路:求割点的简单题,求割点也用tarjan算法,但要注意,根如果为割点的话,那么根的度必须大于等于2,其他点判定割点的话当且仅当自己的子节点没有越过自己的回边,也就是low[v]>=dfn[u].#include<iostream>#include<cstdio>#includ...

2016-08-11 21:14:12 120

POj2762 tarjan算法求强连通分量

题目大意:有n个房间,这些房间都有给定的路,现在要求任意两个房间能否相同(假设a与b相连通,那么只要满足a与b能够连通或者b与a能够连通即可)。,如果任意的两点能够连通输出Yes,否则输出No.算法思路:明显的求强连通分量,再缩点,再对缩点后的图判断连通性(这里采用拓扑排序判断连通性,如果有2个及以上的点入度为0的点出现的话,说明缩点后的图是不连通的)。#include<iost...

2016-08-11 17:04:20 101

HDU4430

题目大意:k^0+k^1+k^2+...+K^r=n,给你n让你求k和r,若有多组k和r取乘积最小的,若最小的乘积相同,取r值最小的(这里注意,蛋糕的中心可以不放蜡烛,因此k^0可以省略,所以判断的时候不要忘记)。算法思路:有等比数列公式可得,当k取最小的2时,r最大不超过40,因为超过40,n就要超过12位了。那么只需要遍历r,然后对k在[2,pow(n,1/r)]区间内进行二分,求出答案...

2016-08-11 09:13:55 170

Poj1286 tarjan算法求强连通图

题目大意:问给你n头牛和m个牛与牛之间的关系,问你有多少头年能够被所有的牛所知道,当然两头牛通过第三方的牛有连接也算认识。(注意A认识B但B不一定认识A,所以是个有向图).算法思路:就是求强连通图,因为A与B如果要认识,则A肯定有变直接或间接到B,同理B也必须满足这样的条件,因此这道题我们可以用tarjan算法求出图中有几个强连通分量。稍微想一想我们就可以发现,如果强连通分量X与强连通分量...

2016-08-10 11:09:28 76

Poj1236

题目大意:有N个学校,学校与学校之间要能够两两通信,现在有2个解决方案:1.要是这些学校都能用上该软件,要准备多少份软件。2.要是只有一份软件,那么要新建多少条边。算法思路:就是一个求强连通图问题,第一个问题可以转化为,再强连通分量之间,有多少个入度为0的强连通分量。第二个问题可以转化为,要构成一个强连通图,需要添加多少条边连接这些强连通分量(相当于求这些强连通分量的入度为0点的个数和出...

2016-08-09 21:30:27 72

Poj1300

题目大意:给出连通的房间,让你求能否从0走到M并且关闭了所有的房间,注意关闭的房间不能再次打开。题目已经告诉你图已经连通。算法思路:就是让你求这个图是否是一个欧拉回路或者是欧拉图,当m==0的时候求是否是欧拉回路,当m!=0的时候求是否是欧拉图。无向图欧拉回路的判定:图连通并且所有点的度是偶数。无向图欧拉通路的判定:图连通并且度为奇数的点位0个或2个,且这两个奇点必为起点或终点。...

2016-08-09 17:15:06 85

Poj1041

题目大意:问该图中是否存在一条欧拉回路,若存在则输出其路径。算法思路:存在欧拉回路很好判断,记录下每个点的度,因为是无向图,因此只需要每个点的度都是偶数即可。主要就是输出路径的问题,用普通的递归方法会超时,这里借鉴了网上的思路,详见代码。#include <iostream>#include<cstdio>#include<cstring>...

2016-08-09 13:59:30 147

空空如也

空空如也

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

TA关注的人

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