UVA
sjzezwzy
这个作者很懒,什么都没留下…
展开
-
UVA12034 Race题解
一道和计数有关的组合数题。题目大意本题背景是赛马,给出T组数据,每组一个n,代表n匹马,要求出可能的排名情况(可能并列)。分析设有x(k)代表n=k时的方案数,设第一名有y头马,故其方案书为C(n,y)*x(k-y)。递推可轻松解出答案。注意1.需预先处理出组合数,否则会T。2.注意当k=0时,方案数为0.上代码#include<bits/stdc++.h>using namespa...原创 2018-05-10 16:56:09 · 222 阅读 · 0 评论 -
UVA1395 Slim Span题解
题目大意有多组数据,给一个图,求最大边减最小边最小的生成树分析由题知n≤100,所以m小于5000,可枚举最小的边,向上建立生成树若无生成树则跳过,否则计算出最大边减最小边的值,与答案取min即可,时间:20ms。 上代码#include<bits/stdc++.h>using namespace std;int n,m,f[120],ans;struct ...原创 2018-07-16 21:32:08 · 179 阅读 · 0 评论 -
UVA11181 Probability|Given题解
一道裸的概率论题。题目大意有n个人去超市,每个人买东西的理论概率为Pi,然后你的知有r个人买东西,问每个人买东西的实际概率。分析枚举每个人买不买东西, 然后把每个人自己买东西的概率加起来, 最后和总的可能的概率再做个除法。 这是比较直接的分析,或许会一眼看不懂,所以,脚动模拟一下,设n=3,r=1,若买东西则标记为1,可列出001,010,100三种情况,针对第一种情况,...原创 2018-05-16 17:00:04 · 198 阅读 · 0 评论 -
UVA1644 Prime Gap题解
题目大意有多组数据,每组一个n,若n为0,程序结束。若n为质数,输出0.否则输出离它最近的两个质数(一个比n大,一个比n小)之差。(质数最大为 1299709,即抵十万个素数。) 分析可先用筛法筛一筛,预先处理出质数,然后输入n,若n为质数,输出0,若不为,可从第2个质数往后扫,当出现第一个大于n的数时,即可将他减去上一个质数,即为答案。时间为50ms。#include<bi...原创 2018-05-14 19:39:37 · 423 阅读 · 0 评论 -
UVA1210 Sum of Consecutive Prime Numbers题解
题目大意有多组数据,每组一个n,以0结尾,若n=0,程序结束,求有多少种方法将n写成连续素数之和(n<=10000)。分析可预先将1到10000的素数和其前缀和处理出来,记为数组sum,在进行循环,判断是否有i,j,使得sum[i]-sum[j]=n,若有,则ans++。最后输出ans,时间为80ms。#include<bits/stdc++.h>using...原创 2018-05-14 17:55:13 · 182 阅读 · 0 评论 -
UVA10820 Send a Table题解
题目大意输入n,求有多少个二元组满足1<=x,y<=n,且x,y互素。解析实际上对于每个n,求从1到n的欧拉函数之和再减1,可事先对其进行处理,再O(1)查询。时间大约是0ms。#include<bits/stdc++.h>using namespace std;int al[50001],bl[50001];void cl(){ memset(al,0,si...原创 2018-05-07 17:19:31 · 236 阅读 · 0 评论 -
UVA12716 GCD XOR题解
题目大意输入数据组数t,接下来t行每行给定一个数字n,设1<=b<=a<=n,求gcd(a,b)==a xor b的(a,b)二元组个数。解析关于xor几条性质1.若a xor b=c,则b xor c=a;2.a-b<=a xor b (a>=b).设gcd(a,b)=c,则可设a=x*c,b=y*c;a-b = (x-y)*c, 则a-b>=c,得a-b&l...原创 2018-05-07 17:03:17 · 249 阅读 · 0 评论 -
UVA11582 Colossal Fibonacci Numbers题解
题目大意给出T组数据,输入两个非负整数a, b 和正整数n(0 <= a, b < 2^64,1 <= n <= 1000) , 求f(a ^ b) % n, 其中钦定f(0) = 0, f(1) = 1, f(i + 2) = f(i) + f(i + 1) (i 为非负整数), %为mod。解析一道数论题:会发现整个数列取模之后有循环节于是我们通过找到那个循环节来简...原创 2018-05-05 17:51:17 · 178 阅读 · 0 评论 -
UVA12169 Disgruntled Judge题解
题目大意给出x1,a,b,定义xi=(a*xi-1+b)%10001。给出t,x1,x3。。。x2t-1,输出x2,x4。。。x2t(t小于等于100,x小于10001)。解析若知a,b即可向下推xn,因为要%10001,所以a,b在0到10000之间,固枚举a,b。暴力硬解即可,时间大约是380ms。#include<cstdio>#include<cstring>#...原创 2018-05-05 19:06:18 · 212 阅读 · 0 评论 -
题解 UVA10375 【Choose and divide】题解
题目大意有多组数据,每组有四个数,为p,q,r,s,求C(p,q)/C(r,s)。C(m,n)=m!/(n!*(m-n)!)。解析裸的唯一分解定理,可预先将1至10000的因数处理好,然后开数组对因数个数进行维护,最后进行乘或除即可,时间大约为10ms。#include<bits/stdc++.h>using namespace std;int al[10001],v[10000]...原创 2018-05-05 20:00:50 · 191 阅读 · 0 评论 -
UVA1636 Headshot题解
题目大意你有一把手枪,顶针在随机的位置,打一枪,没有子弹,问再打一枪是打出子弹几率大(输出SHOOT),还是转一下再打几率大(输出ROTATE),若概率一样,输出EQUAL。分析可将手枪看做唤环形序列,对其分析,设出现0的概率为a,出现两个0的概率为b,则两个概率为a/b和b/n(n为序列长),然后变化为比较a*n和b*b几率大小,若前者的输出SHOOT,否则输出ROTATE,若相等输出EQUAL...原创 2018-05-11 19:43:20 · 318 阅读 · 0 评论 -
UVA10491 Cows and Cars题解
题目大意给定a,b,c表示表示有多少个牛,多少个车和一次开几个门。已知你先选一个门,随后主持人打开c个里面是牛的门,然后你会换一个门,问你选的门里是车的概率(保留5位小数)。分析在开始时你选中车的概率为b/(a+b),选中牛的概率为a/(a+b),在主持人开完门后,若你以前开的是里面有牛的门,则选中车的概率为(a/(a+b))*(b/(a+b-c-1)),同理,两次选中车的概率为(b/(a+b))...原创 2018-05-11 19:17:39 · 181 阅读 · 0 评论 -
UVA11728 Alternate Task 题解
题目大意给定n,求因子合为n的最大整数。(n≤1000),若没有输出-1.分析一道简单题,,通过题可知此数≤1000,可预处理,1000以内的数据,在询问时O(n)查询即可。 时间:0ms。 上代码#include<bits/stdc++.h>using namespace std;int al[1010],n,tot=0;void PRE(){ ...原创 2018-07-22 09:12:34 · 160 阅读 · 0 评论