Contest 5
A:这我怎么没学傻了啊。整个一傻逼题一眼容斥我连暴力都写不出来啊。显然序列是没有什么用的,考虑求众数小于x的概率,显然可以枚举有几个超过容斥一发。虽然要算的组合数非常大,发现可以抵消很大一部分,最后算组合数是O(n)的,总复杂度O(Tn2logn)。精度可能会有问题。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 260
int n,m,cnt[N];
long double f[N];
int main()
{
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
while (scanf("%d %d",&n,&m)>)
{
memset(cnt,,sizeof(cnt));
memset(f,,sizeof(f));
for (int i=;i<=n+;i++)
{
for (int j=;j<=n/i;j++)
{
long double x=;
for (int k=n-i*j+m;k<=n+m-;k++) x/=k;
for (int k=n-i*j+;k<=n;k++) x*=k;
for (int k=m-j+;k<=m;k++) x*=k;
for (int k=;k<=j;k++) x/=k;
if (j&) f[i]-=x;else f[i]+=x;
}
f[i]=-f[i];
}
long double ans=;
for (int i=;i<=n;i++) ans+=(f[i]-f[i+])*i;
printf("%.4Lf\n",ans);
}
return ;
}
B:暴力。预处理最小质因子做到快速质因数分解就可以了。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1000010
int n,prime[N],p[N],cnt=,ans=N;
bool flag[N];
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
n=read();
flag[]=;
for (int i=;i<=n;i++)
{
if (!flag[i]) prime[++cnt]=i,p[i]=i;
for (int j=;j<=cnt&&prime[j]*i<=n;j++)
{
flag[prime[j]*i]=;p[prime[j]*i]=prime[j];
if (i%prime[j]==) break;
}
}
int m=n;
while (m>)
{
int x=p[m];
for (int i=max(n-x+,x+);i<=n;i++)
{
int y=i;
while (y>)
{
ans=min(ans,max(p[y]+,i-p[y]+));
y/=p[y];
}
}
m/=x;
}
cout<<ans;
return ;
}
C:左上角是黑色则无解,反之则可行。显然问题可以转化为是否能用偶数次将棋盘变白。每次取反左上角的格子都会被取反,所以偶数次操作一定无法改变该位置。同理奇数次操作一定会改变该位置,若左上角为白色则无法用奇数次操作完成,并且显然这是有解的,所以可以用偶数次完成。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 110
int T,n,m,a[N][N];
int main()
{
freopen("chess.in","r",stdin);
freopen("chess.out","w",stdout);
T=read();
while (T--)
{
n=read(),m=read();
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
{
char c=getchar();
while (c!='B'&&c!='W') c=getchar();
a[i][j]=(c=='B'?:);
}
if (a[][]) printf("H\n");else printf("C\n");
}
return ;
}
result:200 rank1
Contest 5的更多相关文章
- Programming Contest Problem Types
		
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
 - hdu 4946 2014 Multi-University Training Contest 8
		
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
 - 2016 Multi-University Training Contest 2 D. Differencia
		
Differencia Time Limit: 10000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
 - 2016 Multi-University Training Contest 1 G. Rigid Frameworks
		
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
 - hdu-5988 Coding Contest(费用流)
		
题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Ot ...
 - ZOJ 3703 Happy Programming Contest
		
偏方记录背包里的物品.....每个背包的价值+0.01 Happy Programming Contest Time Limit: 2 Seconds Memory Limit: 65536 ...
 - 2012 Multi-University Training Contest 9 / hdu4389
		
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
 - 2014 Multi-University Training Contest 9#11
		
2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others) ...
 - 2014 Multi-University Training Contest 9#6
		
2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...
 - 校际联合Contest
		
每次开一个坑都像是重新被碾压的预感 最近的新闻,以前很喜欢乔任梁的<复活>...然后他就死了...感觉我再多愁善感一点的话...就要悲伤逆流成河了吧... Contest 09/24(乐滋 ...
 
随机推荐
- 优步uber司机不能绑定银行卡问题
			
很多新加入的优步车主都发现现在不能绑定银行卡,不能绑定就收不到车费呀!现在优步公司给出的绑定地址是:http://ubercd.sojump.com/jq/4853671.aspx 但是提交后没有反映 ...
 - 【AHOI2013】差异
			
题面 题解 $ \because \sum_{1 \leq i < j \leq n} i + j = \frac{n(n-1)(n+1)}2 $ 所以只需求$\sum lcp(i,j)$即可. ...
 - angular中的$http服务
			
$http是ng内置的一个服务.是简单的封装了浏览器原生的XMLHttpRequest对象. 写法1 $http({ method: "GET", url: 'data.json' ...
 - power sequece
 - 【转】RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第二篇【原理】
			
接着上一篇,我们开始聊聊APPIUM的框架和运行模式.废话不多说直接上图. 1.首先自动化脚本通过RobotFrameWork将命令传递给Appium的客户端: 2.然后[Appium的客户端]将接受 ...
 - json_encode替代函数
			
<?php function jsonEncode($var) { if (function_exists('json_encode')) { return json ...
 - 2018百度之星开发者大赛-paddlepaddle学习
			
前言 本次比赛赛题是进行人流密度的估计,因为之前看过很多人体姿态估计和目标检测的论文,隐约感觉到可以用到这次比赛上来,所以趁着现在时间比较多,赶紧报名参加了一下比赛,比赛规定用paddlepaddle ...
 - 2019展望计划(Lamica 2019-Year Plan):
			
1,家人身体健康.2,好好上课,考试顺利,不要挂科.3,PETS3 9月份 杭州 一定要过.4,PETS3通过后,进军日语N3-N2.5,在杭州找一份合适的工作(底线6K).6,在杭州交到新朋友.7, ...
 - hdu6447
			
YJJ's Salesman Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
 - Parcel 打包器简单使用记录
			
本文是构造 UI 轮子过程中搭建项目初始化时使用 Parcel 作为打包器的简要使用记录. 安装 参考 官方文档 使用 npm 进行 parcel-bundler 的安装. npm i -D parc ...