- 博客(48)
- 收藏
- 关注
原创 dubbox的配置大致步骤
dubbox: 下载dubbox,用maven编译。war包放tomcat。安装配置zookeeper 3.4.14,启动一个zookeeper实例。http://localhost:8080/dubbo-admin-2.8.4/ 为其分布式项目的监控中心tomcat新下载了7.0.40版本(高版本启动dubbox有问题?)...
2019-05-16 17:02:22
463
原创 ACM程序设计学期总结
心路历程大一的时候就跟着费老师学了近一个学期的ACM程序设计课程,但是由于种种出自于自己的原因,当时并没有完全塌下心去学,只是学到了些基础的东西,做的题太少,当然也并没有深入理解。大二又有了这个机会,自然不能放过,又认认真真重新学了一遍。虽然这学期这门课一共只学了四个专题,但是对我来说,收获非常大,正像费老师说的:acm是思维的体操。它不停留在基本的语言层面,而是专注于解决各种实际问题的有
2016-07-01 11:44:12
2739
原创 DS 并查集 Problem C 1003 连接所有城镇
Problem C ID:1003简单题意:给出城镇数、已有道路数,以及分别是哪些城镇相互之间有道路连接。使全省任何两个城镇间都可以实现交通,互相间接通过道路可达即可。最少还需要建设多少条道路?解题思路形成过程:用一个数组来存储每个城镇所连接的下一个城镇的编号,初始值是自己。 find函数来确定城镇所能连接到的最后一个城镇。
2016-06-13 20:56:51
714
原创 动态规划总结
动态规划总结 所谓动态规划,就是先求取局部最优解,最后来得到全局最优解。或者是,先求得当前阶段的最优解,最后得到全部阶段结束后的最优解。 当求局部最优解时,也不能只是仅仅着眼于局部,而是考虑着全局,在符合全局的目标和条件下来求解局部最优解(这点有点像现实中的规划)。 既然重点是求局部,那么要弄清从哪里开始,到哪里结束。更要弄清开始时怎么设计,结束时和中间部分又是怎么设计,
2016-05-31 23:13:17
1021
1
原创 DP 动态规划 Problem V 1022 反向考虑的背包
Problem V ID:1022简单题意:某人准备抢银行,可以承受的最大被抓的概率为p(总共),共有n个银行可抢,分别给出各个银行所拥有的money:mi,抢各个银行被抓的概率pi。求可以抢到的最大金额。解题思路形成过程:因为概率值的范围为0~1,即有小数,所以必须反向来考虑。 可以承受的最大被抓的概率为p,即:如果逃跑的概
2016-05-31 22:23:55
1771
原创 DP 动态规划 Problem R 1018 完全背包
Problem R ID:1018简单题意:存钱罐空着的时候重E,满的时候最多重F,有T种硬币(无限个),给出每种硬币的价值P和重量W,求存钱罐满的时候里面硬币的最小总重量。解题思路形成过程:因为要求最小的总重量,每个DP过程求的也就是最小值(min),且DP数组每一个元素的初始值要设置的足够大。 因为是完全背包问题,内层循环
2016-05-29 18:27:51
678
原创 DP 动态规划 Problem H 1008 左上角到右下角
Problem H ID:1008简单题意:一个两维的方格阵列,从左上角走到右下角,每个格子里都有一个数字K ( |K|(x,y)走)有三种走法:向下走一个格(x+1,y)、向右走一个格(x,y+1)或者(x,y*k) ,k为大于等于2的整数,走过的数字将累加。问:到达右下角时最大值为多少?解题思路形成过程:一个比较简答的dp题,先列遍历,再对
2016-05-24 12:44:48
807
原创 DP 动态规划 Problem W 1023 背包
Problem W ID:1023简单题意:共有n万元,有m个学校可申请(0,给出每个学校的申请费用和拿到offer的概率,求至少得到一份offer的最大概率。解题思路形成过程:明显的背包问题,相比上一个问题 Problem Q n和m的范围都比较大,如果用二维数组(dp[10000][10000])会超出限制,所以必须进行优化。
2016-05-19 11:09:25
454
原创 DP 动态规划 Problem Q 1017 背包问题
Problem Q ID:1017简单题意:物品总数为N,背包的体积为V,给出每个物品的价值和体积,求出背包最多能放多少价值的物品。解题思路形成过程:基础的背包问题。 用一个二维数组dp[i][j]来进行遍历,i代表前i个物品,j代表放前i个物品占用的体积,dp[i][j]则代表放前i个物品,占用j的体积时背包中的最大价值。
2016-05-17 11:39:48
478
原创 DP 动态规划 Problem E 1005 最大递增子序列
Problem E ID:1005简单题意:提供无限个若干种长为xi,宽为yi,高为zi的砖块,砖块可以调整方向(如长也可以为宽或高)。若一个砖块的长和宽分别比另一个砖块的长和宽小,则此砖块可以垒在后一个砖块的上面。问:最大可以垒多高?解题思路形成过程:实际上是一种条件稍复杂些的最大递增子序列问题。 每种砖块的高共有三种情况(
2016-05-16 22:57:24
566
原创 DP 动态规划 Problem D 1004 丑数
Problem D ID:1004简单题意:不能被2,3,5,7之外的其他素数整除的数,称为丑数。1为第一个丑数。给出n,求第n个丑数。解题思路形成过程:将所有的丑数放到数组a中,则a[0]=1。 设置4个游标(a2,a3,a5,a7),分别是含有因子为2、3、5、7的游标,4个游标的初始位置均为0。
2016-05-16 08:15:53
427
原创 DP 动态规划 Problem C 1003 最大递增子段和
Problem C ID:1003简单题意:给出一排带有数字的棋子,每个棋子只能从左往右跳,且只能往比现在的数字更大的棋子上跳,跳时可以跨越多个棋子直达另一个。求最大的路径和。解题思路形成过程:题意实际上是求最大递增字段和。 利用dp,用s数组存放每个棋子的数字,dp数组存放以当前棋子为终点时最大路径和。
2016-05-14 22:58:13
692
原创 DP 动态规划 Problem P 1016 不向后走的走路方案数
Problem P ID:1016简单题意:在一个无限大的平面,只能向前、向左、向右走,不能向后走,走过的路不能再走。给出走的步数n(n解题思路形成过程:设F(n)为走n步的总方案数,a(n)为走n步最后一步为向前走的总数,b(n)为走n步最后一步为向左走或向右走的总数。 可以推出:①F(n)=a(n)+b(n);
2016-05-08 20:50:21
807
原创 DP 动态规划 Problem B 1002 求最长上升子序列的长度
Problem B ID:1002简单题意:给出X和Z两个字符串,求最长上升子序列的长度。解题思路形成过程:利用矩阵。X字符串中的各字符依次作为行标,Z字符串中的各字符依次作为列标。 从第一行第一列开始逐行遍历:如果当前位置对应的两个字符相同,则在这个位置记录"前一行前一列"的对应的数+1;
2016-05-07 23:35:26
3371
原创 DP 动态规划 Problem O 1015 二进制十进制转换
Problem O ID:1015简单题意:给出一个1000以内的十进制数,求其二进制形式。解题思路形成过程:如图所示: 每组的前一半与后一半各服从相同的规律:前一半:a[i]=head+a[i-t1]%tail;后一半:a[i]=head+a[i-t2];(head:此组数据的基数,tail:tail=head/10,i-t
2016-05-03 22:23:06
940
原创 DP 动态规划 Problem N 1014 折线分割平面
Problem N ID:1014简单题意:一条折线(一个顶点,两条射线)可以将平面(平面无穷大)分割成两个部分,问:n条折线最多能将平面分割成几个部分?解题思路形成过程:若使第n条折线将平面分割的最多,前n-1条折线每一条都须对这新一条折线参与分割。 n-1条折线有2*(n-1)条直线,每条直线最多可以割出两个线段(即共割出
2016-05-02 21:12:21
497
原创 DP 动态规划 Problem K 1011 蜜蜂爬蜂房
Problem K ID:1011简单题意:蜜蜂只能爬向右侧相邻的蜂房,计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 解题思路形成过程:t=b-a为相隔的蜂房数。 用一个数组a来储存不同t值对应的可能路线数,a[1]=1,a[2]=2;
2016-05-01 21:29:30
960
原创 DP 动态规划 Problem L 1012 铺骨牌
Problem L ID:1012简单题意:向一个2*n的长方形方格里铺1*2的骨牌,方格须铺满。给出n,求铺放方案总数。解题思路形成过程:用一个数组a来储存不同n值的总方式数,由题意可得:a[1]=1;a[2]=2; 当n>=3时,状态转移方程为:a[i]=a[i-1]+a[i-2];
2016-05-01 18:25:51
538
原创 DP 动态规划 Problem J 1010 上楼梯问题
Problem J ID:1010简单题意:走楼梯,从第1级走到第M级,每次上一级或上两级。问:到达M级共有多少种方式。解题思路形成过程:用一个数组a来储存到达每一级的总方式数,由题意可得:a[1]=1;a[2]=1;a[3]=2; 状态转移方程为:a[i]=a[i-2]+a[i-1]; (i>=4)。
2016-05-01 17:37:46
688
原创 DP 动态规划 Problem M 1013 母牛问题
Problem M ID:1013简单题意:初始有一头母牛,每年年初生一头母牛,所有新出生的母牛从出生后的第四个年头开始,每年都生一头母牛。求第n年共有多少头母牛。解题思路形成过程:使用两个数组,一个数组a存放(所有)当年出生的母牛数,另一个数组b存放(所有)从第一年到当年的总母牛数。 n n>3时,
2016-05-01 17:03:27
620
原创 DP 动态规划 Problem F 1006 数塔问题
Problem F ID:1006 简单题意:给出一个数塔,从顶层走到底层,每一步只能走到相邻的结点,求经过的结点的最大数字之和。解题思路形成过程:从上到下,从倒数第二层开始,每一个结点均有两个选择:自己本身的数加上左儿子或者自己本身的数加上右儿子,两者的数求取最大值,最大值便是此结点的最大值。按照此方法,从倒数第二次依次遍历到最顶层。此时最顶层的数便是从
2016-04-30 23:01:55
934
原创 DP 动态规划 Problem A 1001 最长子序列
Problem A ID:1001 简单题意:给出一组含负数的数,求最大子序列,并求出此序列的首尾位置。解题思路形成过程:感想:代码:#include #include #include using namespace std;int a[2000001];int cmax[2000001];int tag[20
2016-04-26 22:59:57
423
原创 搜索算法总结
搜索算法总结 所谓搜索算法,就是在解的空间里,从一个状态转移(按照要求拓展)到其他状态,这样进行下去,将解的空间中的状态遍历,找到答案。 搜索又分为广搜(BFS)和深搜(DFS)。 深搜(DFS)即深度优先搜索,始终对下一层的结点优先进行搜索,后面层数的结点遍历过后再返回上一层,逐层返回,直到根节点。深搜强调的是“全”,即所有结点都将至少遍历一遍。因此,深搜往往适用于解决
2016-04-25 23:29:11
1273
原创 BFS 搜索 Problem 1015 Knight Moves "马走日"之最少步数
Problem ID:1015 Knight Moves简单题意:给出一个8*8的棋盘,一个起始点,一个目的点,从起始点开始,按照“马走日”规则行走。求到达目的点的最少步数。解题思路形成过程:用BFS的方式进行遍历,每个点可以往8个方向前进。 如果前进需要满足2个条件:①:此点在棋盘内;
2016-04-24 21:15:16
1838
1
原创 BFS 搜索 Problem 1012 Rescue 拯救天使
Problem ID:1012 Rescue简单题意:给出一个地图,其中有一个"a",代表angle,若干个"r",代表去营救angle的朋友,"x"标志敌人,"."标志可以行进的区域,"#"标志不可行进的区域。只可直行,不能斜向前进。走向"."耗时1,走向并击败"x"耗时2,求能拯救angle所需要的最短时间。如不能拯救,则输出"Poor ANGEL has to stay
2016-04-23 20:48:57
798
原创 DFS 搜索 Problem 1016 Red and Black
Problem ID:1016 Red and Black简单题意:给出一个地图,其中有一个起始点,标记为"."的地方可以走,为"#"的不能走。只能直走,不能斜向前进。求能到达的所有地区数。解题思路形成过程:利用DFS,找出能到达的所有"."地区,每找到一个进行标记,从而剪枝、减少重复计算。 因此,此题递归共有3个条件:①:所遍历到的行
2016-04-23 20:33:16
412
原创 BFS 搜索 Problem 1009 连连看
Problem ID:1009 连连看简单题意:一个棋盘上放了若干个棋子,如果两个相同(位置不同)的棋子能用一条线连起来,且转折次数不超过2次,则可将其消去。给出棋盘和棋子,以及试图消去的两个棋子位置。如果能消去,输出“YES”,如果不能,输出“NO”。解题思路形成过程:利用BFS进行搜索,符合要求的下一步共有3个要求: ①:连线必须
2016-04-21 11:43:03
417
原创 DFS 搜索 Problem 1011 Oil Deposits 探索石油储量
Problem ID:1011 Oil Deposits简单题意:给出一个m*n的region,*代表无油,@代表一个Oil pocket。如果两个@在横向或纵向或斜向相邻,则这两个@属于同一个Oil deposit。求Oil deposit的总数。解题思路形成过程:用数字来代替*和@,0代表无油,1代表一个Oil pocket。将它们存放至数组中。
2016-04-20 19:51:51
517
原创 三分 Problem 1005 Turn the corner 车转向问题
Problem ID:1005 Turn the corner简单题意:一辆汽车由一条路转向另一条路,给出车的长度、宽度,当前路的宽度,以及将要进入的路的宽度。如果能够进入,输出“yes”,否则输出“no”。解题思路形成过程:如图所示: 根据问题可知:s=l*cos(m)+w*sin(m)-x
2016-04-16 22:05:23
580
原创 BFS 搜索 Problem 1013 A strange lift
Problem ID:1013 A strange lift简单题意:在一个特殊的电梯中,如果你当前在第i层,按up则向上走ki层,按down则向下走ki层。如果将要到达的楼层n,则按up或down将没有作用。给出总楼层数n,起始楼层a和目的楼层b,以及k1 k2 k3 ……kn, 求到达楼层b所需要的最少操作次数。如果不能到达则输出“-1”。解题思路形成过程:
2016-04-14 17:05:05
442
原创 DFS 搜索 Problem 1019 N皇后问题
Problem ID:1019 N皇后问题简单题意:在N*N的棋盘上放N个皇后,任意2个皇后不允许处在同一排,同一列,也不允许连线与棋盘边框成45°角。给定N,求出所有的放置方法数。(正整数N解题思路形成过程:利用深搜对行和列先后进行遍历,记录下当前位置之前所有行放置位置的列号。 在遍历过程中,所有要放置的皇后必须同时满足3个要求,即:和之前放置好
2016-04-12 22:02:31
483
原创 二分查找 Problem 1003 Pie
Problem ID:1003 Pie简单题意:有N块pie,分给F+1个人。每块pie的高度都是1,但半径不一定相同。每个人都要分到相同体积的pie,但是每个人只能得到一块pie,不能是好几块拼凑起来。可以浪费掉一部分。给出N、F、每块pie的半径ri,求出每个人将会得到的pie的最大体积V。解题思路形成过程:一个人最多可以分到最大的那块pie的体积
2016-04-09 13:19:25
443
原创 水题-但题意难理解 Problem 1008 猜数字
Problem ID:1008 猜数字简单题意:解题思路形成过程:感想:代码:#include#include#includeusing namespace std;int main(){ int n; cin>>n; while(n--){ int m; sc
2016-04-08 23:14:58
826
原创 二分查找 Problem 1002 Strange fuction
Problem ID:1002 Can you solve this equation?简单题意:解题思路形成过程:感想:代码:#include#include#includeusing namespace std;double fun(double x,double y){ return 42*pow(x,
2016-04-08 23:11:16
393
原创 二分查找 Problem 1001 Can you solve this equation?
Problem ID:1001 Can you solve this equation?简单题意:解题思路形成过程:感想:代码:#include#include#includedusing namespace std;double cal(double n){ return 8*pow(n,4
2016-04-08 23:09:18
392
原创 贪心算法总结
贪心算法总结所谓贪心算法,就是在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解。我所认为的贪心算法并不是一个固定的程式,而是一种贪心思想,一种算法思想。虽然贪心算法是做出局部最优解来取得全局最优解,但是我认为要解决好一个问题首先要用全局的眼光看待和分析问题。就比如Problem F 1005 花最
2016-04-04 22:01:28
577
原创 贪心算法 Problem D 1003 哈夫曼编码
STL Problem D Problem ID:1003简单题意:给出一组字符串,求出普通编码将占用的位数和哈夫曼编码所用的位数,以及普通编码与哈夫曼编码比率(普通编码长度除以哈夫曼编码长度)。解题思路形成过程:哈夫曼编码所占用的位数正好等于哈夫曼树各个非根节点的权值之和。因此,将字符储存好后按每个字母的数量将其进行排序,从小到大进行遍历相加进行哈夫曼树
2016-03-31 12:38:06
1525
原创 贪心算法 Problem P 1015 求最少花费
STL Problem P Problem ID:1015简单题意:某酸奶厂每星期可产任意单位的酸奶,且拥有一个足够大的储藏室来存放任意单位的酸奶。每星期产酸奶的成本yi都不同,但每星期贮藏酸奶的成本s(每单位)都相同。现告诉每星期产酸奶的成本,每星期要送往用户的酸奶的总数,以及贮藏酸奶的成本s(每单位),求最少花费。解题思路形成过程:求出每个星期的最
2016-03-31 10:17:40
1310
原创 贪心算法 Problem R 1017 求最少所需包裹
STL Problem N Problem ID:1013简单题意:物品共有六种规格:1*1, 2*2, 3*3, 4*4, 5*5, 6*6,它们将被放到6*6的包裹里送到客户手中。已知各个规格的物品数量,求最少需要多少个包裹。解题思路形成过程:从6*6的物品开始往下遍历,优先放更大的物品:①每个6*6的物品单独占一个包裹;②5*5的
2016-03-31 10:14:41
1274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人