procedure2012
It's not worth it to know you're not worth it!
上一页 1 2 3 4 5 6 ··· 20 下一页
摘要: [关键字]:数学 树结构[题目大意]:求出给定的图的最小生成树的数量。//==============================================================================================[分析]:有一个定理:所有最小生成树的权值为ci的边的数量ni和所连接的点集S是一样。由此可以判断每种权值的边拿出ni个构成S的最小生成树的数量,因为同样的边的数量最多只有10所以搜索即可,然后利用乘法原理成在一起。注意判断无解情况。[代码]:View Code #include<iostream>#include<c 阅读全文
posted @ 2012-04-12 23:51 procedure2012 阅读(1231) 评论(0) 推荐(0) 编辑
摘要: [关键字]:数据结构[题目大意]:有两个操作:输出后x个数中的最大值、将一个数插入到最后。//===============================================================================[分析]:就是一个线段树的维护,连延迟都没有。[代码]:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std 阅读全文
posted @ 2012-04-12 23:43 procedure2012 阅读(618) 评论(0) 推荐(0) 编辑
摘要: [关键字]:搜索[题目大意]:给出一个显示原矩阵每一个2*2得小正方形的和的矩阵,每个元素都小于p,求出一个字典序最小的原矩阵a满足所给矩阵。//================================================================================[分析]:如果能求出第一行和第一列就可以推算出所有的格子。首先假设第一行和第一列都是0然后可以得到一个不满足小于p的矩阵c,然后进行调整。如果在(1,1)加了a1,1那只要再将所有非第一行第一列的行列和为奇数的格子加上a1,1行列和是偶数的减去a1,1结果不会改变,如果在(1,j)加a1,j只 阅读全文
posted @ 2012-04-12 13:42 procedure2012 阅读(418) 评论(0) 推荐(0) 编辑
摘要: [关键字]:排序 贪心[题目大意]:给出n堆石头,并在初始时取走某几堆,每次只能去相邻石头堆是空的石头堆,计算双方都是最优的情况下的石头数。//===========================================================================================================[分析]:用空堆将石头分开,可以分成两个栈和若干个双头队列。如果只有一个栈,则每个选手所能取到的数是唯一的,如果只有一个队列如果是奇数个先手可以取奇数位的和和偶数位的和的最大值。如果是组合的话就复杂了。如果在栈里出现栈顶小于下一个则除非不得已 阅读全文
posted @ 2012-04-11 19:04 procedure2012 阅读(1133) 评论(2) 推荐(0) 编辑
摘要: [关键字]:置换群 路径压缩[题目大意]:生成数列c0..n-1: c0=0, ci+1=(ci*q+p) MOD m。你需要确定非负整数x1..n-1, y1..n-1。使得pos0=s, posi=(ci+d*xi+yi) MOD n恰好是一个0到n-1的排列,当(xi,yi)有多种选择时,yi要尽量小,然后xi尽量小。通过这种方法我们可以得出唯一的pos0..n-1。假设有n-1个物品1..n-1 posi表示物品i的位置 pos0表示空位的位置。初始时空位在0号位,物品i在i号位。每次移动可以把一个物品放到空位去,然后它原来所在的位置变成空位。问从初始移动到目标pos最少需要多少移动。 阅读全文
posted @ 2012-04-10 12:05 procedure2012 阅读(250) 评论(0) 推荐(0) 编辑
摘要: [关键字]:高斯消元[题目大意]:给出一个n维空间中球面上n+1个点,求出球心坐标。//===========================================================================================[分析]:看他给出的条件n+1个点,要求出n个值,感觉像解方程租。因为,每个点到球心的坐标相等。设圆心坐标为(x1,x2,x2......xn),每个点到圆心的距离为di,然后就可以列出n个式子d1=d2\d2=d3......dn=dn+1,然后化简一下利用高斯消元解出就行了。[代码]:View Code #include&l 阅读全文
posted @ 2012-04-10 11:34 procedure2012 阅读(173) 评论(0) 推荐(0) 编辑
摘要: [关键字]:块状链表[题目大意]:有n个弹力装置,绵羊落在i个装置上会被向后弹到i+ki个装置上或被弹飞,问从i个装置开始要想被弹飞需要多少次,中间会改变装置的弹力系数。//=============================================================================================[分析]:做法有三种:动态树(不会)、伸展树+括号序列(不会+太麻烦)、块状链表。虽然块状链表在这里只是水过,但还是很好写和理解的。在以sqrt(n)分块后,对每个装置维护f[i].t[i],f[i]表示从i开始要弹几次才能弹出该块,可以用 阅读全文
posted @ 2012-04-10 11:16 procedure2012 阅读(296) 评论(0) 推荐(0) 编辑
摘要: [关键字]:图论 二分图[题目大意]:给出一个带有汉密尔顿回路的图,判断它是否是一个平面图。//==============================================================================[分析]:汉密尔顿回路回练成一个环,这个图必定被分成两部分,如果两条边相交无论同时在内还是在外都会相交,只有一条在环内一条在外才行——二分图!首先判断出那些边不再回路上然后把有矛盾的边连边利用染色法判断能否构成二分图,二分图的成立决定了平面图的成立。还有一点,平面图内设点数为v边数为e面数为r,v-e+r=2 e<=3*v-6r<=2 阅读全文
posted @ 2012-04-07 15:13 procedure2012 阅读(1909) 评论(0) 推荐(1) 编辑
摘要: [关键字]:动态规划[题目大意]:对于一个包含N个整数的数列 A,我们可以把它的所有元素加入一个双头队列 B。首先A[1]作为队列的唯一元素,然后依次加入 A[2..N],如果 A[i]<A[i-1]那么从B的左端加入 A[i],否则从B的右端加入A[i]。给出最终的队列 B,求原数列有多少种可能排列。//=======================================================================================================[分析]:因为每个数字不是放在最前面就是放在最后面,所以a中[1……i]就对应b 阅读全文
posted @ 2012-04-07 15:02 procedure2012 阅读(550) 评论(0) 推荐(0) 编辑
摘要: [关键字]:扩展欧几里得Burnside定理 动态规划[题目大意]:给你n张牌,n张牌一共有三种颜色,并且给定这n张牌种的红色、蓝色、绿色各有多少张。现在给定m种洗牌法,每一种牌的排列通过洗牌得到另一种牌的排列,则它们称为本质相同染色法。求:对这n张牌染色,满足sr、sb、sg的限制下,可以通过m种洗牌法,有多少种本质不同的染色法?//============================================================================================================================[分析]:Bu 阅读全文
posted @ 2012-04-07 07:58 procedure2012 阅读(1112) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 20 下一页