http://codeforces.com/contest/489

Problems

 
 
# Name    
A
standard input/output

1 s, 256 MB

   x2668
B
standard input/output

1 s, 256 MB

   x2659
C
standard input/output

1 s, 256 MB

   x2261
D
standard input/output

1 s, 256 MB

   x1151
E
standard input/output

1 s, 256 MB

   x165
F
standard input/output

1 s, 256 MB

   x427

ABCD都是水题,F题有点碉,是个记忆化搜索/DP。

代码:

A:

 //#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
#define mz(array) memset(array, 0, sizeof(array))
#define mf1(array) memset(array, -1, sizeof(array))
#define minf(array) memset(array, 0x3f, sizeof(array))
#define REP(i,n) for(i=0;i<(n);i++)
#define FOR(i,x,n) for(i=(x);i<=(n);i++)
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define WN(x) printf("%d\n",x);
#define RE freopen("D.in","r",stdin)
#define WE freopen("huzhi.txt","w",stdout)
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppf pop_front
#define ppb pop_back
typedef long long ll;
typedef unsigned long long ull; const double pi=acos(-1.0);
const double eps=1e-; const int maxn=; int n; int ans;
int a[maxn];
int ax[maxn],ay[maxn]; ll farm(){
int i,j,k;
ll re=;
ans=;
FOR(i,,n-){
k=i;
FOR(j,i+,n-){
if(a[j]<a[k]){
k=j;
}
}
if(k!=i){
ax[ans]=i;
ay[ans]=k;
ans++;
swap(a[k],a[i]);
}
}
return re;
} int main(){
int i;
scanf("%d",&n);
REP(i,n)RD(a[i]);
farm();
WN(ans);
REP(i,ans){
printf("%d %d\n",ax[i],ay[i]);
}
return ;
}

B:

 //#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
#define mz(array) memset(array, 0, sizeof(array))
#define mf1(array) memset(array, -1, sizeof(array))
#define minf(array) memset(array, 0x3f, sizeof(array))
#define REP(i,n) for(i=0;i<(n);i++)
#define FOR(i,x,n) for(i=(x);i<=(n);i++)
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define WN(x) printf("%d\n",x);
#define RE freopen("D.in","r",stdin)
#define WE freopen("huzhi.txt","w",stdout)
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppf pop_front
#define ppb pop_back
typedef long long ll;
typedef unsigned long long ull; const double pi=acos(-1.0);
const double eps=1e-; const int maxn=;
const int maxm=; int n,m; //struct Edge{
// int v,next;
//}e[maxm];
//int head[maxn],en;
//
//inline void add(const int &x,const int &y){
// e[en].v=y;
// e[en].next=head[x];
// head[x]=en++;
//} int a[maxn],b[maxn]; int farm(){
sort(a,a+n);
sort(b,b+m);
int i,j;
j=;
int ans=;
REP(i,n){
while(j<m && b[j]<a[i]-)j++;
if(j==m)break;
if(abs(a[i]-b[j])<=){
j++;
ans++;
}
}
return ans;
} int main(){
int i;
RD(n);
REP(i,n)RD(a[i]);
RD(m);
REP(i,m)RD(b[i]);
WN(farm());
return ;
}

C:

 //#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
#define mz(array) memset(array, 0, sizeof(array))
#define mf1(array) memset(array, -1, sizeof(array))
#define minf(array) memset(array, 0x3f, sizeof(array))
#define REP(i,n) for(i=0;i<(n);i++)
#define FOR(i,x,n) for(i=(x);i<=(n);i++)
#define FORD(i,x,y) for(i=(x);i>=(y);i--)
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define WN(x) printf("%d\n",x);
#define RE freopen("D.in","r",stdin)
#define WE freopen("huzhi.txt","w",stdout)
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppf pop_front
#define ppb pop_back
typedef long long ll;
typedef unsigned long long ull; const double pi=acos(-1.0);
const double eps=1e-; const int maxn=;
const int maxm=; int m,s; //struct Edge{
// int v,next;
//}e[maxm];
//int head[maxn],en;
//
//inline void add(const int &x,const int &y){
// e[en].v=y;
// e[en].next=head[x];
// head[x]=en++;
//} char s1[],s2[]; bool farm(){
if(m> && s==)return ;
if(s > m*)return ;
if(m== && s==){
strcpy(s1,"");
strcpy(s2,"");
return ;
}
int t=s;
s1[]='';
t--;
int i;
FORD(i,m-,){
if(t){
int q=min(,t);
s1[i]=''+q;
t-=q;
}else s1[i]='';
}
if(t)s1[]+=t; t=s;
FOR(i,,m-){
if(t){
int q=min(,t);
s2[i]=''+q;
t-=q;
}else s2[i]='';
}
return ;
} int main(){
RD2(m,s);
if(farm())
printf("%s %s\n",s1,s2);
else puts("-1 -1");
return ;
}

D:

 //#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
#define mz(array) memset(array, 0, sizeof(array))
#define mf1(array) memset(array, -1, sizeof(array))
#define minf(array) memset(array, 0x3f, sizeof(array))
#define REP(i,n) for(i=0;i<(n);i++)
#define FOR(i,x,n) for(i=(x);i<=(n);i++)
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define WN(x) printf("%d\n",x);
#define RE freopen("D.in","r",stdin)
#define WE freopen("huzhi.txt","w",stdout)
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppf pop_front
#define ppb pop_back
typedef long long ll;
typedef unsigned long long ull; const double pi=acos(-1.0);
const double eps=1e-; const int maxn=;
const int maxm=; int n,m; struct Edge{
int v,next;
}e[maxm];
int head[maxn],en; inline void add(const int &x,const int &y){
e[en].v=y;
e[en].next=head[x];
head[x]=en++;
} ll ans; int a[maxn][maxn];
int gf; void dfs(int x,int y){
if(y==){
a[gf][x]++;
return;
}
int i;
for(i=head[x]; i!=-; i=e[i].next){
if(e[i].v!=gf)dfs(e[i].v, y-);
}
} void farm(){
int i,j;
ans=;
mz(a);
FOR(i,,n){
gf=i;
dfs(i,);
}
FOR(i,,n){
FOR(j,,n){
if(i!=j){
if(a[i][j]>=){
ans+= a[i][j]*(a[i][j]-)/ ;
}
}
}
}
} int main(){
int i,j;
int x,y;
RD2(n,m);
en=;
mf1(head);
REP(i,m){
RD2(x,y);
add(x,y);
}
farm();
printf("%I64d",ans);
return ;
}

F:

 //#pragma comment(linker, "/STACK:102400000,102400000")
#include<cstdio>
#include<cmath>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
using namespace std;
#define mz(array) memset(array, 0, sizeof(array))
#define mf1(array) memset(array, -1, sizeof(array))
#define minf(array) memset(array, 0x3f, sizeof(array))
#define REP(i,n) for(i=0;i<(n);i++)
#define FOR(i,x,n) for(i=(x);i<=(n);i++)
#define RD(x) scanf("%d",&x)
#define RD2(x,y) scanf("%d%d",&x,&y)
#define RD3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define WN(x) printf("%d\n",x);
#define RE freopen("D.in","r",stdin)
#define WE freopen("huzhi.txt","w",stdout)
#define mp make_pair
#define pb push_back
#define pf push_front
#define ppf pop_front
#define ppb pop_back
typedef long long ll;
typedef unsigned long long ull; const double pi=acos(-1.0);
const double eps=1e-; const int maxn=; int n,m,mod; int a[maxn][maxn]; int r[maxn],c[maxn]; ll f[maxn][maxn]; inline ll gank(const int &w1, const int &w0){
//printf("%d,%d\n",w1,w0);
if(f[w1][w0] != -)return f[w1][w0];
ll re=;
if(w0>){
re+=w0*(w0-)/ * gank(w1+,w0-);
re%=mod;
}
if(w0> && w1>){
re+=w0*w1 * gank(w1,w0-);
re%=mod;
}
if(w1>){
re+=w1*(w1-)/ * gank(w1-,w0);
re%=mod;
}
f[w1][w0]=re;
return re;
} ll farm(){
int i,j,k;
// REP(i,n){
// REP(j,n)printf("%d ",a[i][j]);
// puts("");
// }
mz(r);
mz(c);
REP(i,m)REP(j,n){
if(a[i][j]){
r[i]++;
c[j]++;
}
}
REP(i,n){
if(r[i]> || c[i]>)return ;
}
REP(i,m) if(r[i]!=)return ;
int ww[]={};
REP(i,n){
ww[c[i]]++;
}
ll ans=;
mf1(f);
f[][]=;
ans = gank(ww[], ww[]);
return ans;
} int main(){
char c;
int i,j;
RD3(n,m,mod);
mf1(a);
REP(i,m){
REP(j,n){
do{c=getchar();}while(c!='' && c!='');
a[i][j] = c-'';
}
}
printf("%I64d\n",farm());
return ;
}

Codeforces Round #277.5 (Div. 2) ABCDF的更多相关文章

  1. Codeforces Round #277.5 (Div. 2)

    题目链接:http://codeforces.com/contest/489 A:SwapSort In this problem your goal is to sort an array cons ...

  2. Codeforces Round #277.5 (Div. 2) --E. Hiking (01分数规划)

    http://codeforces.com/contest/489/problem/E E. Hiking time limit per test 1 second memory limit per ...

  3. Codeforces Round #277.5 (Div. 2)-D. Unbearable Controversy of Being

    http://codeforces.com/problemset/problem/489/D D. Unbearable Controversy of Being time limit per tes ...

  4. Codeforces Round #277.5 (Div. 2)-C. Given Length and Sum of Digits...

    http://codeforces.com/problemset/problem/489/C C. Given Length and Sum of Digits... time limit per t ...

  5. Codeforces Round #277.5 (Div. 2)-B. BerSU Ball

    http://codeforces.com/problemset/problem/489/B B. BerSU Ball time limit per test 1 second memory lim ...

  6. Codeforces Round #277.5 (Div. 2)-A. SwapSort

    http://codeforces.com/problemset/problem/489/A A. SwapSort time limit per test 1 second memory limit ...

  7. Codeforces Round #277.5 (Div. 2) A,B,C,D,E,F题解

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud A. SwapSort time limit per test    1 seco ...

  8. Codeforces Round #277.5 (Div. 2)-D

    题意:求该死的菱形数目.直接枚举两端的点.平均意义每一个点连接20条边,用邻接表暴力计算中间节点数目,那么中间节点任选两个与两端可组成的菱形数目有r*(r-1)/2. 代码: #include< ...

  9. Codeforces Round #277.5 (Div. 2)B——BerSU Ball

    B. BerSU Ball time limit per test 1 second memory limit per test 256 megabytes input standard input ...

随机推荐

  1. BZOJ 3343: 教主的魔法 [分块]【学习笔记】

    3343: 教主的魔法 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1172  Solved: 526[Submit][Status][Discus ...

  2. BZOJ1878: [SDOI2009]HH的项链[树状数组 离线]

    1878: [SDOI2009]HH的项链 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 3486  Solved: 1738[Submit][Statu ...

  3. webService获取电话号归属地和获取天气情况步骤,及创建属于自己的webservice

    一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...

  4. http协议进阶(二)URL与资源

    一.URL的语法  URL是互联网资源的标准化名称 URL提供了一种定位互联网上任意资源的手段,但这些资源要通过不同方案(协议:比如http.ftp.smtp)来访问,因此URL语法会略有差异 大部分 ...

  5. 操作系统Unix、Windows、Mac OS、Linux的故事

    电脑,计算机已经成为我们生活中必不可少的一部分.无论是大型的超级计算机,还是手机般小巧的终端设备,都跑着一个操作系统.正是这些操作系统,让那些硬件和芯片得意组合起来,让那些软件得以运行,让我们的世界在 ...

  6. docker-compose启动的tomcat无法远程连接jmx

    最近想学习下java GC优化,就用了一下VisualVM,在远程服务器启动了一个非docker的tomcat,很顺利的就连接了,但是用docker-compose启动的服务却 怎么也连不上,一定是d ...

  7. flask+sqlite3+echarts3 系统监控

    总的而言,分三部分: 1.监控器(monitor.py): 每秒获取系统的四个cpu的使用率,存入数据库. 2.路由器(app.py): 响应页面的ajax,获取最新的一条或多条数据. 3.页面(in ...

  8. JAVA格物致知基础篇:你所不知道的返回码

    上篇我们主要讲解利用Jersey组件如何来写一个能保证基本运行的Rest Service, 之所以说能够基本运行是因为接口暴露及其简易,一旦遇到其他的情况了,就无法正确的处理我们的请求.同时,这个接口 ...

  9. knockoutJS学习笔记03:knockout简介

    通常来说,前端的维护难度是比较大的,特别是脚本,虽然像jquery这样的库可以帮助我们减少很多代码,但在稍微复杂的情况下,还是会产生有很多代码.上一篇介绍了模板引擎jsRender,它可以帮我们快速生 ...

  10. js精确加减乘除

    //加法函数function accAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1 ...