自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring+mybatis+springMvc+maven简单整合

一、首先我们先要做点前期准备工作:将测试用的数据库先建好

2014-07-27 20:58:25 1056

转载 过滤器,监听器,拦截器的区别

原文:1.过滤器Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆

2014-07-21 15:36:49 407

原创 Codeforces Round #243 (Div. 2)

A。所有ai求和的值大于S,则输出NO,其余输出YES

2014-04-29 19:51:13 439

原创 Codeforces Round #242 (Div. 2)

A.简单题,将‘X’和‘x’个个数变得一样,求出改变的此

2014-04-27 22:14:38 490

原创 linux记录

这里收集了一些关于linux的文章,方便以后再次使用。Linux 标准目录结构:http://www.cnblogs.com/Bob-FD/archive/2012/07/12/2588233.htmllinux下配置JDK:http://blog.csdn.net/boonya/article/details/15681259linux下安装myeclipse:http:

2014-02-22 16:42:51 538

转载 Servlet跳转方式sendReDirect()和forward()

在web应用服务中,经常会面对不同SERVLET之间的跳转,目前我们可以通过以下两种方式实现:1.RequestDispatcher.forward()2.ServletResponse.sendReDirect() 两者的区别:1.redirect 方式可以跨应用访问,forward 只能在同一个应用中跳转。2.forward 客户端访问服务器,服

2014-01-15 21:45:30 674

原创 在eclipse中调用自己写的类

如果import了自己写的类要设置classpath如果你用的是windows系统,可以在cmd中输入 set classpath=包1存放位置;包2存放位置;...;包n存放位置 (每次开启cmd后都要设,运行时也要设)或 右击 我的电脑->属性->高级->环境变量->新建(系统变量)->变量名 classpath 变量值 包1存放位置;包2存放位置;...;包n存放位置

2013-11-06 16:36:27 1130

原创 在eclipse中关联源代码

在eclipse中点击project按钮,选择properties。以下摘自:http://blog.csdn.net/longyuhome/article/details/8497505在构建路径中选择“Libraties”选项卡,展开rt.jar选项,可以清楚的看到第一项的“Source attachment”为空,所以选择右键如图所示右边的Edit按钮,如图所示:

2013-11-05 16:38:22 460

转载 think in java之构造器的真正调用顺序

原文:http://blog.csdn.net/yaerfeng/article/details/7294882构造器是OOP的重要组成部分,很多人认为它很容易。只不过是new了一个对象而已。而think in java的作者却告诉我们,其实这并不容易。先看下面这个例子。在你没看结果之前,你觉得你的答案是对的么。[java] view plainco

2013-11-03 20:37:31 341

原创 java中在类的构造器中调用另一个构造器

java中在一个构造器中调用另一个构造器只能将调用写在实现的第一行,而且只能调用一个构造器,但是可以写成如下形式的层次调用。public class test { protected int pos = 0; public test (){ this(1); System.out.println("test1"); } public test (int k){

2013-11-03 20:24:00 1789

原创 Codeforces Round #206 (Div. 2)

A:Vasya and Digital Root思路:一个K位的数的每一位的和最大也就是K*9,遍历1~K*9,若有一个数满足dr(sum) = d,则说明K位的数中有满足条件的数,且和为sum,则任意一个和为sum的K位数都满足条件,任意输出一个即可。#include #include #include #include #include #include #incl

2013-10-14 09:22:50 804

转载 VS2012中,为MFC程序添加右键菜单

转自:http://blog.sina.com.cn/s/blog_772c73700101kvhd.html本文是读者在学习孙鑫的《VC++深入详解》时,对一些在VS2012与VC6.0不同地方,需要修改的代码进行整理得到的。在VC++6.0中,在project -》addtoproject-》……之后进行选择就可以为工程添加一个单击右键弹出菜单功能,但是在VS中没有Po

2013-09-26 15:21:42 1165

原创 HDU 3886 Final Kichiku “Lanlanshu” 数位DP

思路:以dp[index][fg][pre][pos]来标记, 4维分别为搜到的深度,前面是否出现过非0位,前一位数pre,前一位数满足的条件。若当前搜到的层数取 i ,则判断 i 的值和pre是满足str[pos]还是满足str[pos-1]的,来判断当前层应假设满足的条件。#include #include #include #include #include #include

2013-08-31 16:10:55 658

原创 HDU 4631 Sad Love Story

multiset+暴力#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef __int64 int64;typedef long long ll;#

2013-08-30 17:20:40 426

原创 CodeForces 258B Little Elephant and Elections 数位DP

题意:有7个人要从m个数里面任选一个,且不能重复,一个数里面幸运数的个数就是4的个数加7的个数,求第一个人的这个数的幸运数的个数比其他六个人的幸运数之和还要大的方案数。思路:先用数位DP求出幸运数长度为0~len的数分别有多少个,然后枚举第一个人的幸运数个数k,用一个深搜来求其他六个幸运数个数小于k的情况数。具体实现看代码:#include #include #include #in

2013-08-30 12:48:39 635

原创 CodeForces 215E Periodical Numbers 数位DP

题意:给你一个区间[l,r],求这个区间内满足条件的数,条件是:这个数的二进制表示时,dig[i] = dig[i+k] , (0思路:考虑[0,x]这个区间,若x的位数为len,当数的长度 i 为0~len-1时,则是无限制的,这时dp[i] = sum{2^(k-1)},k为满足条件的循环长度。而且还要去掉重复的,比如当长度为6时,循环长度为2,3的数均会重复计算,当数的长度为len时,则

2013-08-29 19:04:10 703

原创 HDU 3507 Print Article 斜率优化DP

题意:给出一篇文章打印每个字的花费,打印每行的花费为这一行每个字花费和的平方加m,求出将这篇文章打印到纸上的最低花费。思路:如果是朴素的dp还是比较好想的,dp[i] = dp[i]= min{ dp[j]+(sum[i]-sum[j])^2 +M }  0

2013-08-29 15:39:51 472

原创 HDU 4630 No Pain No Game 离线+线段树

题意:给出n个数,以及一些区间,求区间中两两数字间的最大公约数。思路:用pre[j]表示约数j上一次出现的位置,则当约数 j 出现时,它上一次出现的位置所能得到的最大公约数也就是max(j,原来的值)。所以求区间的最大公约数也就成了求区间的最大值,先将所要访问的区间按r由小到大排序,用一颗线段树来维护,求出这个区间的最大值即可。(求约数也可在logn的时间内求出来)。#include #

2013-08-28 19:16:31 482

原创 HDU 4620 Fruit Ninja Extreme

题意:给出N个切水果的方案,求相邻切水果时间不超过w,且每次最少切3个水果的最多切割次数。直接暴力枚举,截点枝就可以过了。#include #include #include #include #include #include #include #include #include #include #include #include using namespace

2013-08-28 15:58:21 417

原创 HDU 4614 Vases and Flowers 线段树区间更新

题意:给你n个花瓶,m次操作,若k==1,则从第A个开始插入花,直到插入了F朵花或者没有空花瓶了,若k==2,则将花瓶a~b清空。思路:比较裸的线段树,对于第一种操作,若能插花则先求出插花的左右边界,然后将这个区间空位更新为0,第二种操作,询问区间花瓶数后直接将此区间空位更新为区间的r-l+1.#include #include #include #include #include

2013-08-26 15:50:13 466

原创 HDU 3474 Necklace 单调队列

题意:给你一串项链,上面串联着C宝石和J宝石,在项链任意一点断开,从左到右或者从右到左收集宝石,且保证任意时刻C宝石的数量要大于B宝石,求满足条件的点的个数。思路:将宝石C看做1,宝石J看做-1,若从第 i 点断开开始收集,要保证sum[i]-sum[j]的值在任意时刻都不小于0,即保证min(sum[j])-sum[i]要大于等于0,(sum[i]为1~i 的和),这样就可以想到用单调队

2013-08-25 13:04:56 472

原创 HDU 4691 Front compression

后缀数组模板。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef __int64 int64;typedef long long ll;#define M 10000

2013-08-24 16:41:31 398

原创 ZOJ 3494 BCD Code 数位DP+AC自动机

其实还是比较裸的数位DP,只不过需要用AC自动机来预先处理一下,写了3个小时,各种调试,蛋碎了一地啊。不过幸好最后还是做出来了。思路:先用AC自动机预处理字符串,数位DP时以dp[index][pos][fg]来表示状态,分别为层数,判断到AC自动机的位置,以及是否前面出现过非0位。代码略搓:#include #include #include #include #includ

2013-08-19 19:41:45 538

原创 HDU 2222 Keywords Search

比较裸的AC自动机。借鉴:http://www.cppblog.com/mythit/archive/2009/04/21/80633.html#include #include #include #include #include #include #include #include #include #include #include #include usin

2013-08-19 11:03:49 472

原创 POJ 3017 Cut the Sequence 单调队列+平衡树

题意:给出一个序列,求将序列划分成若干段,且每段和不超过m的情况下,每段的最大值的和最小为多少。思路:比较朴素的想法还是比较好想的,即:dp[i] = min{ dp[j]+max{ num[k] } };其中lef[i] 所以需要优化,先用一个最大值单调队列来维护lef[i]到 i 的最大值,则dp[i] = min(dp[j] + q[head]);若num[i]为最大值,则dp[i]

2013-08-19 10:25:21 494

原创 HDU 4352 XHXJ's LIS

数位DP,以dp[index][sta][k]来记录搜索到当前层时,最长序列的状态为sta,要求的是长度为k的序列的个数。状态sta中1的个数即是当前这个数的最长上子升序列的长度,这个状态的求法和nlogn求最长上升子序列的求法是一样的。#include #include #include #include #include #include #include #includ

2013-08-13 09:49:11 382

原创 HDU 2993 MAX Average Problem

斜率优化DP。这题是论文《浅谈数形结合思想在信息学竞赛中的应用》http://wenku.baidu.com/view/b97cd22d0066f5335a8121a3.html中的例二,具体解题思路可以去论文中看看,说说这题坑的地方,输出时如果用getchar()自己写输入的话要快大概500ms左右,存数的时候要用double,如果用int的话,就算算答案的时候乘以1.0再算也是wron

2013-08-11 14:40:43 438

原创 HDU 1506 Largest Rectangle in a Histogram

思路:对于每一块木板,Area=height[i]*(j-k+1)  其中,j=height[i];找j,k成为关键,一般方法肯定超时,利用动态规划,如果它左边高度大于等于它本身,那么它左边的左边界一定满足这个性质,再从这个边界的左边迭代下去…#include #include #include __int64 n , l[100005] , num[100005] , r[1

2013-08-09 21:37:56 427

原创 POJ 2796 Feel Good

单调栈的应用,也可以用DP来做,DP具体做法与这篇类似。这里用单调栈求出以每个点为最小值的左右边界,最后遍历一次取最大值就可以了。#include #include #include #include #include #include #include #include #include #include #include using namespace std;

2013-08-09 21:29:13 495

原创 POJ 3494 Largest Submatrix of All 1’s

意思和做法和HDU的1505可以说完全一样了。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef __int64 int64;typedef long long ll;

2013-08-09 20:01:41 543

原创 POJ 2082 Terrible Sets

题意:给你连续n个矩阵的长和宽,求出最大连续矩阵的面积。单调栈。也可用DP写,具体和HDU1505类似。这里就写单调队列了。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typ

2013-08-09 19:22:45 416

原创 POJ 3250 Bad Hair Day

简单单调栈。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef __int64 int64;typedef long long ll;#define M 100005

2013-08-09 18:30:13 485

原创 HDU 3415 Max Sum of Max-K-sub-sequence

我用单调队列做的,队列内按区间和从大到小排列,则队列头到当前点的区间和最大,需要注意的是数组要开大一点不然wrong到哭啊。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typed

2013-08-09 16:42:05 429

原创 FZU 1894 志愿者选拔

是个简单的单调队列,不多说了。#include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef __int64 int64;typedef long long ll;#define

2013-08-09 10:27:53 465

原创 POJ 2823 Sliding Window

简单单调队列,其实这题也可以用线段树或者RMQ来做,在这里我就只写了单调队列的了。还有就是提交时用C++,用G++超时了。#include #include #include #include #include #include #include #include #include #include #include using namespace std;type

2013-08-09 10:25:52 437

原创 HDU 1668 POJ 2288 Islands and Bridges

以下解题思路摘自:http://www.cnblogs.com/jackge/archive/2013/05/24/3096162.html取dp[state][i][j]表示state状态下倒数第二个岛为i,最后一个岛为j时的最优解,num[state][i][j]为相应的路径数目,其中state的二进制表示的i位为1表示岛i被访问过,反之为0。则显然当有边(i,j)存在时,有如下初值可

2013-08-08 21:24:40 816

原创 UVA 11008 Antimatter Ray Clearcutting

状态DP,以dp[i]记录砍掉的树的状态为i时的最少发射激光数,对于每个状态考虑将当前状态下未被砍的树中选一颗来砍,则考虑两种情况,一个是这颗树需要单独一束激光来砍,另一个就是这棵树和其他已经被砍的某一颗树形成一条线,而在这条线上的点都可以被砍掉,所以求砍这个方向的前一个状态时需要将在这条线上的点都减掉。具体说明看代码:#include #include #include #incl

2013-08-08 16:08:38 443

原创 HDU 3401 Trade

题意:给出t天内每天股票的买入价格,卖出价格,最多购买数和最多卖出数,求t天后最多能赚多少、思路:用dp[i][j]表示第i天时手里还剩j支股票的最大获利。第i天买入时:dp[i][j] = max{dpi-1][k]-(j-k)*api};即dp[i][j] = max{dp[i-1][k]+k*api}-j*api,(0第i天卖出时:dp[i][j] = max{dpi-1][k]

2013-08-08 10:44:51 412

原创 POJ 2441 Arrange the Bulls

题意:给你n头牛以及m个房间,每头牛只可放在一些固定的房间,求每头牛都放置到房间中的方案数。思路:用dp[i][j]表示第i头牛在状态j时的方案数,则,dp[i][j] += dp[i-1][k];其中k为前i-1头牛放置成状态k的方案数,要保证在放第i头牛的位置为0。这样写空间消耗太大,故需要改成滚动数组。dp[cnt][x] += dp[1-cnt][k];x为第i头牛可以放到房间的状

2013-08-07 16:09:54 551

原创 HDU 4628 Pieces

状态DP,以dp[i]表示删减为状态i时所需要的最小次数,dp[i] = min(dp[i],dp[j]+1);其中保证j-i是回文,因为要保证j状态包含i状态,所以第二重循环式j = (j+1)|i。#include #include #include #include #include #include #include #include #include #includ

2013-08-07 12:57:02 435

spring-framework.pdf

spring framework 4.16文档

2015-05-12

空空如也

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

TA关注的人

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