自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [贪心 + 分组背包]圆覆盖问题

一个包含n个圆心,每个圆半径都为r的位置坐标文件,你设计一个算法,找出m个圆心,使这m个圆总覆盖区域最大。换个意思就是选择m个交集最小的圆step1: 构建图:圆心为节点,有交集添边,边权为交集面积step2: 简单bfs算法。目的把图分割为一个个连通图step3: 直接选择孤立的节点.也就是不相交的节点。假设选了L个step4: 若L >= m。则返回前m个圆心s...

2019-12-02 09:33:58 1100 1

原创 Spring- HibernateTemplate使用

HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加、删除、修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate 的常规用法,就可完成大多数DAO对象的 CRUD操作。    下面是 HibernateTemplate的常用方法。    delete(Object en

2017-05-04 16:35:08 382

转载 Spring-Bean生命周期详解

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。 转载请注明地址 http://www.cnb

2017-05-03 20:01:48 345

原创 对于org.apache.commons.dbcp.BasicDataSource的配置认知

Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用这两者中任何一个配置数据源。 DBCP数据源     DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下

2017-05-03 19:29:32 1257

原创 Structs2 Action访问Servlet API的三种方式

第一种:使用Structs2框架提供的内置类Class ActionContextjava.lang.Objectcom.opensymphony.xwork2.ActionContextAll Implemented Interfaces:SerializableDirect Known Subclasses:ServletActionContext

2017-04-22 15:09:07 562

转载 structs2的请求处理过程

官方的流程图:客户端对tomcat服务器发出请求,将请求封装成HttpRequest对象,并进行预处理操作(如设置编码等);通过web.xml文件 找到struts2的前端控制器StrutsPrepareAndExcuteFilter,并调用doFilter()方法。[java] view plain copy  public void doFilter(ServletRequest req,

2017-04-22 13:53:32 713

原创 structs2-运用Action

要使用Action,是使用配置+实现类的模式。第一步:建立一个类名字尾部为Action,例如LoginAction。可选择让其实现Action接口或继承ActionSupport。第二步:在这个类中实现控制方法,该方法约定返回一个字符串结果。第三步:配置struct.xml文件public interface Action{ public static final String

2017-04-22 13:39:38 473

原创 structs2-StrutsPrepareAndExecuteFilter类的理解

使用structs需要配置文件web.xml struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* Class StrutsPrepareAndExecuteFilterjav

2017-04-20 15:32:57 4915

转载 struts2的核心和工作原理

truts2的核心和工作原理设计目标    Struts设计的第一目标就是使MVC模式应用于web程序设计。技术优势    Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Servlet只是Java API的一个很小子集,这样我们可以在业务逻辑部分

2017-04-20 12:43:34 492

转载 git常用命令

git init # 初始化本地git仓库(创建新仓库)git config --global user.name "xxx" # 配置用户名git config --global user.email "[email protected]"

2017-01-08 09:46:29 309

原创 hdu-2829 Lawrence[斜率dp]

参考了kuangbin大神的。题意:大概就是给你n(1要你将其分成m + 1(0要求每组数必须是连续的而且要求得到的价值最小。一组数的价值定义为该组内任意两个数乘积之和,如果某组中仅有一个数,那么该组数的价值为0。如:将“4 5 1 2”分成一组得到的价值为:4*5 + 4*1 + 4*2 + 5*1 + 5*2 + 1*2 = 49;将“4 5 1 2”分成“4

2016-05-28 14:31:31 621

原创 hdu-4336 Card Collector状态压缩|期望dp】

题意:买东西集齐全套卡片赢大奖。每个包装袋里面最多一张卡片,最少可以没有。且给了每种卡片出现的概率 p[i],以及所有的卡片种类的数量 n(1用二进制状态来表示每种物品是否出现过。例如 10101的前一个状态就有00101、10001、10100.E(stu)表示满足stu的期望。E(stu)=∑E(pre_stu)*p'[x]+E(stu)*none.p'[x]表示stu在第

2016-05-27 11:07:08 390

原创 zoj-3604 Help Me Escape[概率dp]

题目意思: 一个吸血鬼,每天有n条路走,每次随机选一条路走,每条路有限制,如果当这个吸血鬼的能力大于某个值c[i],那么只需要花费ti(ti = (1.0 + sqrt(5.0))/2 * c[i] * c[i]) 天的时间就可以逃出去,否则,花费1天的时间,吸血鬼的能力增加c[i],花费1天的时间,然后继续下一天的尝试。求逃出去的期望。被这道题的四舍五入坑惨了。令

2016-05-24 18:01:19 412

原创 poj-3071 Football 【概率dp,位运算】

题意:有2^n支队伍进行比赛,每一轮第一支队伍和第二支队伍比赛,第三支和第四支队伍比赛,以此类推。输了的消除掉,再按此规律继续下一轮。 每行给出这支队伍打败各支队伍的几率,求出那支队伍获胜几率最大。dp[i][j]表示第i轮第j队获胜的概率,pp[j][k]表示j对战k的胜率dp[i][j]=sigma(dp[i-1][j]*dp[i-1][k]*pp[j][k])

2016-05-24 10:31:40 365

原创 codeforces-148D Bag of mice【概率dp】

题意:原来袋子里有w只白鼠和b只黑鼠龙和王妃轮流从袋子里抓老鼠。谁先抓到白色老鼠谁就赢。王妃每次抓一只老鼠,龙每次抓完一只老鼠之后袋里会有一只老鼠跑出来。每次抓老鼠和跑出来的老鼠都是随机的。如果两个人都没有抓到白色老鼠则龙赢。王妃先抓。问王妃赢的概率。 dp(x,y,wch) 表示还有x只黑鼠,y只白鼠,到wch==0?王妃:龙 抓,王妃赢的概率轮到王妃抓d

2016-05-22 15:32:19 305

原创 POJ-2096 Collecting Bugs【概率dp】

题意: 一个软件有s个子系统,会产生n种bug某人每天发现一个bug,这个bug属于一个子系统,属于一个分类每个bug属于某个子系统的概率是1/s,属于某种分类的概率是1/n。问发现n种bug,每个子系统都发现bug的天数的期望。刚开始

2016-05-22 11:23:49 307

原创 poj-3744 Scout YYF I [用矩阵优化概率递推式]

/*题意:在一条不满地雷的路上,你现在的起点在1处。在N个点处布有地雷,1<=N<=10。地雷点的坐标范围:[1,100000000].每次前进p的概率前进一步,1-p的概率前进两步。问顺利通过这条路的概率。就是不要走到有地雷的地方。dp[i] 表示走到i的概率dp[i+1]=dp[i]*p+dp[i-1]*(1-p); 用矩阵快速幂优化递推式转矩阵 | 0 1| |d

2016-05-20 19:47:26 427

原创 挑战 Random Walk[高斯消元&&期望]

description有一个n*m大小的格子。从(0,0)出发,每一步朝着上下左右4个格子中可以移动的格子等概率移动。另外有一些格子中有石头,因此无法移至这些格子。求第一次到达(n-1,m-1)格子的期望步数。题目假定至少存在一条(0,0)出发到(n-1,m-1)的路径。输入样例:10 1010 10..######.#......#..#.#.##.##.#.#.....

2016-05-20 12:37:56 790 1

原创 zoj-3735 Josephina and RPG[概率dp]

/*就是告诉你C(m,3)个队伍相互之间的胜率,然后要你依次对战n个AI队伍,首先任选一种队伍,然后战胜一个AI后可以选择替换成AI的队伍,也可以不换,问你最后最大的胜率是多少。*/状态跟对战队伍的顺序有关,跟玩家使用的对战队伍有关,对战后有替换和不替换两种转变。那么设状态方程为dp[i][j] i表示对战第i个队伍,j表示战胜后使用第j个队伍最大的胜率。对 dp[i][j] 向

2016-05-13 20:39:48 311

原创 zoj-3734 LIKE vs CANDLE 【树形dp】

题意:若干微博账户形成了一个转发树(即一个有根树)。每个账户有自己的价值,每个账户也有自己的态度(赞或蜡烛)。如果一个账户的态度是“赞”,它的价值就会被加到“赞”的一边,反之亦然。Edward 可以从“赞”的一边拿出X 的价值去翻转一个账户,即把它的态度换到相反的一边。但是Edward 发现,有的账户已经被别人翻转过了,对于这些账户,Edward 就要花费Y

2016-05-13 17:03:49 474

原创 zoj-3726-Alice's Print Service【二分+rmq】

答案就是 q*p[i](i为最大的s[i]要快速的查找 (i,n)区间的s*p查询手段有很多。这里我用的rmq。/*就是一个打印分段收费政策,印的越多,单张价格越低,输入需要印刷的数量,求最小印刷费用打印k页的资料,给出n中付费方案,一次打印超过s1但不超过s2的每页收费p1,超过s2不超过s3的收费p2.....数据保证0=s1=p1>=p3>=...>=pn。接下来

2016-05-10 21:44:42 874

原创 bzoj-2286 消耗战【虚树+倍增lca+单调栈】

2286: [Sdoi2011消耗战Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 1815  Solved: 645[Submit][Status][Discuss]Description在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且

2016-05-10 17:15:55 1705 1

原创 hdu-2089 不要62[数位dp]

比较基础的一道数位dp。#include #include #include #define MAX_SIZE 12int dp[MAX_SIZE][MAX_SIZE];int num[MAX_SIZE]; int dfs(int pos,int i,bool lim){ if(pos==-1) return 1; if(!lim&&~dp[pos][i]) return d

2016-05-06 08:30:49 325

原创 hdu-4605 Magic Ball Game[离散化+回溯+树状数组]

题目大意很简单。有一颗树(10^5结点),所有结点要么没有子结点,要么有两个子结点。然后每个结点都有一个重量值,根结点是1然后有一个球,从结点1开始往子孙结点走。每碰到一个结点,有三种情况如果此球重量等于该结点重量,球就停下了如果此球重量小于该结点重量,则分别往左右儿子走的可能都是1/2如果此球重量大于该结点重量,则走向左儿子的概率是1/8,右儿

2016-04-29 21:51:42 343

原创 nyoj-471 好多的树[容斥定理]

简单直接的,假如一个之间能约分说明被挡住了。需要知道:1、2、。。。。n之间能被m整除的个数位n/m.#include #include #include #include using namespace std;#define MAX_SIZE 110000#define ll_int long long intbool notPrime[MAX_SIZE];in

2016-04-29 19:22:49 445

原创 poj-2104 K-th Number[主席树/函数式线段树/可持久化线段树]

膜拜大神:点击打开链接点击打开链接【题目描述】有n个数字排成一列,有m个询问,格式为:left right k .即问在区间[left,right]第k大的数据为多少?纯属个人理解,有不正确的地方欢迎留言指正:先来设想下如何解决这个问题。把数字在数组中的位置i作为定义域,数字的值v[i]作为值域。假如对于 [left,right]的数我们能知道它们的值域在不同区

2016-04-29 09:44:44 583

原创 hdu-1512 Monkey King [并查集+左偏树]

左偏树学习:点击打开链接题意:有N只猴子, 每只都有一个力量值. 开始的时候互不认识, 它们之间会发生M次斗争. 每次发生a, b的斗争时,a, b都会从各自的朋友圈里拉出一个最强的, 之后两只猴子打, 打完后这两只猴子的力量值各减半. 并且打完后,两只猴子的朋友圈的所有人都互相认识(也就是不会再打).你的任务就是对于每个斗争, 若a, b是朋友, 那么输出-1, 否则输出打完后它们的朋友

2016-04-28 11:00:46 609

原创 hdu-3943[数位dp(记忆化搜索)+二分]

求出区间 (P,Q] 中找到第K个满足条件的数,条件是该数包含X个4和Y个7学习大神的模板后做的之前用递推式感觉要考虑的东西比较多,记忆化搜索就相对简化编程复杂度了链接:模板数位dp是取得每个数它v,0~v之间满足 有(x个4,y个7)条件的数的个数,那么可以知道随着v增大,满足(x个4,y个7)条件的数的个数是增大的。有了这个单调性的条件就可以用二分来查找第k个数的位置。#i

2016-04-26 19:05:35 353

原创 fzu-2113 Jason的特殊爱好[数位dp]

先进行预处理s[pos][val]s[3][5]表示 0~500的1的个数所以s[3][5]+=s[3][4](0~400); s[i][j]+=s[i][j-1];s[3][5]+=s[2][9]+ss[1][9](0~99);for(int k=i-1;k>=1;--k)s[i][j]+=s[k][9];特殊的当 j==1时,s[i][j]+=1;当j==2

2016-04-21 12:18:37 475

原创 hdu-4686 Jzzhu and Sequences 【矩阵快速幂】

其中a0 = A0ai = ai-1*AX+AYb0 = B0bi = bi-1*BX+BY最后的结果mod 1,000,000,007nai*bI=Ax*Bx*ai-1*bi-1+Ax*By*ai-1+AyBxbi-1+AyBy递推式可以构造由矩阵快速幂快速求取。我理解的递推式构造矩阵的形式可以先这样想(说错了板砖轻拍):A*[每个递推式的递推项 ]=[每个递

2016-04-19 17:01:25 313

原创 hdu-4549 M斐波那契数列【矩阵快速幂】

找规律写出f(2),f(3),f(4),f(5) .........可以发先 a b的系数是一系列的fib数列   如果可以求出fib数列 求快速幂就可以了    这样问题就在于如何求fib数列了                          1     1【f[n-1],f[n-2]】 *  1     0     =  【f[n],f[n-1]】 当gcd(A,M)

2016-04-19 12:01:27 894

原创 hdu-3410 Passing the Message[单调队列]

求最左边的人,与最右边的人。最关键的地方就在于高个会把低个挡住。所以维持一个单调递减的单调队列。每个元素都要入队列,出队列就有如下考虑for(i ->n)(1)第i个元素比front大 ,说明队列中所有的人都会被挡住。清空队列(2)第i个元素front小,那他可能挡住队列中的某些人,从rear->front,”弹出“比第i个人矮的,直到遇见比他高的人。(3)队列为空

2016-04-14 18:10:03 425

原创 poj-1094 Sorting It All Out[拓扑排序]

感觉需要注意的细节有点多。(1)先判断是否有环  用used表示能拓扑的点 vis表示能搜索到的点假如两者总数不等说明有环。(2)再判断拓扑序是否唯一假如一次寻找0入度节点有多个即不唯一/*所谓不同值的递增排序的序列,是通过一个小于号的运算符,找出从最小的到最大的元素。例如,有一个有序的序列A,B,C,D。这就意味着,A<B,B<C,C<D。对于这一道问题,我们将为

2016-04-08 18:54:15 333

原创 poj-3580 SuperMemo[splay tree]

学了splay 后 撸的第一道题。是看了大神的教学,引用了大神的核心代码才会的:模板出处刚开始没注意:使用一个节点你需要把他的标记先下压。提供了好多次wa。/*题意:给一个数组,有6种操作:(1)add x y d : [x,y]中所有数加d----x-1---------y+1---[x,y]给y-1的左子树加上+d 标记(2)reverse x y:[x,y

2016-04-07 20:41:33 376

原创 poj-2828 Buy Tickets【线段树】

很经典的一道线段树问题,以前都没想到到线段树可以这样用。/*Description:春节将要到来了。小H希望回家过年。然后大家都知道火车是非常的难买,经常要排很长的队,但是小H为了买火车票拼了,不怕排队。但是小H到了火车站的时候天已经黑了,他感觉非常的冷。他想为什么不找个问题思考来遗忘寒冷呢。然后他就想到了自己排队这个问题。他想如果排队的每个人都有个固定的颜值,并且自己排队的时候经常有人

2016-04-01 12:14:22 357

原创 hdu-1272 小希的迷宫【并查集】

M - 小希的迷宫Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64uSubmitStatusDescription上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都

2016-03-30 16:16:59 322

原创 poj-2251 Dungeon Master【bfs】

很基础的一道bfs/*这题是一个三维的迷宫题目,其中用'.'表示空地,'#'表示障碍物,'S'表示起点,'E'表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了东南西北移动外还多了上下。对于题目给出数据的含义就是输入l,r,c,分别代表迷宫有l层,每层长宽分别是c,r。对于数据以可以这样移动(1,1,1)->(1,1,2)->(1,1,3)->(1,1,4)-

2016-03-30 13:22:07 1116

原创 poj-3267 The Cow Lexicon【dp】

题意就是给出一个主串,和一本字典,问最少在主串删除多少字母,可以使其匹配到字典的单词序列。最开始想的是用01背包问题做:dp[j][i] 表示字符串从0到j这个区间内是否用第i个单词组成dp[j][i]=min(dp[j-1][i-1]+1,dp[p][i-1]+j-p-len[i]); p表示第i个单词揉进字符串0....j最近的位置,len[i]表示单词长度循环是 外层 i,里

2016-03-30 09:58:19 364

原创 poj-1837 Balance【dp】

题目大意:有一个天平,天平左右两边各有若干个钩子,总共有C个钩子,有G个钩码,求将钩码全部挂到钩子上使天平平衡的方法的总数。其中可以把天枰看做一个以x轴0点作为平衡点的横轴输入:2 4 //C 钩子数 与 G钩码数-2 3 //负数:左边的钩子距离天平中央的距离;正数:右边的钩子距离天平中央的距离c[k]3 4 5 8 //G个重物的质量w[i]

2016-03-29 16:08:19 283

原创 zoj-3209 Treasure Map【Dancing link x】

B - Treasure MapTime Limit:2000MS    Memory Limit:32768KB    64bit IO Format:%lld & %lluSubmitStatusDescriptionYour boss once had got many copies of a treasure map. Unfortunately, all

2016-03-23 22:01:28 467

空空如也

空空如也

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

TA关注的人

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