hdu 2141(排序+二分)
摘要:1 /* 2 * 排序+二分 3 */ 4 5 #include <stdio.h> 6 #include <stdlib.h> 7 #define N 501 8 9 int a[N], b[N*N], c[N];10 11 int cmp(const void *a, const void *b) {12 return *(int *)a - *(int *)b;13 }14 15 int main() {16 int l, n, m, s, i, j, k, tmp, tmpp, left, right, mid, flag, cas = 0;17 wh...
阅读全文
posted @
2012-05-05 22:52
Try86
阅读(214)
推荐(0)
hrbustOJ 1373Leyni, LOLI and Leaders(图论)
摘要:摘自:http://acm.hrbust.edu.cn/hcpc2012/index.php?act=showpost&p=15本题是图论题根据题意,判断一颗树中,某个点是否是另一个点的后裔。根据递归函数的入栈出栈时间戳特点(即子结点的入栈时间戳要晚于自己,而且子节点的出栈时间戳要早于自己)或者括号定理在O(N)内预处理一遍图,即可在O(1)时间完成每次查询。d[x]表示深度优先搜索中x的访问时间戳f[x]表示深度优先搜索中x的结束访问时间戳如果d[u] < d[v] < f[v] < f[u],那么v是u的后裔。 1 #include <cstdio>
阅读全文
posted @
2012-04-27 17:18
Try86
阅读(162)
推荐(0)
hrbustOJ 1375The Active Leyni(动态规划+矩阵乘法)
摘要:摘自:http://acm.hrbust.edu.cn/hcpc2012/index.php?act=showpost&p=15本题是动态规划+矩阵乘法题定义f[i][0]为走了i步恰好达到S的不同走法定义f[i][1]为走了i步恰好达到A的不同走法定义f[i][2]为走了i步恰好达到B的不同走法定义f[i][3]为走了i步恰好达到C的不同走法状态转义方程为:f[i][0] = f[i – 1][1] + f[i – 1][2] + f[i – 1][3];f[i][1] = f[i – 1][0] + f[i – 1][2] + f[i – 1][3];f[i][2] = f[i –
阅读全文
posted @
2012-04-27 16:03
Try86
阅读(208)
推荐(0)
hrbustOJ 石子游戏(巴什博弈)
摘要:View Code /*摘自:ACM百科网 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。这个游戏还可以有
阅读全文
posted @
2012-04-22 11:18
Try86
阅读(143)
推荐(0)
2012全国软件大赛蓝桥杯选拔赛04题
摘要:View Code /* Name: Copyright: Author: Try86 Date: 20/04/12 07:22 Description: *//**题目描述: *某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:*每位选手需要回答10个问题(其编号为1到10),越后面越有难度。*答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。*每位选手都有一个起步的分数为10分。*某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?*如果把答对的记为1,答错的记为0,则10个题...
阅读全文
posted @
2012-04-20 07:25
Try86
阅读(166)
推荐(0)