洛谷 P2111 考场奇遇
题目背景
本市的某神校里有一个学霸,他的名字叫小明(为了保护主人公的隐私,他的名字都用“小明”代替)。在这次的期中考试中,小明同学走桃花运,在考场上认识了一位女生,她的名字叫小红(同样是为了保护隐私)。
题目描述
英语考试结束了,打完铃,她就主动来找小明说话,一来就要借英语卷子对答案。小明是公认的英语大神,二话不说就把卷子借给了她。小红对了一遍答案,简直是千差万别,她不禁冒出了冷汗。这时,小明走过来,安慰她:“没事,我又不是标准答案,不一定全对。”
已知小明答案的准确率是A%,一共有N道题,给出小红对答案的结果S(一个长为N的01串,其中1表示两人答案一样,0表示不一样)。为了简化问题,所有题目都是判断题。
请你帮小红写一个程序,计算出她对Q题及以上的概率。
(P.S.小明后来把那张卷子送给了小红,别想多了,不是定情信物)
输入输出格式
输入格式:
第1行,三个正整数N,A,Q。
第2行,一个01字符串S。
输出格式:
一行,一个实数,表示她对Q题及以上的概率。(保留3位小数)
输入输出样例
说明
对于90%数据,N<=50,N-5<=Q<=N。
对于剩下的10%数据,N<=10000,Q=0.
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
char ch;
double p,ans;
int n,q,nd,nc,cd[],cc[];
double fastpower(double a,int b){
double s=;
for(;b;b>>=){
if(b&) s*=a;
a*=a;
}
return s;
}
int main(){
scanf("%d%lf%d\n",&n,&p,&q);
if(n<=){
q=n-q;
while((ch=getchar())!=''&&ch!='') ch=getchar();
while(ch==''||ch==''){
if(ch=='') nd++;
if(ch=='') nc++;
ch=getchar();
}
cd[]=;cd[]=nd;cd[]=cd[]*(nd-)/;
cd[]=cd[]*(nd-)/;cd[]=cd[]*(nd-)/;cd[]=cd[]*(nd-)/;
cc[]=;cc[]=nc;cc[]=cc[]*(nc-)/;
cc[]=cc[]*(nc-)/;cc[]=cc[]*(nc-)/;cc[]=cc[]*(nc-)/;
for(int i=;i<=q;i++)
for(int j=;j<=min(i,nc);j++){
if(i-j>nd) continue;
ans+=cc[j]*fastpower(p*0.01,j)*cd[i-j]*fastpower((-p*0.01),i-j)*fastpower(-p*0.01,nc-j)*fastpower(p*0.01,nd-i+j);
}
printf("%.3lf",ans);
}
else{
printf("1.000");
return ;
}
}
洛谷 P2111 考场奇遇的更多相关文章
- 洛谷P3957 跳房子(Noip2017普及组 T4)
今天我们的考试就考到了这道题,在考场上就压根没有思路,我知道它是一道dp的题,但因为太弱还是写不出来. 下来评讲的时候知道了一些思路,是dp加上二分查找的方式,还能够用单调队列优化. 但看了网上的许多 ...
- 洛谷.5283.[十二省联考2019]异或粽子(可持久化Trie 堆)
LOJ 洛谷 考场上都拍上了,8:50才发现我读错了题=-= 两天都读错题...醉惹... \(Solution1\) 先求一遍前缀异或和. 假设左端点是\(i\),那么我们要在\([i,n]\)中找 ...
- 洛谷P4891 序列(势能线段树)
洛谷题目传送门 闲话 考场上一眼看出这是个毒瘤线段树准备杠题,发现实在太难调了,被各路神犇虐哭qwq 考后看到各种优雅的暴力AC......宝宝心里苦qwq 思路分析 题面里面是一堆乱七八糟的限制和性 ...
- 【洛谷4770】 [NOI2018]你的名字(SAM,线段树合并)
传送门 洛谷 Solution 做过的比较玄学的后缀自动机. 果然就像\(Tham\)所讲,后缀自动机这种东西考场考了不可能做的出来的... 考虑如果\(l=1,r=|S|\)的怎么做? 直接建后缀自 ...
- 洛谷P4338 [ZJOI2018]历史(LCT,树形DP,树链剖分)
洛谷题目传送门 ZJOI的考场上最弱外省选手T2 10分成功滚粗...... 首先要想到30分的结论 说实话Day1前几天刚刚刚掉了SDOI2017的树点涂色,考场上也想到了这一点 想到了又有什么用? ...
- 洛谷P4774 BZOJ5418 LOJ2721 [NOI2018]屠龙勇士(扩展中国剩余定理)
题目链接: 洛谷 BZOJ LOJ 题目大意:这么长的题面,就饶了我吧emmm 这题第一眼看上去没法列出同余方程组.为什么?好像不知道用哪把剑杀哪条龙…… 仔细一看,要按顺序杀龙,所以获得的剑出现的顺 ...
- 洛谷P1099 BZOJ1999 树网的核 [搜索,树的直径]
洛谷传送门,BZOJ传送门 树网的核 Description 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边带有正整数的权,我们称T为树网(treenetwork),其中V ...
- 洛谷P4220 [WC2018]通道(边分治+虚树)
题面 传送门 题解 代码不就百来行么也不算很长丫 虽然这题随机化贪心就可以过而且速度和正解差不多不过我们还是要好好学正解 前置芝士 边分治 米娜应该都知道点分治是个什么东西,而边分治,顾名思义就是对边 ...
- BZOJ3435 & 洛谷3920 & UOJ55:[WC2014]紫荆花之恋
https://www.lydsy.com/JudgeOnline/problem.php?id=3435 https://www.luogu.org/problemnew/show/P3920 ht ...
随机推荐
- Linux常用命令last的使用方法详解
http://www.jb51.net/article/120140.htm 最近在学习linux命令,学习到了last命令,发现很多同学对last命令不是很熟悉,last命令的功能列出目前与过去登入 ...
- 继续过Hard题目.0207
接上一篇:http://www.cnblogs.com/charlesblc/p/6364102.html 继续过Hard模式的题目吧. # Title Editorial Acceptance ...
- 一种基于Qt的可伸缩的全异步C/S架构server实现(五) 单层无中心集群
五.单层无中心集群 对40万用户规模以内的server.使用星形的无中心连接是较为简便的实现方式.分布在各个物理server上的服务进程共同工作.每一个进程承担若干连接.为了实现这个功能,须要解决几个 ...
- jquery源码ajax分析
http://www.cnblogs.com/aaronjs/p/3683925.html
- 高速排序(Java版)
package com.love.test; import java.util.Scanner; /** * @author huowolf *高速排序实现 *快排是十分优秀的排序算法. *核心:分治 ...
- css sprite的实现
css sprite 为什么使用css sprite? 网页上的非常多静态小图片在载入时须要大量http请求,添加了响应时间.(哈哈.雅虎34条优化法则的第一条啊) css的background-po ...
- Project Euler:Problem 37 Truncatable primes
The number 3797 has an interesting property. Being prime itself, it is possible to continuously remo ...
- SQL Server 获取两个日期间的日期
declare @start datetime declare @end datetime set @start = '2018-01-25' set @end = '2018-02-03' sele ...
- Android 自定义ScrollView的滑动监听事件
项目结构: 1.LazyScrollView类(自定义ScrollView) package android.zhh.com.myapplicationscrollview; /** * Create ...
- Sqlite简单操作
1.student类 public class Student { int id; String name; String sex; String address; int money; public ...