自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 POJ 2155 Matrix

典型的二维树状数组的题目,具体的细节代码来看吧,当模板就行。代码://// Created by CQU_CST_WuErli// Copyright (c) 2015 CQU_CST_WuErli. All rights reserved.//// #include<bits/stdc++.h>#include <iostream>#include <cstring>#incl

2015-11-28 23:19:19 331

原创 UVa 11721 Instant View of Big Bang

题意:就是让你在无向图中找负圈和所有能到达负圈的点,这个题目有一次加强了对spfa 的理解。首先反向建图,这样负环还是负环,spfa判负环是通过某一个点入队n次以上,那么我们每次找到负环是,就去通过bfs来找所有能到达的点,标记一下就行。代码://// Created by CQU_CST_WuErli// Copyright (c) 2015 CQU_CST_WuErli. All ri

2015-11-28 23:17:08 913

原创 UVa 11775 Unique Story

题意:题意就是给你两个序列,问你最多可以有多少个互不相同的子序列。可以反过来想,求相同的有多少个,所有的子序列一共有2的n次方个(排列组合公式求和)。一看就是DP,转移方程:dp[i][j]=(sum[i-1][j-1]+dp[i][j]+1)%MOD;dp[i][j]表示以i和j结尾的相同的字符串有多少个,sum[i][j]表示以前i个和前j个能够组成的相同的子序列有多少个。对于这个方程的

2015-11-28 23:01:56 367

原创 UVa 11688 Rotate to root

题意:模拟二叉树的旋转,不理解先去看看旋转再来看着道题。题目就是问每一个节点旋转到根节点时,树的最大深度。用dp来做。首先,我们来看这个图。图中,hr表示节点x向右旋转过根节点再向右一直到达底部所能达到的最大深度,hl同理。dR,dL分别表示某个节点的左右子节点所能达到的最底部的深度,dr和dl表示该点需要左旋(右旋)多少次才能到达根节点。那么方程就是dp[u]=1+max(max(hl,hr),

2015-11-28 22:54:34 433

原创 LightOJ 1031-Easy Game

题意:给你一个数列,每次可以从左边或者右边去一串连续的数字,并且获得所有数字和的分数,两个人轮流取,A先手,B后手,问最后A最多能比B多多少分。很明显的区间dp,但是又有一些博弈在里面。dp[i][j]表示从i到j,能多拿的分数。转移方程是这样的: for (int i=l;i<=r;i++) ans=max(ans,sum[i]-sum[l-1]-dp[i=1][r]); f

2015-11-20 23:15:38 600

原创 LightOJ 1030-Discovering Gold

题意:题意就是说给你一个长度为n的序列,初始在1位置,每次可以掷骰子,1-6,如果没有越界,就可以往前走,并且得到目标格子的值。走到最后一个格子结束。问最后获得分数的期望。一般来说期望都是倒着推。设dp[i]表示从i号格子出去的期望,那么dp[i]+=dp[i+step]*1.0/(6,n-i).代码://// Created by CQU_CST_WuErli// Copyright

2015-11-20 23:04:47 525

原创 LightOJ 1027-A Dangerous Maze

题意:给你n个门,每个门有一个值,如果是正的,那么就代表在x时间后会出去,如果是负的,那么就会回到开始之后的x秒之后。问,最后出去时间的期望。我们可以假设选正数的概率为p1,之后平均花t1的时间出去;选负数的概率是p2,之后平均花t2的时间出去。设期望为T,T=p1*t1+p2*(t2+T);那么T=正数个数的倒数乘以sigma(abs(x[i])).代码://// Created by

2015-11-20 22:07:18 552

原创 LightOJ 1018 - Brush (IV)

题意:题意就是给一些点,问最少要连几条线,可以将这些点全部覆盖。典型的状压dp用line[i][j]表示在直线i,j上的点。这样,dp[s]表示当前状态为s时,最少需要的次数。具体的剪枝是这样的。因为i和j是肯定要覆盖的,所以,每次能够找到一个可以覆盖的点,覆盖了就可以继续往下,然后跳出。具体看代码。//// Created by CQU_CST_WuErli// Copyright

2015-11-20 21:54:50 557

原创 LightOJ 1017 - Brush (III)

题意:意思就是给你一个刷子宽度是w,每次以一个点为底部,可以把这个点和这个点上面不超过w的点一起刷掉,问最多刷k次,最多能刷几个点。其实这个题和点的x坐标没啥关系,只和y有关系,问题就转化为,给定一个不降序列,去k个互不覆盖的区间,是的区间内最大值和最小值相差不超过w,是的k个区间内的元素个数最多。我们只要与处理出每一个点往上能刷的点数就行。具体看代码。//// Created by C

2015-11-20 21:40:31 454

原创 LightOJ 1013 - Love Calculator

题意:题意就是给你两个字符串,求能同事包含这两个字符串的最短串的长度和种数。一个结论:最长包含串的长度=len(s)+len(t)-len(lcs(s,t)).另外统计的方法和求lcs的方程转移差不多。//// Created by CQU_CST_WuErli// Copyright (c) 2015 CQU_CST_WuErli. All rights reserved.///

2015-11-20 21:32:45 460

原创 LightOJ 1025 - The Specials Menu

题意:其实题意就是问你任意删除字符,能够得到多少个回文字符串。区间dp是没跑的。dp[i][j]代表从i到j里有多少回文串。如果s[i]!=s[j],那么只要只需要统计i到j-1和i+1到j之间各有多少个,再减去i+1到j-1之间的,因为这个重复了(想一想为啥)。如果s[i]==s[j],那么除了统计i+1到j和i到j-1之外,并不需要减去i+1到j-1之间的,因为哪个可以和旁边两个组成新的回文

2015-11-20 21:24:58 545

原创 LightOJ 1005-Rooks

题意:给你一些皇后,问总共有多少种方法是的皇后之间互不攻击。这题和八皇后有点类似,但是我们不能去爆搜,那样肯定会T。于是就要考虑动态规划。dp[i][j]表示i*i的棋盘中放j个棋子的方法数。首先,如果i<j,那么答案就是0。我们先考虑i*i的情况下,我们在他的右下角填一个角,那么肯定可以让这个正方形扩大一圈。在扩大的一圈之中。如果不放,dp[i+1][j]+=dp[i][j];如果只放一个,

2015-11-20 21:17:40 447

原创 LightOJ 1004 - Monkey Banana Problem

题意:简单的数塔,注意分成两部分,转移时两部分有不同。AC代码://// Created by CQU_CST_WuErli// Copyright (c) 2015 CQU_CST_WuErli. All rights reserved.//// #include<bits/stdc++.h>#include <iostream>#include <cstring>#inclu

2015-11-20 20:48:54 551

SpringMVC两种配置的Demo

SpringMVC两种配置的Demo

2017-03-02

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

TA关注的人

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