自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

炒饭君的博客

有些梦想虽然遥不可及,但不是不可能实现,只要我足够的强。

  • 博客(24)
  • 收藏
  • 关注

原创 HDU 4336 Card Collector(动态规划-概率DP)

HDU 4336 Card Collector(动态规划-概率DP)题目大意:有n个卡片,你现在买一包方便面,没包方便面出现其中一个卡片的概率为 p[i] ,问你集齐一套卡片需要的张数的数学期望。解题思路:概率DP,用位进制0表示这个卡片有了,1表示这个卡片还没有,那么 例如 “3” 用二进制表示 “1 1” 那么 数组 dp[3] 记录的就是 1号卡片和2号卡片都有的情况集齐一套卡片需要的张数的数学期望。dp[sum]= ( 1+sum { dp[ sum + (1<<j )] *p[j]

2014-06-25 19:22:20 1268

原创 POJ 2151 Check the difficulty of problems (动态规划-概率DP)

POJ 2151 Check the difficulty of problems (动态规划-概率DP)题目大意:有 M 道题目 T 支队伍,N表示 最好 的队 至少要做出N题 ,紧接下来T行M列,表示某队做出某题 的概率为p ,问你每支队至少做出1题,最好的队至少做出N题的概率是多少?解题思路:一题动态规划的题, 既然最好的队至少做出N题,那么用二维记录,DP [t][f] 记录还剩 t 支队及是否出现超过N题的事件的概率。如果当前这支队伍做出超过N题,那么f置为1,否则还是f。弹了两遍,

2014-06-25 19:08:20 700

原创 POJ 2420 A Star not a Tree? (计算几何-费马点)

题目大意:求n边形的费马点,即找到一个点使得这个点到n个点的距离之和最小。解题思路:三角形也有费马点,三角形费马点是这样定义的:寻找三角形内的一个点,使得三个顶点到该点的距离之和最小。三角形费马点的做法是:(1)若有一个角大于120度,那么这个角所在的点就是费马点。(2)若不存在,那么对于三角形ABC,任取两条边(假设AB、AC),向外做等边三角形得到C' 和 A' ,那么AA' 和CC' 的交点就是费马点。那么对于这题n多边形,我采取的策略完全不同,采用了模拟退火的做法,这种做法相对比

2014-06-22 10:21:02 1926

原创 POJ 3071 Football (动态规划-概率DP)

POJ 3071 Football (动态规划-概率DP)题目大意:给定n,表示2^n次方个参赛者,接下来 2^n * 2^n 的矩阵,p[i][j] 表示 i 赢 j 的概率,现在是每次从1到2^n次方比赛,淘汰一半人,剩下的人在按照顺序比赛,1号和2号比,3号和4号 之类的顺序,问你最终谁赢的概率最大?解题思路:一道简单的概率DP题,只是我很cuo,看了别人的报告才会。记dp[i][j]表示 第 i 场第 j 个人依然赢的概率。那么转移就是:dp[i][j]=sum( dp[i-1][j]

2014-06-20 19:35:37 1112

原创 HDU 11488 Hyper Prefix Sets (字符串-Trie树)

HDU 11488 Hyper Prefix Sets (字符串-Trie树)题目大意:假设a表示公共前缀的长度,b表示含有这个前缀的字符串个数,问你a*b的最大值。解题思路:建立一棵Trie树,边建边查,直接更新 长度乘以个数的最大值

2014-06-20 15:59:52 1078 1

原创 HDU 1251 统计难题 (字符串-Trie树)

HDU 1251 统计难题 (字符串-Trie树)题目大意:给定一些单词,然后接下来很多询问,每组一个字符串T,问你给定的单词中前缀为T的有多少个?解题思路:先按照给定的单词建一棵Trie树,记录值,然后每次查询即可。

2014-06-20 15:20:48 834

原创 POJ 2405 Beavergnaw (计算几何-简单题)

POJ 2405 Beavergnaw (计算几何-简单题)解题思路:简单的几何问题,够造体积相等,求未知数V=直径为D的圆柱的体积-两个园台的体积-直径为d的圆柱的体积。圆台体积公式 = 1/3* pi * (r1*r1 + r2*r2 + r1*r2)*h r1,r2,h分别为圆台上低半径、下底半径和高V=pi*(D/2)*(D/2)*D - 1/3 *( D*s1-d*s2 ) - pi*(d/2)*(d/2)*d V=pi*(D/2)*(D/2)*D -

2014-06-20 15:15:51 1462 1

转载 【转】Struts2中Session的使用

【转】自:在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到   1.通过ActionContext class中的方法getSession得到   2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作   下面先看一个采用第一种方式,

2014-06-20 10:18:17 397

转载 【转】 ids for this class must be manually assigned before calling save()

【转】 ids for this class must be manually assigned before calling save()..classhibernategenerator数据库postgresqlsql server[java] view plaincopyorg.hibernate.id.

2014-06-20 09:44:41 729

原创 HDU 2435 There is a war (网络流-最小割)

HDU 2435 There is a war (网络流-最小割)题目大意:n个岛通过有向边连在一起,countryOne坐落在1号岛上,countryAny坐落在n号岛上,现在1 要进攻 n ,n为了抵御1的攻击,要毁坏边,没条边毁坏要花费,现在1可以在 2-n 任意两个岛上建立一个摧毁不了的边,使得 countryAny 为了抵御进攻最小的花费最大为多少?解题思路:首先,最小割可以理解成网络流的流量,第一步 ,countryAny肯定要用最小的花费使得图不连通,这个花费就是最小割。但是,co

2014-06-19 19:55:07 1367

原创 HDU 1079 Calendar Game (博弈论-sg)

HDU 1079 Calendar Game (博弈论-sg)题目大意:给定日期,轮流来,可以在日期的月上加1,或者在天数上加1 ,如果约数上加1无效,自动转化为在天数上加1,轮流来,问先手是否赢?解题思路:这很明显是道博弈题,对于SG的性质定义必胜态记为P,用数值0表示,当且仅当其后继都是 N,也就是SG()>0必输态记为N,用数值1表示,当且仅当其后继存在P,也就是SG()=0对于这题,完全没必要这样用SG去推理,可以结合DP,用记忆化搜索划分为子问题,每一步取对自己最优的。

2014-06-19 18:04:52 1010

原创 POJ 1995 Raising Modulo Numbers (数论-整数快速幂)

题目大意:T组测试数据,求(A1B1+A2B2+ ... +AHBH)mod M.解题思路:对于普通暴力算法一定是 A1*A1*A1.....*A1 乘以 B1次,A2*A2...........*A2 乘以 B2次,......................................然后全部相加起来,这样效率很低,肯定是超时了那么有什么办法解决这一问题,可以用快速幂,如果 A1^2有了,那么 A1^4就可以得到,A1^8也可以得到,...... ,立刻由n降到了lgn可以

2014-06-18 21:51:07 646

原创 POJ 1201 Intervals(图论-差分约束)

POJ 1201 Intervals(图论-差分约束)题目大意:n行,每行a,b,c,表示在区间a,b内要找c个数,问你总共至少要找多少个数?解题思路:差分约束系统。在本题中,如果[a,b]中要找c个元素,那么:s[b]-s[a-1]>=c,我们可以推得:s[a-1] - s[b] <= -c同时,由于每一个值上最多只能含有一个元素,那么:s[i] - s[i-1]<=1 ,又由于s[i] - s[i-1]>=0 推得:s[i-1] - s[i] <=0这样:我们有了三个约束不等式:s

2014-06-17 20:31:40 1708

原创 POJ 3169 Layout (图论-差分约束)

POJ 3169 Layout (图论-差分约束)题目大意:n头奶牛按1到n排好序,md个限制及mt个限制,md行表示奶牛A与奶牛B相差最多D,mt个限制奶牛A与奶牛B相差最少D,问你奶牛1与奶牛n最多相差多少?解题思路:限制条件 : 1、相邻奶牛之间,编号大的距离大于编号小的,即 dist[1]-dist[2]<=0,dist[2]-dist[3]<=0,dist[3]-dist[4]<=0。。。。dist[n-1]-dist[n]<=02、md个限制 A与奶牛B相差最多D,dist[A]

2014-06-17 18:50:29 962

原创 POJ 2891 Strange Way to Express Integers (中国剩余定理)

POJ 2891 Strange Way to Express Integers (中国剩余定理)题目大意:给定k个二元组(mi,ri)(1<=i<=k),表示x对mi模运算的余数为ri,然后据此求解最小的正整数N。解题思路:相关知识普及:拓展欧几里德的上一篇文章已经介绍其原理:http://blog.csdn.net/a1061747415/article/details/26744509,现在补充其性质:欧几里德求的问题是 ax+by=gcd(a,b)的解,那么对于通式 ax+by=c 是否

2014-06-16 19:49:46 859

原创 POJ 1006 Biorhythms (数论-中国剩余定理)

POJ 1006 Biorhythms (数论-中国剩余定理)题目大意: 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天。一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好。通常这三个周期的峰值不会是同一天。现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期。然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现。解题思路: 首先化简一下问题:欲求从某天开始,算出再过多少天后三个峰值同时出现,设要求的这个值为ans

2014-06-16 13:38:17 1002

原创 HDU 4324 Triangle LOVE (拓扑排序)

HDU 4324 Triangle LOVE (拓扑排序)题目大意: T组测试数据,每组数据一个n表示n个人,接下n*n的矩阵表示这些人之间的关系,输入一定满足若A不喜欢B则B一定喜欢A,且不会出现A和B相互喜欢的情况,问你这些人中是否存在三角恋。解题思路: 拓扑排序思想很简单,就是找入度为0的点,放入队列,用队列来实现。 拓扑排序后判断是否有环存在,有环必然存在是三角恋。 证明: 假设存在一个n元环 首先,

2014-06-06 16:33:19 1304

原创 uva 101 The Blocks Problem (基本算法-模拟)

uva 101 The Blocks Problem (基本算法-模拟)题目大意:问题就是分析一系列的命令,告诉机械臂如何操纵放在一个平台上的积木。最初平台上有n个积木(编号由0到n - 1),对于任意的0 ≤ i < n - 1,积木bi都与bi + 1相临机械臂操作积木的有效指令列举如下:(1)move a onto ba和b都是积木的编号,先将a和b上面所有的积木都放回原处,再将a放在b上。(2)move a over ba和b都是积木的编号,先将a上面所有的积木放回原处,再将a放在b上

2014-06-06 15:21:48 958

原创 POJ 2391 Ombrophobic Bovines (二分,最短路径,网络流sap,dinic,预留推进 )

POJ 2391 Ombrophobic Bovines (二分,最短路径,网络流(sap,dinic,预留推进) )题目大意: 有n头奶牛及牛棚,以及m条边,接下来告诉你n行,每行表示这个牛棚奶牛实际数目,以及能容纳的数目,接下来m行告诉你奶牛从一个牛棚到另一个牛棚所需要的时间,问你,是否所有奶牛能够到达牛棚,如果不能,输出-1,如果能,输出最短时间。解题思路: 这种最短时间,想到了二分,是否能到达,想到了最短路径,是否能全部容纳,想到了构建一张网络图,来解决。 这题采用了三种网络流解法,sap

2014-06-05 23:15:50 1100

原创 HDU 1007 Quoit Design (分治)

HDU 1007 Quoit Design (分治)题目大意: 给你很多点,问你最近点的距离一半是多少。解题思路: 最近点对,参照:http://blog.csdn.net/hellobabygogo3/article/details/8042650解题代码:(参照它的思路,感觉我的代码比较简洁一些)

2014-06-04 19:14:08 886

原创 uva 11825 Hackers' Crackdown(动态规划-状态压缩DP)

uva 11825 Hackers' Crackdown(状态压缩DP)题目大意: 有n台计算机,每台计算机运行n个不同进程,现在你可以每台机器上停止一个服务,而且你停止了1台机器上的这个服务的同时,其相连机器上的这个服务也会停止,再告诉 你每台机器相连的机器,当一个所有机器上的这个服务都停止了,那么这个服务才算没有被运行,问你最多多少个服务没有 被运行?解题思路: 其实就是把这些机器分成最多的子集合集合,每个子集合合并起来能够影响全部,这样就能解决问题。这样枚举的状态就是2^16次方。

2014-06-04 14:11:20 1215

原创 HDU 3651 A Simple Problem (DP 记忆化搜索 或者 bfs)

HDU 3651 A Simple Problem (DP 记忆化搜索 或者 bfs)题目大意:你的左右手指一开始分别在5,6位置,现在要按顺序按出给定的数字,至少要几步?要求:(1)左手始终在右手左边(2)在1步内,左手可以选择 向右,向左,按下这个数字三种操作之一,右手同样的操作可以在同1步内进行。(3)在1部内,左手和右手不能同时选择 按下数字 这个操作。解题思路:暴力枚举状态,状态也就是 给定的一串数字当前 要按到第几个数字了以及左右手的位置解题代码:写了两种实现方法。

2014-06-03 18:54:43 1134

原创 HDU 3652 B-number (动态规划-数位DP)

HDU 3652 B-number (数位DP)题目大意: 给定一个数n,问你 1~n 有多少个数本身既是13的倍数,且数位中含有13解题思路: 很明显是数位DP,用 长度,是否包含13,前一个数位,以及对13求余后的余数 这四维来表示DP的状态。

2014-06-03 18:44:00 1858

原创 POJ 3461 Oulipo (KMP算法)

POJ 3461 Oulipo (KMP算法)题目大意: T组测试数据,每组两行分别为word和text,问你text中包含多少个word子串。解题思路: 较裸的一题KMP算法,关于KMP算法,参照:http://www.cppblog.com/oosky/archive/2006/07/06/9486.html

2014-06-03 18:36:41 1110

空空如也

空空如也

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

TA关注的人

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