题目:n个人中取出k个人组成一个小组,并且其中有一名组长,问有多少种取法。
分析:分治、组合数学。F(n) = C(n,1)*1 + C(n,2)*2 + ... = sum(C(n,i)*i)
推导:C(n,i)*i=n*...*(i+1)/ [i*(i-1)*...*1] * i=n * [(n-1)*...*i]/ [i*...*1]=C(n-1,i)*n...
分类:
其他好文 时间:
2014-07-28 15:47:43
阅读次数:
226
第一份代码,TLE了#include#define MAX 100000+5int a[MAX];int main(){ int n,m,i,j,k,v; while( scanf("%d %d",&n,&m)!=EOF) { for(i=1;i#include#in...
分类:
其他好文 时间:
2014-07-28 15:06:53
阅读次数:
241
每次从最底部开始处理,如果不是最大值,则把最大值翻到底部。这就是最优解。原理自己模拟一下就好。。。注意半径不是从1开始。数据处理要仔细。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int m...
分类:
其他好文 时间:
2014-07-28 13:43:50
阅读次数:
225
题目链接:uva 10671 - Grid
Speed
题目大意:给出N,表示在一个N*N的网格中,每段路长L,现在给出h,v的限制速度,以及起始位置sx,sy,终止位置ex,ey,时间范围st,et,车只走最短路,问说在范围内最快到达和耗油量最小的情况下时间和耗油量。
解题思路:dp[x][y][t]表示在x,y这一点,时间为t的耗油量最小为dp[x][y][t],vis[x][...
分类:
其他好文 时间:
2014-07-28 00:26:19
阅读次数:
224
UVA 1444 - Knowledge for the masses
题目链接
题意:给定R排书架,现在要求最小代价移动书架打开一条通道,每次移动书架的代价为1(距离不限),问最小代价和最小代价的位置
思路:对于每一行,从左往右再从右往左各推一遍,每次把各个位置代价的最小值算出来,计算的过程要记录每个位置对应前面空位个数和空位位置,这样每个书架要移动的代价就能快速算出,最后处理...
分类:
其他好文 时间:
2014-07-28 00:19:39
阅读次数:
213
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=116&page=show_problem&problem=1535
Problem F
Data Flow
Time Limit
5 Seconds
I...
分类:
其他好文 时间:
2014-07-28 00:17:39
阅读次数:
381
题目连接:uva 1390 - Interconnect
题目大意:给出n表示有n个点,m表示有m条边,现在任选两点建立一条边,直到整个图联通,问说还需建立边数的期望,建过边的两点仍可以建边。
解题思路:哈希的方法很是巧妙,将各个联通分量中节点的个数c[i]转换成一个30进制的数(因为节点个数最多为30),因为结果很大,所以对1e5+7取模。获得的哈希值作为插入和搜索的起点。
#in...
分类:
其他好文 时间:
2014-07-28 00:16:09
阅读次数:
426
UVA 1511 Soju
题目链接
题意:给定两个点集,要求两个点集各取一点曼哈顿距离最小值,保证点集1的x都小于0,点集2的x都大于0.
思路:由于x2 > x1所以只要考虑y值,如果一个y比另一个y大,那么就是y1 - y2,否则为y2 - y1,这样一来只要对这两种情况,分别进行两次排序贪心计算即可
代码:
#include
#include
#inclu...
分类:
其他好文 时间:
2014-07-28 00:14:09
阅读次数:
176
题目链接:uva 1510 - Neon Sign
题目大意:给定n个点,任意三点不共线,并且两两点之间有一条线,给定线的颜色。问说有多少个三角形三边同色。
解题思路:对于每个点,记录该点黑色边的数量和红色边的数量,考虑以该点为顶点的三角形,从红色边中选一条,黑色边中选一条,组成的三角形一定是不满足的。因为一个不同色三角形会有两个点满则,所以考虑了两次。用总的个数减掉不同色的即可。
...
分类:
其他好文 时间:
2014-07-28 00:13:19
阅读次数:
367
UVA 1510
题目链接
题意:给定一些点两两相连,已知每两点连接是红色还是蓝色,问同色三角形有多少个
思路:由于不同色三角形也有两边同色,直接考虑不好考虑,反过来考虑,先找出不同色三角形,对于每个点而言,找一个红边和一个蓝边就能构成不同色三角形,那么每个三角形被选了3次,其中一次是同色的不用考虑,所以最后答案除以2,然后在用总情况数C(n, 3) - sum即可
代码:...
分类:
其他好文 时间:
2014-07-28 00:13:00
阅读次数:
495