上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 恶心的题目= = 1 #include 2 #include 3 #include 4 int f[5][5]={{0,3,2,3,2},{3,2,1,2,3},{2,1,4,3,2},{3,2,3,2,3},{2,3,2,3,4}}; 5 int main() 6 { 7 int a... 阅读全文
posted @ 2014-12-22 20:53 rpSebastian 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 直接跑匈牙利,注意到“只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰”,一旦无法满足就直接退出。 1 #include 2 #include 3 #include 4 #define maxn 2008 5 #define maxm 10008 6 7 struct edge{ 8... 阅读全文
posted @ 2014-12-22 20:09 rpSebastian 阅读(248) 评论(0) 推荐(0) 编辑
摘要: /*感谢机房JYW的友情馈赠*/#include #include #include #include #include #include #include #define Orz __attribute__((optimize("-O2")))#define lx 2000using namesp... 阅读全文
posted @ 2014-12-22 20:06 rpSebastian 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 没想到这是一道省选题。。。 1 /* BZOJ1192 */ 2 #include 3 int main() 4 { 5 int m,num=0; 6 scanf("%d",&m); 7 for (;m>0;m/=2,num++); 8 printf("%d\n",... 阅读全文
posted @ 2014-12-22 19:19 rpSebastian 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 先对整幅图进行二分图染色,再跑一遍匈牙利算法。如果最大匹配数=点数*2,那么输出WIN。对于任何一个非必须在最大匹配上的点,即为所求的点。 1 Program Test375num2; 2 type arr=record 3 u,v,next:longint; 4 ... 阅读全文
posted @ 2014-12-22 19:07 rpSebastian 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 。。。怎么优化都是90分,最后一个点一直T掉,有谁过了请告诉我。 1 Program CODEVS3147; 2 const maxn=2008; 3 var a,b:array[-1..maxn,-1..maxn] of longint; 4 n,q,i,j,k,k1,k2,k3,k4,t... 阅读全文
posted @ 2014-12-19 18:20 rpSebastian 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 基础的矩阵乘法。Program CODEVS1287;const maxn=208;var k1,k2,k3,sum:int64; a,b,c:array[0..maxn,0..maxn] of int64; i,j,k:longint;begin readln(k1,k2); fo... 阅读全文
posted @ 2014-12-18 20:13 rpSebastian 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 真是道坑题,数据范围如此大。首先构造矩阵 [ f[0] , 1] * [ a,0 ] ^n= [ f[n],1 ] [ c,1 ]注意到m, a, c, x0, n, g0 do begin if y mod 2=1 then ans:=(ans+x)... 阅读全文
posted @ 2014-12-17 21:12 rpSebastian 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 嗯,,,矩阵乘法最基础的题了。Program CODEVS1250;type arr=array[1..2,1..2] of longint;var T,n,mo:longint; a,b:arr;operator *(a,b:arr) c:arr;var i,j,k,sum:longint... 阅读全文
posted @ 2014-12-17 20:18 rpSebastian 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.cnblogs.com/frog112111/archive/2013/05/19/3087648.htmlFibonacci数列:F(0)=1 , F(1)=1 , F(n)=F(n-1)+F(n-2)我们以前快速求Fibonacci数列第n项的方法是 构造常系数矩... 阅读全文
posted @ 2014-12-17 19:45 rpSebastian 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 由于权值是在边上,所以很容易发现一个性质:d(x,y)=d(x,root) xor d(y,root)。 因为有了这个性质,那么就很好做了。对于每一个点统计到root的距离,记为f 数组。 将f数组里的每个值插进按照二进制位插进字典树里面。 枚举每一个点,然后在字典树中搜索最大的xor值就可以了。 阅读全文
posted @ 2014-12-16 20:45 rpSebastian 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 直接用Trie树即可。 每个节点统计经过该点的单词数,遍历时当经过的单词数为1时即为合法的前缀。 阅读全文
posted @ 2014-12-15 21:02 rpSebastian 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 真是语死早,题目看了两遍才看懂。 按照题目要求建边,从'Z'开始跑最短路即可。 阅读全文
posted @ 2014-12-14 22:02 rpSebastian 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 由于m很大,所以不能使用DP。注意到n≤30,直接暴力2^n会TLE。所以,将砝码平均分成两份,对一份进行一次暴力,用哈希表存下可能的结果。对下一份再进行一次暴力,在哈希表中搜索剩余的砝码重量是否存在,若存在则更新答案。输出最小答案即可。Program CODEVS2144;const maxn=1... 阅读全文
posted @ 2014-12-11 22:29 rpSebastian 阅读(183) 评论(0) 推荐(0) 编辑
摘要: f[i,0] 表示 第i个人不参加舞会f[i,1] 表示 第i个人参加舞会f[i,1]=sigma(f[j,0])+v[i] j 为 i 的孩子f[i,1]=sigma(max(f[j,0],f[j,1])) j 为 i 的孩子ans=max(f[root,0],f[root,1])Progra... 阅读全文
posted @ 2014-12-11 21:55 rpSebastian 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页