摘要: 这个题目我只能说我一看就知道是这么做的,但是由于实现能力略水,Wa了3发。题意为给你两个区间[a,b]和[c,d],两个区间分别任取一个数,现在要你求出这个数模p的值为m的概率有多大。其实是这么做的,我们需要统计总共有多少种组合情况然后等于就知道分母和分子了。但是怎么求种类数呢 ???首先我们定义一个函数count(x,y),表示从0-x,0-y随机取两数满足情况的种类数。那么最后我们要求的答案ans=count(a,b)-count(a-1,b)-count(a,b-1)+count(a-1,b-1)。这是容斥原理,到这里问题就转化为了求函数值呢。但是我们的根本的问题还是没有解决。到底怎么. 阅读全文
posted @ 2013-11-16 17:40 092000 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 水题。 但是我写挫了一个地方,Wa了三发。好吧,不能忍了。还有,本屌不知道如何用printf输出%,哪位学过C++的大仙知道这是什么情况? 告诉我一声啊。#include #include #define eps 1e-12using namespace std;double ans;int t,k,n,cas=0;char s[10];int main(){ scanf("%d",&t); while (t--) { scanf("%d%s",&n,s); if (s[1]=='B') k=1; else if (s[1 阅读全文
posted @ 2013-11-16 17:21 092000 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 题目很新颖的,略带智商,很好。题目的意思是给你一些白色边和黑色边,现在问你能否用两色边构造出一颗生成树,且树中白色边的数量为一个Fibonacci数。其实在没做题目之前我就已经听说了这个题目的解题方法了。所以。。。。。是这样做的,我们首先判断把所有的边都加进去,看看这个图是不是连通的,如果不是,那么显然我们可以直接输出NO了。接下来是一个很有趣的方法。我们首先把所有两端点在不同集合的白边加入到同一集合,看看最多能加多少条,再按照同样的方法把黑边加入同一集合,看看能加入多少条。这样一来我们等于是把树中能够包含的白色边的最大数和最小数都求出来了,接下来我们只要看看在这个区间中间有木有一个Fibon 阅读全文
posted @ 2013-11-16 17:17 092000 阅读(1183) 评论(0) 推荐(0) 编辑