自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cc_again的专栏

热爱算法,热爱思考,热爱ACM,我在进步

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

原创 概率dp(求期望)+高斯消元 hdu-4418-Time travel

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4418题目大意:有n个点标号为0~n-1,A从x点出发每次可以走1~m步,走k步的概率为pk, 如果到达了n-1点,则往回走即(n-1~0),求走到y时走的步数的概率。解题思路:概率dp+高斯消元。因为0~n-1中的点都有方向,为了是方向统一,可以增加n-2个点,使统一向一个

2013-08-29 10:58:00 2381

原创 概率dp求期望-hdu-4586-Play the Dice

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4586题目大意:有一个色子,n面,每面有个分值a[i],其中有m面比较特殊,当该面出现时,可以再投一次。求最后得分期望。解题思路:设所求期望为ans.考虑投掷一次的情况,如果是m当中的某一面i时,相当于期望增加了a[i],其它所有条件没变,相当于这次没投掷。当投掷到其他面时,

2013-08-28 16:42:06 1993

原创 概率dp+高斯消元解方程组-hdu-4326-Game

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4326题目大意:有n个人,每次前面四个人玩游戏,每人赢得概率为1/4,四人中赢的人排在队首,输的人依次排到队尾。求第k个人连续赢m次的概率。解题思路:之前做过,每次博客,现在补上。因为要考虑连续赢的情况并且每次动作只和第一个人有关,设第一维表示第一个人连续赢的次数。第二维表示

2013-08-28 15:09:33 2078

原创 概率dp-hdu-4089-Activation

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4089题目意思:n个人排队尝试游戏,队首中有四种情况。1、动作失败重新连,队列不变,概率为p1.2、服务器链接失败重新连,第一个人排到队尾,概率为p2.3、连接成功,第一个人出队,概率为p3.4、服务器崩塌,终止,概率为p4.求某人排在第m的位置,求服务器崩塌时他前面

2013-08-28 10:53:04 1914

原创 dfs-hdu-4620-Fruit Ninja Extreme

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4620题目大意:切水果。给n刀,每刀的时间,每刀切的水果的种类。求能切的最多的刀数,使得每相邻的两刀时间差不超过给定的w.前面切了的水果不能再切,每刀至少要切不少于三个的新的水果。解题思路:直接一个一个的暴搜的话会超时。这里从每相邻两刀时间间隔不能超过w来考虑剪枝。问题抽象出

2013-08-26 20:55:12 878

原创 暴搜-hdu-2208-唉,可爱的小朋友

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2208题目大意:有n个小朋友,之间有相互喜欢的关系,如果A喜欢B的话,输入时保证B一定喜欢A。现在有m个小气球,问能否分成不超过m组,每组不存在有两个小朋友互相不喜欢。解题思路:因为不具有传递性,所以不属于双联通。又n很小,所以直接暴搜。fa[i]=j表示i是属于j为根的

2013-08-26 14:43:43 1060 1

原创 贪心+容斥原理-337E. Divisor Tree

题目链接:http://codeforces.com/problemset/problem/337/E题目大意:给n个数(n解题思路:首先统计该n个数中非质数的所有的质因子的个数的和。相当于叶子节点,不过当某个数为另外一个数的父亲时,统计多了,所以后面要减去。然后从大往后枚举每个数A做为一个树根,依次找到含质因数个数最多的那个且能整除A的数B做为A的儿子,此时B就可以做

2013-08-26 08:48:35 1504 2

原创 树形dp hdu-4616-Game

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4616题目大意:给一棵树,每个节点有一个礼物值及是否有trick,每来到一个节点必须拿礼物,如果该节点有trick则浪费一个抗trick机会,如果一开始有C次抗trick的机会,问最多可以拿多少值的礼物,机会用完后就结束了。访问了的节点不能再次访问。解题思路:树形dp啊。树形

2013-08-25 23:29:59 2289 3

原创 hdu-4611-Balls Rearrangement

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4611题目大意:给一个n(nΣ|i%a-i%b|(0=解题思路:被这题卡死了。开始想到用循环节来求,而当lcm(a,b)很大时没有效果,然后又想用余数和来求,有没发现什么有用的公式。。。然来可以一个区间一个区间的求,当lcm(a,b)较小时,直接暴力周期内的数即可。还是太

2013-08-25 18:55:36 999

原创 简单浮点数除法模拟-hdu-4493-Tutor

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4493题目意思:给小数点后两位的12个月的工资,求出平均工资,输出离小数点后第二位最近的两位小数,尾部零不输出。解题思路:这题一开始先除以12的话,有精度损失(比如都是12.4449999999999,结果算出来是12.45,应该是12.44),所以先模拟除以12,得到小数点后的

2013-08-24 21:16:22 1400

原创 对抗搜索(或dp)-hdu-4597-Play Game

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597题目意思:给两堆数,A和B两个人比赛,每次每人只能拿每堆的第一个或最后一个数,两人均表现最佳,问A开始,他能拿到的数和最大是多少。解题思路:对抗搜索,或dp.一拿到这道题就知道是记忆化搜索,但状态转移,一直没弄很清楚,卡了很久,最后由于水题看错了,搞了几个小时。。。。最

2013-08-24 20:44:03 1289

原创 树形dp-CF-337D. Book of Evil

题目链接:http://codeforces.com/problemset/problem/337/D题目大意:给一棵树,m个点,一个距离d,求有多少个点A,使得A到所有的m个点距离都不超过d.解题思路:树形dp.有两种方法可以解:1、类似于树的直径的求法,先以任意一点作为树根,找到距离该点最远的m中的A点(A点一定是m个点中距离相距最远的两点的一个端点),然后以A

2013-08-23 15:58:31 2142 1

原创 树上计数-hdu-4705-Y

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705题目大意:给一棵树,求三点不能通过简单路径到达的种数(也就是不在一条线上)。解题思路:如果枚举Y形的话,要先枚举一个点,然后在子树中找三个点,这样找有点麻烦,复杂度应该为o(n^2)。如果求补集,找三点在一条线的情况就好找了,枚举中间的那个点还剩下两个点,直接o(n)就可以

2013-08-23 10:08:05 1019

原创 数论+快速幂-hdu-4704-Sum

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4704题目大意:给一个n,求出由1~n个正整数组成n的不同种数。解题思路:隔板法。由一个数组成的话为C(n-1,0),两个的话为C(n-1,1),三个的C(n-1,2)....所以结果为2^(n-1).由于n很大有10^100000,显然不能直接快速幂,这里有两种处理方式

2013-08-22 21:49:56 1177

原创 区间dp+输出方案 poj-1141-Brackets Sequence

题目链接:http://poj.org/problem?id=1141题目大意:给一个由[,],{,}组成的字符串序列,求增加最少的字符,使该序列能够匹配,并输出最后的方案。解题思路:区间dp.dp[i][j]表示从i~j 所需的最少的字符使之能匹配,转移的话要么是头尾匹配直接加中间,要么分成两段。不过要输出到达路径,所以在用一个path[i][j]表示到达该路径时的选

2013-08-22 09:15:23 3978

原创 图论+dp poj 1112 Team Them Up!

题目链接:http://poj.org/problem?id=1112题目大意:有编号为1~n的n个人,给出每个人认识的人的编号,注意A认识B,B不一定认识A,让你将所有的人分成两组,要求每组的人相互认识,且两组的人数要尽可能的接近。求出每组的人的编号。解题思路:图论+背包(输出物品)。相互认识的关系不好确定分组,如果转换思路,考虑相互不认识的情况就简单好多,如果A不认

2013-08-21 21:56:25 2274

原创 dp hdu-4427-Math Magic

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4427题目大意:给k个正整数的和n,最小公倍数m,求一共有多少种方案。解题思路:很明显的dp.状态很好想,dp[][i][j]表示当前和为i,最小公倍数为j的方案数。对于k个数中的任何一个数,它一定是m的约数,否则最小公倍数一定不为m(一个很大的剪枝).用滚动数组保存

2013-08-21 16:34:12 1142 2

原创 dp poj 1080 Human Gene Functions

题目链接:http://poj.org/problem?id=1080题目大意:给两个由A、C、T、G四个字符组成的字符串,可以在两串中加入-,使得两串长度相等。每两个字符匹配时都有个值,求怎样安排使得总的值最大,两个-不能匹配。解题思路:这题转化一下就是一个裸的最长公共子串问题,只不过要求匹配时长度一样。dp[i][j]表示第一串的第前i个字符和第二串的前j个字符

2013-08-20 14:57:40 808

原创 dp+计数 poj-1037-A decorative fence

题目链接:http://poj.org/problem?id=1037题目大意:给一个n,求出1~n组成波浪形按字典序的第m种序列。解题思路:经典dp+计数。之前做个一道,只需求所有的种数,但现在要求第m种,所以要考虑计数,所以不能仅以长度和上升下降两维来处理,还需增加一维表示以某个开始。dp[i][j][0]表示长度为i,以第j长的开始,且前两个为下降的种数。只和

2013-08-19 22:22:23 877

原创 模拟+二分 poj-1019-Number Sequence

题目链接:http://poj.org/problem?id=1019题目大意:Sk表示123...k把S1S2S3...Sk排成一行 比如:112123123412345123456....求第i个数字是多少。解题思路:如果Sk表示123...k所占的位数,显然Sk=Sk-1+Cal(k)。Cal(k)表示k的位数。先打表预处理sum[i]=S1+S2+..+

2013-08-19 17:07:17 984

原创 dp hdu-4433 locker

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4433题目大意:给两个长度相等的数字串s1,s2。每次操作可以把连续的最多三位都+1或-1,如果超过9则变成0,如果小于0则变成9.问从s1到s2最少的步数。解题思路:每一位移动正确最多5位,如果一位一位的移动最多需要1000*5=5000 。长度有1000太大,不能直接用B

2013-08-19 14:39:21 1000

原创 枚举+搜索 hdu-4431-Mahjong

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4431题目大意:给一副牌,求出所有能糊的牌。解题思路:枚举每一张牌,看能不能糊。因为一共只有14张牌,每次依据将,去掉三张牌,判断最后一张牌是否一样。七对和十三幺单独考虑,注意:1、1p 1p 1s 9s 1m 9m 1c 2c 3c 4c 5c 6c 7c 这样

2013-08-18 19:37:50 1069

原创 最短路+状态压缩dp(旅行商问题)hdu-4568-Hunter

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4568题目大意:给一个矩阵 n*m (n m矩阵中有k(k解题思路:先dij预处理每一个珠宝到其他其他珠宝的最小花费,不包括自己的花费。然后就是裸的TSP问题了,状态压缩dp即可。dp[i][j]表示最后到达第i个珠宝,且访问珠宝的状态为j时,最小的花费。dd[i][

2013-08-15 16:12:02 2885

原创 dp hdu-4570-Multi-bit Trie

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4570题目意思:转化题意,就是给n个数,求一个划分使得每一段的第一个数乘以2的该段个数次方的和最小。每一段的个数不超过20。解题思路:dp[i]表示i个数时满足题目要求的划分的最小总和。dp[i]=Min(dp[i],sa[i-j+1]*bi[j]+dp[i-j]);

2013-08-15 10:23:08 964

原创 floyd+动态规划 hdu-4571-Travel in time

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4571题目大意:有n个景点,每个点都有个游玩时间ci,游玩后得到的满意度si。给一个起点s和终点e,两个景点间有条无向边,权值为时间。从起点出发,在给定时间限制下,到达终点,问能获得的最大的满意值,只有游玩了景点才能获得该景点的满意值,并且上个游玩景点的满意度必须大于后一个游玩的景点满意

2013-08-14 21:59:37 1009

原创 数学题-hdu-4569-Special equations

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4569题目意思:给一个不超过四次的一元多项式,求一个x使得该多项式的值mod给定质数p的平方为0.解题思路:设给定的多项式为f(x)=a4*x^4+a3*x^3+a2*x^2+a1*x+a0显然f(x+p^2)=f(x)mod(p^2).故只需讨论0~p^2范围内(其他数如果

2013-08-14 18:16:19 1067

原创 数学公式+矩阵快速幂 hdu-4565 So Easy!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4565题目大意:求的值。解题思路:因为(a-1)^2再构造递推关系,Sn*(a+sqrt(b)+a-sqrt(b))=S(n+1)+(a^2-b)*S(n-1)所以S(n+1)=2a*Sn+(b-a^2)*S(n-1).构造矩阵得   2a b-a^2Sn

2013-08-14 16:16:59 1276

原创 BFS-hdu-4101-Ali and Baba

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4101题目大意:给一个矩阵,0表示空的可走,-1宝藏的位置(只有一个),其余的正整数表示该位置石头数。甲乙两个人,轮流玩游戏。甲先玩,谁先从外面通过空路径到达了宝藏的位置(不能经过石头),谁就获胜。如果不能直接到达宝藏位置,可以从外面通过空到某个位置,拿走该位置上的一个石头,如果该位置没

2013-08-13 22:25:10 1300 1

原创 状态压缩dp hdu 4539 郑厂长系列故事——排兵布阵

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4539题目意思:给一个矩阵,有些位置不能放士兵。每个士兵可以攻击哈密顿距离恰好为2的所有位置。求最多能放多少个士兵,使得士兵之间不冲突。解题思路:状态压缩dp.因为当前位置与前两行有关,所以把相邻两行作为二维状态,枚举第i-2行即可得到第i行的状态。记状态dp[][i][

2013-08-13 21:02:14 1901

原创 简单dfs hdu 4536 XCOM Enemy Unknown

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4536题目意思:n个国家,每个国家都有一个恐惧值,每个国家属于一个洲。外星人攻击k次,每次攻击三个不同洲的一个国家,问你作为联盟指挥最多可以抵抗攻击的次数。每次攻击你都可以支援一个国家,支援后这个国家的恐惧值-2,但其他两个国家的恐惧值+2,并且其他两个国家所在大洲的所有其他国家的恐

2013-08-13 16:17:59 1064

原创 概率dp-poj-2096-Collecting Bugs

题目链接:http://poj.org/problem?id=2096题目意思:一个程序有s个子系统,要找出n种bug。某人一天找n种bug中的一种,求出他找出n种bug并且每个子系统中都有bug的天数的期望。设dp[i][j]表示已经找到了i种bug,并且在j个子系统中出现了的天数期望。则dp[n][s]=0.求出dp[0][0]即为最后的结果。期望从后往前推。第

2013-08-12 22:42:02 1630

原创 BFS-hdu-3533-Escape

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3533题目大意:给一个m*n的矩阵方格,有k门大炮,每门大炮以t为周期向c方向发射炮弹,炮弹速度为v.求从(0,0)到(m,n)位置最短的时间,中间不能被炮弹打到,时间不能超过d.解题思路:预处理好后就是简单的BFS。先预处理每个点能够被炮弹射击的所有时刻,然后用vis[

2013-08-12 20:28:35 1140

原创 简单概率dp-hdu-4487-Maximum Random Walk

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4487题目大意:开始位置在0,每一步可以向右向左或者不动,问走了n步后,路径中能到达最右的期望。解题思路:比赛的时候,题目理解错了,认为要回到起点。-_-   -_-由于最后到达的位置不确定,每条路径的最右距离也不确定。所以记dp[i][j][k]为走了i步,到达j位置,

2013-08-12 15:28:00 1857

原创 组合dp hdu-4489-The King’s Ups and Downs

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4489题目意思:给一个n,求n个高矮不同的人排成一排使得高、矮依次排列的种数。解题思路:组合dp.对于n个人,设其高度分别为1,2,3,,,,,n.  对于第n个人,假设前面的n-1个人已经放好了。第n个人有n个位置可放,对于任一位置j,显然第n个人的身高n大于前n-1个

2013-08-12 10:54:25 4683 1

原创 简单三角形计数数学题-hdu-4486-Pen Counts

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4486题目意思:给一个长度len,把len分成三段凑成三角形的个数,如果是等腰三角形记1种,非等腰的记两种。解题思路:三角形计数。比赛的时候傻逼的用o(n^2)的暴力方法打表,虽然过了,不能更弱。。。-_- -_-  ! ==思路不行,马上转化,不要陷入死胡同。不受不正确思路

2013-08-12 10:02:36 1229

原创 简单数学题-hdu-4485-B-Casting

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4485题目意思:给一个B进制的数,求这个数模(B-1)的值。解题思路:由于给定的数很大,肯定不能直接来搞。记给定的数,从个位到最高位依次为a0,a1,a2,a3,a4,.....an.转化成十进制的数位a0*B^0+a1*B+a2*B^2+a3*B^3+...+an*B^

2013-08-12 08:43:27 1036

原创 简单计算几何 hdu-4491 Windmill Animation

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4491题目意思:给m个点,一个开始点和一个水平方向的夹角。求这条直线顺时针旋转时,第一个碰到的点a,然后以a点为新的转轴,再逆时针转,找到a,最后顺序输出s个作为轴的点。解题思路:对于每一条旋转线,以轴为中心,分成两个相反向量,记为oa和ob.对于每一个点c,如果该点在直

2013-08-11 23:13:49 1042

原创 状态压缩+矩阵乘法hdu-4332-Constructing Chimney

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4332题目意思:用1*1*2的长方体构造一个中间为空的3*3的立体烟囱。解题思路:实际上就是poj上这道题的升华版。推荐先做那道题。只不过本题的每一层相当于poj上那题的每一行,此题层数很多,所以很直白的想到用矩阵快速幂加速。这类型的矩阵乘法做的比较少。用二维矩阵表示

2013-08-09 16:02:11 913

原创 数据结构multiset hdu-2275-Kiki & Little Kiki 1

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2275题目意思:有两种操作:1、push a 把a放进数组里。2、pop a 输出不超过a的最大的数,并去掉。解题思路:用multiset可以过。对于操作二先判断容器里面有没有该数,有的话直接输出。没有的话,把a放进容器里,然后查a的位置,-- 得到上一个的位置,最后

2013-08-08 19:47:48 1049

原创 线段树-hdu-4339-Query

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4339题目意思:给两个字符串,有两种操作。1、改变一字符串的某个位置的一个字符。2、查找某一位置开始的最大的连续的两串相同的字符的个数。解题思路:线段树维护两个值:该区间最左边连续的最大值,最右边连续的最大值。每做一道题,停下思考,抽象出一点体会。代码:#in

2013-08-08 15:19:21 911

空空如也

空空如也

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

TA关注的人

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