bzoj1008 矩乘递推

摘要: 2013-11-17 10:38原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1008比较水的题,直接矩阵乘法+递推就OK了w[i,0]代表i个人不越狱的方案,w[i,1]代表i个人越狱的方案,那么有w[i,1]:=w[i-1,0]+w[i-1,1]*m;w[i,0]:=w[i-1,0]*(m-1);然后用矩阵乘法加速。然后我们可以发现,w[i,0]就是(m-1)^(i-2)*m那么n个人,一共有n^m种方案,减去w[n,0]就好了那么式子就是ans=m^n-m*(m-1)^(n-2)//By BLADEVILconst d39... 阅读全文
posted @ 2013-11-20 14:35 BLADEVIL 阅读(242) 评论(0) 推荐(0) 编辑

bzoj1040 内向树DP

摘要: 2013-11-17 08:52原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1040N个骑士,每个人有一个仇人,那么,每个骑士只有一个后继,将他和他憎恨的人连边,就组成了一颗内向树,内向树可以看成环儿上挂一堆树,那么我们对于每个环儿上的点,求出以该点为根节点的子树,取不取该根节点的价值(树P就好了,类似于没有上司的舞会),然后我们得到了一个环儿知道每个点取不取的价值,求最大价值,那么我们可以破环为链,固定第一个取不取,然后DP,如果第一个取,那么答案就是c[tot,0],不取的话答案就是max(c[tot,1],c[tot,0]), 阅读全文
posted @ 2013-11-20 14:34 BLADEVIL 阅读(427) 评论(0) 推荐(0) 编辑

bzoj1053 搜索

摘要: 2013-11-16 17:43原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1053因为使pi(prime[i])n then exit; if (ans>ansnum) or (ans=ansnum) and (sumn) then exit; dfs(d,p+1,sum*prime[d],ans+ans div (p+1)); dfs(d+1,1,sum*prime[d+1],ans*2);end; begin read(n); if n=1 then begin ... 阅读全文
posted @ 2013-11-20 14:33 BLADEVIL 阅读(257) 评论(0) 推荐(0) 编辑

bzoj 1051 tarjan强连通分量

摘要: 2013-11-16 11:39原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1051强连通分量,缩完点之后看出度为0的强连通分量有几个,如果只有一个则输出该强连通分量的点数,否则输出0;/************************************************************** Problem: 1051 User: BLADEVIL Language: Pascal Result: Accepted Time:124 ms Memory:1396 kb*****... 阅读全文
posted @ 2013-11-20 14:32 BLADEVIL 阅读(330) 评论(0) 推荐(0) 编辑

bzoj1257 数学整理二分查询

摘要: 2013-11-15 21:55原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1257要求求sigma k mod i(i0 do begin now:=k div j; l:=1; r:=j; while l<=r do begin mid:=(l+r) div 2; if k div mid=now then begin pi:=mid; r:=... 阅读全文
posted @ 2013-11-20 14:31 BLADEVIL 阅读(296) 评论(0) 推荐(0) 编辑

BZOJ1037 DP

摘要: 2013-11-15 21:51原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1037拿到这道题想到了DP,后来发现三维无法确定的表示状态(起码我是表示不出来)然后就用四维表示状态,w[i,j,k1,k2]表示一共i个人,j个男生,前i-1个人中任意一个人到第i个人的区间里,男生比女生最多多k1个人且存在k1的情况,女生比男生最多多k2个人且存在k2的情况那么w[i,j,k1,k2]这个状态可以更新w[i+1,j+1,k1+1,max(k2-1,0)]表示第i+1个位置放的男生,w[i+1,j,max(k1-1),k2+1]表示放的女 阅读全文
posted @ 2013-11-20 14:30 BLADEVIL 阅读(333) 评论(0) 推荐(0) 编辑

CF 200 div.1 A

摘要: 2013-10-11 16:45Rational Resistancetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMad scientist Mike is building a time machine in his spare time. To finish the work, he needs a resistor with a certain resistance value.However, all Mike has is lo 阅读全文
posted @ 2013-11-20 14:29 BLADEVIL 阅读(238) 评论(0) 推荐(0) 编辑

wiki 2490 导弹拦截塔

摘要: 2013-09-23 21:16二分答案+匈牙利判断对于每一个时间,我们重新建一张二分图,由于每个塔可能打多次,所以要拆点,对于每个拆的点的可行飞行距离为(mid-t1)-(ll-1)*(t1+t2)*v,其中mid为二分的答案ll为将当前的点拆成第几个点(因为拆的点的时间是不一样的),然后依次判断该点和入侵者的距离是否小于,是则加边。建完图之后判断是否存在完美匹配,存在则向下二分,否则向上二分。//吐槽下,靠靠,t1的单位是秒,t2的单位是分钟。。。代码只是过了数据,好多地方都可以优化。比较弱,二分没有标程写的好,标程可以直接得到最后答案。//By BLADEVILvar n, m, t2. 阅读全文
posted @ 2013-11-20 14:28 BLADEVIL 阅读(447) 评论(0) 推荐(0) 编辑

NOIP 2009 最优贸易

摘要: 2013-09-22 11:23//By BLADEVIL var n, m :longint; mark :array[0..100100] of longint; pre, other :array[0..1000100] of longint; last :array[0..100100] of longint; l,l2 :longint; que :array[0..100100]... 阅读全文
posted @ 2013-11-20 14:27 BLADEVIL 阅读(227) 评论(0) 推荐(0) 编辑

wiki1285

摘要: 2013-09-21 16:50裸//By BLADEVIL var n :longint; i :longint; x, y :longint; t, tot :longint; key, s, left, right :array[0..100010] of longint; ft :longint; a, b ... 阅读全文
posted @ 2013-11-20 14:26 BLADEVIL 阅读(159) 评论(0) 推荐(0) 编辑