自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

持之以恒

致力于理解技术底层原理,专注后端领域,微服务、分布式、缓存、大数据、网络、操作系统 ... 目前死抠 redis、netty、springcloud

  • 博客(32)
  • 资源 (7)
  • 收藏
  • 关注

原创 S-Trees UVA712(二叉树)

题目读了半天,差点被吓住!题目本身很简单,就是一颗满二叉树,向左(2*temp),向右(2*temp+1),最后减去(1#include#includeusing namespace std;const int maxn=1<<8;const int maxn2=10000;char X[8][2];char Term[maxn];char Common[maxn2];int

2017-01-24 22:39:42 524

原创 HDU 2553 n皇后问题(回溯)

本题用回溯法求解(采用边生成边检查的方式),当不满足条件时当前路径不再继续向下搜寻,而继续另外路径的搜寻(这样就不会枚举所有的)。通过逐行向下判断(每行一个皇后),每行都尝试将皇后放在不同的列,然后判断其是否满足条件(同一列、同一对角线不能有两个以上的皇后)此题n测试数据中会有大量重复数据,因此要保存答案,遇到曾经计算过的n直接输出即可,否则可能会超时。#include#incl

2017-01-24 14:38:28 528 1

原创 Parentheses Balance 平衡的括号 UVA 673 (DFS求解)

#include#includeconst int maxn=128+2;bool flag1=true;char s[maxn];int len1;void dfs(int &i){if(s[i]==')' || s[i]==']'){ flag1=false; return ;}else if(s[i]=='('){ while(true){ i++; if(i>=

2017-01-15 13:32:28 345

原创 hdu 1251 统计难题 (Map的使用)

对于map的一点了解 :首先,会在map查找这个键值的项,map如果不包含某个键值,会返回map的end,然后它发现此键值没有找到(_Where == this->end())的话,会自动在末尾插入(this->insert(_Where)一个以你输入的键值和value的默认值(mapped_type())构成的对儿(pair),然后返回这个插入项的值(second,键是first)。而int

2017-01-14 23:50:56 302

原创 HDU 1242 Rescue (BFS + 优先队列)

#include#include#includeusing namespace std;const int maxn=200+10;char p[maxn][maxn];int d[maxn][maxn];struct node{ int x,y; node(int x1=0,int y1=0):x(x1),y(y1){} bool operator<(const node &

2017-01-14 20:53:20 287

原创 Undraw the Trees 看图写树 UVA 10562 (DFS)

本题是一道DFS练习题 ,需要注意一些条件的判断如 '\0',n 的值 等等,详情见代码#include#includeconst int maxn=200+10;char tree[maxn][maxn];int n;void dfs(int r,int c){    printf("%c(",tree[r][c]);    if(r+1        while(r+2=0 && 

2017-01-13 23:55:45 500

原创 Play on Words 单词 UVA 10129 (欧拉+dfs)

概念:无向图中欧拉道路(也叫欧拉通路),需要满足的条件图是连通的并且最多只有两个奇顶点(这两个奇顶点是欧拉通路的端点);欧拉回路:图是连通的并且没有奇顶点。有向图中也相似:欧拉道路:图是连通的并且除两个顶点外所有的点的出度等于入度 并且这两个顶点中 一个是出度多1,一个是入度多1;欧拉回路:图是连通的并且所有的顶点的出度等于入度。解题思路:把单词首、尾看做顶点,中间看做带有

2017-01-13 20:17:52 308

原创 Ordering Tasks 拓扑排序 UVA 10305

解题思路:t[]数组三种状态,-1(正在访问),0(未访问),1(已经访问)为什么访问完一个结点之后要把它放在拓扑序列的首部:因为对于(u,v)两个元素,v始终比u先进入序列(当然是由于dfs的缘故啦)#include#includeconst int maxn=100+5;int c[maxn];int topo[maxn];int G[maxn][maxn];int

2017-01-13 10:45:28 257

原创 HDU 1425 Hash求解

本题用快排也可以过 (时间复杂度(nlgn)); Hash 时间复杂度 n;快排:#include#includeusing namespace std;const int maxn=1000000+10;int a[maxn];bool cmp(int a,int b){return a>b;}int main(){    int n,m;    while(scan

2017-01-12 21:28:30 416

原创 HDU 杭电 1496 (Hash求解)

看到这题首先想到的是四重for循环,肯定超时,但还是很想试一下,结果和预期一样;然后就换成三重循环,结果还是超时;最后就换成 hash求解(第一次接触)两重循环。由题意可得a*x1*x1+b*x2*x2=-(c*x3*x3+d*x4*x4)才满足条件,hash数组至少开20W (因为50 * 100 *100+50 *100 *100=10W).如果有兴趣了解hash可以访问  htt

2017-01-12 19:58:49 619 1

原创 Quadtrees UVA 297 四分树

// 2   1// 3   4对于四分树来说,给出了它的先序序列就可以确定整棵树了,因为对任意一个节点不是叶子就是父节点,对于一个父节点一定有四个子节点(就和完全二叉树一样,通过先序就可以确定整棵树了)。题目大意是:整块的黑色区域的像素是1024,因为有些部分白色,所以通过四等分直到整个小区域都是黑色为止,最小可以分为(32*32=1024)个,每个小区域表示1像素。所以程序中通过递

2017-01-11 20:01:59 357

原创 HDU杭电 1253 胜利大逃亡(图 BFS)

本题难度并不大,一个普通的用BFS求解的题,值得注意的是数据的输入(三维数据输入被绕了几圈);还有就是最后的出口可以表示墙,无法出去(就是没考虑到这点WA了一次);剩下的就是BFS的常规思路及框架了。#include#include#include#includeusing namespace std;const int len=50+10;int K,A,B,C,T;stru

2017-01-11 19:32:18 353

原创 广度优先搜索( 图 BFS)练手题

追赶妖怪Description一身正气的钟馗四处降妖,一天他发现一只狐妖正在祸害百姓,他连忙追赶上去准备除妖,可是狐妖很聪明,她自知敌不过钟馗,便逃入山林,企图消耗钟馗的体力。钟馗在树林里面可以自由移动,而且他有一个法术:可以从当前坐标(x,y)直接移动到(2x,2y)的位置。钟馗为了不枉送性命,找到人称"人间诸葛亮"的你,希望你能帮他判断他能否在体力未耗尽到达狐妖的藏匿地点(如果

2017-01-11 10:22:01 2141 1

原创 Abbott's Revenge UVA 816(图 BFS)

题目大意:有一个 9 * 9 的交叉点的迷宫。 输入起点, 离开起点时的朝向和终点, 求最短路(多解时任意一个输出即可)。进入一个交叉点的方向(用NEWS表示不同方向)不同时, 允许出去的方向也不相同。 例如:1 2 WLF NR ER * 表示如果 进去时朝W(左), 可以 左转(L)或直行(F), 如果 朝N只能右转(R) 如果朝E也只能右转。* 表示这

2017-01-11 09:41:59 357

原创 The Falling Leaves 下落的树叶 UVA 699(二叉树)

#include#includeusing namespace std;const int maxn=10000;int sum[maxn];void buildtree(int t){    int temp;cin>>temp;    if(temp==-1)return ;    sum[t]+=temp;    buildtree(t-1);buildtree(t+1);}bool int

2017-01-09 15:42:33 342

原创 Not so Mobile 天平 UVA839

#includeusing namespace std;//通过引用返回左右重物之和bool solve(int& W){    int Wl,Dl,Wr,Dr;    cin>>Wl>>Dl>>Wr>>Dr;    bool b1=true,b2=true;    if(!Wl)b1=solve(Wl);    if(!Wr)b2=solve(Wr);    W=Wl+Wr;    return

2017-01-09 10:23:57 222

原创 Tree UVA 548(DFS)

解题思路:对于给定的二叉树的中序遍历和后序遍历,可以构造出这棵二叉树,方法是根据后序遍历找到树根。然后在中序遍历中找到树根,从而找出左右子树的结点列表,然后递归构造左右子树。本题最不容易理解的就是构造树,当然需要耐下心来仔细理解#include#include#includeusing namespace std;const int maxn=10000+10;int in

2017-01-09 08:50:31 206

原创 Trees on the level 树的层次遍历 UVA 122(BFS)

#include#include#include#includeusing namespace std;const int maxn=260;struct node{    bool have_value;         //判断是否被付了值    int value;                    //结点值    node*left,*right;          //左右子结点 

2017-01-08 15:36:38 340

原创 Dropping Balls 小球下落 UVA 679

解题思路:本题数据比较大,所以不采取数组储存;题目中的小球个数 I 如果为奇数时,它往左边走的小球个数是(I+1)/2个;偶数是往右边 I/2个。#includeint main(){    int T;    while(scanf("%d",&T)==1 && T!=-1){    while(T--){    int D,I;    scanf("%d%d",&D,&I);   

2017-01-07 23:51:51 282

原创 Broken Keyboard 破损键盘 UVA 11988

#include#includeconst int maxn=100000+10;int linked[maxn];                      //通过数组模拟链表char s[maxn];int main(){    while(scanf("%s",s+1)==1){   //输入保存在s[1],s[2]....中         int len=strlen(s+1);  

2017-01-07 21:32:07 363

原创 Matrix Chain Multiplication 矩阵链乘 UVA 442

解题思路:首先解决如何保存输入字母所对应的两个值,通过定义结构体数组nt[0]表示字符'A',以此类推;然后通过通过栈来储存输入的字母,遇到")"时出栈两个元素做运算("("  ")"不入栈)。#include#include#include#includeusing namespace std;struct note{    int a,b;    note (int a1=0,in

2017-01-07 08:41:58 467

原创 Printer Queue 打印队列 UVA 12100

解题思路:我的做法是通过队列queue(保存队列)和vector容器(通过sort完成从小到大的排序)完成,只有遇到队列中优先级最高(数字最大)才能移除队列,时间加1(total++);而指定的元素位置仍用m标识,每一次移动m都向前挪动一个。当队列中元素移除一个时,最大元素就变了(通过v--来控制)#include#include#include#includeusing na

2017-01-06 09:49:11 540

原创 Symmetry(对称轴)UVA 1595

解题思路:本题的突破点在于通过最左边和最右边的点寻找对称轴,我的想法是利用set集合排序(由于用了结构体,故要重写#include#includeusing namespace std;struct note{    int x,y;    bool operator     return x    }};set set1;int main(){    int T;    scanf(

2017-01-05 22:25:01 676

原创 Compound Words(复合词) UVA 10391

解题思路:这道题开始考虑通过合成单词来做,结果超时(复杂度n*n);后面考虑通过分解单词来做(复杂度n*m(m表示单词平均长度))AC了,需要用到string中的分解函数substr(可以在STL中查询)#include#include#include#includeusing namespace std;vectorvec;            //通过下标遍历输入的单词s

2017-01-05 12:51:05 605

原创 Foreign Exchange (交换学生)UVA 10763

解题思路:用两个vector容器分别储存输入的两个值,然后通过set储存所有不同的元素,通过set遍历所有元素,vec1[*iter]下标表示交换的学校(A, B)。看了下网上有个反列(10 20   20 30   30 10)所以在最后判断处添加了(n%2==0)偶数个人才能交换。#include#include#includeusing namespace std;c

2017-01-05 10:02:51 382

原创 Throwing cards away I 卡牌游戏 UVA 10935

解题思路:本题通过STL中的队列queue很容易就写出代码,唯一值得注意的是当输入为1时;#include#includeusing namespace std;queueq;int main(){    int n;    while(scanf("%d",&n)==1 && n){        for(int i=1;i            q.push(i);       

2017-01-04 22:48:20 308

原创 Ducci Sequence UVA 1594

本题用了两种解法:解法一是直接通过数组,当所有元素为0时,退出循环解法二则是为了练习STL中容器的使用,利用set容器元素不重复的特点,当元素不同时向set中插入元素,(count()方法判断)有相同时 即为循环;解法一:#include#includeconst int len=20;int a[len];int solve(int n){    for(int i=

2017-01-04 17:27:26 259

原创 Alignment of Code (代码对齐)UVA1593

题意如下:输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要空一格。每个单词不超过80个字符,每行不超过180个字符,一共最多1000行。 注意输出时每行的最后一列后面没有空格符。读取字符串的方式和网上一些代码不同,我的稍微复杂了点(我是一个一个字符读,他们是一行一行读),因为在这之前做了一个以这种方式读取的题,所以遇到这道题时,就选

2017-01-04 10:24:36 511

原创 Database UVA 1592数据库

解题思路:两列两列的遍历,从上到下扫描各行,把每一行c1,c2两列的内容作为一个二元数组储存到一个map当中(将输入的每一个不同的字符串分配一个编号(和集合栈计算机做法类似));如果map的键值中已经存在这个二元组,则二元组映射的就是所求的r1,而当前行就是r2。还需要注意一点:结构体用于map,set容器时必须重载#include#include#include#incl

2017-01-03 15:32:33 803

原创 Unix ls UVA 命令400

方法一:(用sort排序)(#include)#include#include#include#includeusing namespace std;const int maxn=105;string str[maxn];void print1(string  s,int maxlen){               //在字符串后面加上空格以满足要求    int len=maxle

2017-01-02 20:51:25 341

原创 Ugly Numbers UVA 136 丑数

解题思路:首先丑数是指不能被2,3,5以外其他素数整除的数。最小的丑数数1,对任意一个丑数x;   则2x,3x,5x也都是丑数,一个丑数有多种生成方式,所以,每取出一个丑数都要进行判断是否已经生成过(通过set集合元素不重复的性质),还需要注意的是,本题数据应该用long long 类型存储,故自定义类型ll (typedef long long ll)。#include

2017-01-01 10:22:55 378

原创 Team Queue UVA 540 (团体队列)

#include#include#include#include#includeusing namespace std;const int maxn=1010;int main(){    int t;    int count=0;    while(scanf("%d",&t)==1 && t){       mapmp;       for(int i=1;i           int n

2017-01-01 08:30:54 355

channel_v3.json

sublime text3在下载package install无反应,原因是: perforences->package setting->package controll->settings-default下有"https://packagecontrol.io/channel_v3.json",该文件由于网络缓慢导致;因此先现在到本地,然后在 perforences->package setting->package controll->settings添加绝对路径即可

2019-01-21

google chrome插件, 用于yapi的接口测试所需插件-2.8.0

cross_request, chrome插件, 用于yapi的接口测试所需插件-2.8.0

2019-01-20

sql server2008 jdbc驱动

sql server2008 jdbc驱动、 sql server2008 jdbc驱动、

2018-01-03

hibernate注解开发所需的jar包

hibernate注解开发所需的jar包 包括 ejb3-persistance.jar、hibernate-commons-annotations.jar、hibernate-annotations.jar

2017-12-30

cglib-3.1.jar 、asm-6.0.jar

Mabatis 使用懒加载所需要的两个jar包 cglib 和 asm,最新版本

2017-11-28

jackson-core-2.7.4.zip

jackson-core-2.7.4.zip 包含了三个jar包,jackson-core-2.7.4.zip 包含了三个jar包

2017-10-16

SpringMVC开发jar包

SpringMVC开发所需jar包,包含spring4.3.10发布的版本和hibernate4.1.4发布的版本

2017-10-07

空空如也

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

TA关注的人

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