题解见:http://ecustacm.cn/contest/11/announcements

A

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
int a[maxn],ans; char c[maxn];
int main()
{
int T,N,A,B,C,D,Ca=;
scanf("%d",&T);
while(T--){
scanf("%s",c+); N=strlen(c+);
A=B=C=D=;
rep(i,,N){
if(c[i]=='') A++;
if(c[i]=='') B++;
if(i<N&&c[i]==''&&c[i+]=='') C++;
if(i<N&&c[i]==''&&c[i+]=='') D++;
}
printf("Case %d: %d %d %d %d\n",++Ca,A,B,C,D);
}
return ;
}

B

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
char c[maxn];
int main()
{
int T,A,B,C,D,Ca=;
scanf("%d",&T);
while(T--){
scanf("%d%d%d%d",&A,&B,&C,&D);
printf("Case %d: ",++Ca);
if(A<C||A<D||B<C||B<D||abs(C-D)>) { puts("-1"); continue;}
if(B==){
rep(i,,A) putchar(''); puts("");
}
else if(A==){
rep(i,,B) putchar(''); puts("");
}
else if(C==D){
int ta=C+,tb=D;
if(A<ta||B<tb){
ta=C,tb=C+;
if(A<ta||B<tb){ puts("-1"); continue;}
putchar('');
rep(i,,C){
putchar('');
if(i==){
rep(j,,A-ta) putchar('');
}
if(i==C){
rep(j,,B-tb) putchar('');
}
putchar('');
}
puts("");
}
else {
rep(i,,A-ta) putchar('');
rep(i,,C) putchar(''),putchar('');
rep(i,,B-tb) putchar('');
putchar('');
puts("");
}
}
else if(C==D+){
int ta=C,tb=C;
if(A<ta||B<tb){ puts("-1"); continue;}
rep(i,,A-ta) putchar('');
rep(i,,C) putchar(''),putchar('');
rep(i,,B-tb) putchar('');
puts("");
}
else if(D==C+){
int ta=D,tb=D;
if(A<ta||B<tb){ puts("-1"); continue;}
//cout<<D<<" "<<A-ta<<" "<<B-tb<<endl;
rep(i,,D){
putchar('');
if(i==) {
rep(j,,A-ta) putchar('');
}
if(i==D) {
rep(j,,B-tb) putchar('');
}
putchar('');
}
puts("");
}
}
return ;
}

C

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
char c[maxn];
struct SAM
{
int ch[maxn][],fa[maxn],maxlen[maxn],cnt,last;
void init()
{
cnt=; last=; memset(ch[],,sizeof(ch[]));
}
void add(int x)
{
int np=++cnt,p=last;
last=np; maxlen[cnt]=maxlen[p]+;
memset(ch[np],,sizeof(ch[np]));
while(p&&!ch[p][x])ch[p][x]=np,p=fa[p];
if(!p) fa[np]=;
else {
int q=ch[p][x];
if(maxlen[q]==maxlen[p]+) fa[np]=q;
else {
int nq=++cnt; maxlen[nq]=maxlen[p]+;
memcpy(ch[nq],ch[q],sizeof(ch[q]));
fa[nq]=fa[q], fa[q]=fa[np]=nq;
while(p&&ch[p][x]==q) ch[p][x]=nq,p=fa[p];
}
}
}
}S;
int q[maxn],pos[maxn],pre[maxn],head;
int fcy,tail,ans[maxn];
int main()
{
int T,N,Ca=;
scanf("%d",&T);
while(T--){
scanf("%d%s",&N,c+);
S.init();
rep(i,,N) S.add(c[i]==''?:);
head=tail=;
q[++head]=; pos[head]=; pre[head]=;
while(tail<head){
int u=q[++tail];
q[++head]=S.ch[u][]; pos[head]=; pre[head]=tail;
if(!S.ch[u][]) {
fcy=head;
break;
}
q[++head]=S.ch[u][]; pos[head]=; pre[head]=tail;
if(!S.ch[u][]) {
fcy=head;
break;
}
}
int tot=;
while(fcy>){
ans[++tot]=pos[fcy];
fcy=pre[fcy];
}
printf("Case %d: %d\n",++Ca,tot);
for(int i=tot;i>=;i--)
putchar(ans[i]?'':'');
puts("");
}
return ;
}

D

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
int main()
{
int T,N,M,Ca=,ans;
scanf("%d",&T);
while(T--){
scanf("%d%d",&N,&M);
ans=max(N,M);
ans=max(ans,(N*M+)/);
if(N>M) swap(N,M);
if(N==) {
int res=M/*;
if(M%==) res+=;
if(M%>=) res+=;
ans=max(ans,res);
}
printf("Case %d: %d\n",++Ca,ans);
}
return ;
}

E

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int maxn=;
bitset<maxn>A,B;
int main()
{
int N,L,R,x,ans; A[]=;
scanf("%d",&N);
rep(i,,N){
scanf("%d%d",&L,&R);
B.reset();
rep(j,L,R){
x=j*j;
B|=(A<<x);
}
A=B;
}
ans=A.count();
printf("%d\n",ans);
return ;
}

F

#include<bits/stdc++.h>
#define rep(i,w,v) for(int i=w;i<=v;i++)
using namespace std;
const int maxn=;
const int maxm=;
int N,M,K,ans,a[maxn][maxn];
int Laxt[maxn],Next[maxm],To[maxm],cnt;
int linke[maxn],vis[maxn];
void add(int u,int v)
{
Next[++cnt]=Laxt[u]; Laxt[u]=cnt;To[cnt]=v;
}
bool find(int u)
{
for(int i=Laxt[u];i;i=Next[i]){
int v=To[i];if(vis[v]) continue;
vis[v]=;
if(!linke[v]||find(linke[v])){
linke[v]=u;
return true;
}
}
return false;
}
bool check(int Mid)
{
int res=; cnt=;
memset(Laxt,,sizeof(Laxt));
memset(linke,,sizeof(linke));
rep(i,,N) rep(j,,M)
if(a[i][j]<=Mid) add(i,j);
rep(i,,N){
memset(vis,,sizeof(vis));
if(find(i)) res++;
}
return res>=K;
}
int main()
{
scanf("%d%d%d",&N,&M,&K); K=N+-K;
rep(i,,N) rep(j,,M) scanf("%d",&a[i][j]);
int L=,R=;
while(L<=R){
int Mid=(L+R)>>;
if(check(Mid)) ans=Mid,R=Mid-;
else L=Mid+;
}
printf("%d\n",ans);
return ;
}

ECUST Div2 训练赛3 (只有代码)的更多相关文章

  1. 10.0.0.55_12-16训练赛部分writeup

    0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...

  2. Contest1592 - 2018-2019赛季多校联合新生训练赛第二场(部分题解)

    Contest1592 - 2018-2019赛季多校联合新生训练赛第二场 D 10248 修建高楼(模拟优化) H 10252 组装玩具(贪心+二分) D 传送门 题干 题目描述 C 市有一条东西走 ...

  3. Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)

    Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...

  4. 7.30 正睿暑期集训营 A班训练赛

    目录 2018.7.30 正睿暑期集训营 A班训练赛 T1 A.蔡老板分果子(Hash) T2 B.蔡老板送外卖(并查集 最小生成树) T3 C.蔡老板学数学(DP NTT) 考试代码 T2 T3 2 ...

  5. HDU6578 2019HDU多校训练赛第一场 1001 (dp)

    HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...

  6. HDU6579 2019HDU多校训练赛第一场1002 (线性基)

    HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...

  7. Liblinear and Libsvm-rank训练数据的bash代码

    Liblinear and Libsvm-rank训练数据的bash代码: for j in "amazon_mp3" "video_surveillance" ...

  8. 2018天梯赛第一次训练题解和ac代码

    随着评讲的进行代码和题解会逐步放上来 2018天梯赛第一次训练 1001 : 进制转换 Time Limit(Common/Java):1000MS/10000MS     Memory Limit: ...

  9. 2018省赛赛第一次训练题解和ac代码

    第一次就去拉了点思维很神奇的CF题目 2018省赛赛第一次训练 # Origin Title     A CodeForces 607A Chain Reaction     B CodeForces ...

随机推荐

  1. nginx反向代理配置相对路径

    需求: 在公司内部搭建了一个php的网站,想用花生壳映射到外网. 一.反向代理解决直接映射不成功问题 直接用把花生壳的"域名+端口"指向此php网站并竟然不生效.但是不加网站名可以 ...

  2. tensorflow之word2vec_basic代码研究

    源代码网址: https://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/examples/tutorials/word2vec/wor ...

  3. ECMAscript5中的map

    今天看到到这样一个问题: ["1", "2", "3"].map(parseInt) 执行结果是什么? 结果是[1,NAN,NAN],很出乎 ...

  4. 利用VisualVm和JMX远程监控Java进程

    自Java 6开始,Java程序启动时都会在JVM内部启动一个JMX agent,JMX agent会启动一个MBean server组件,把MBeans(Java平台标准的MBean + 你自己创建 ...

  5. Python Django 之 直接执行自定义SQL语句(二)

    转载自:https://my.oschina.net/liuyuantao/blog/712189 一般来说,最好用 Django 自带的模型来实现这些操作.这里仅仅只是为了学习使用原始 SQL 而做 ...

  6. nginx在linux上的安装与配置详解(一)

    Nginx的安装与配置详解 (1)nginx简介     nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...

  7. centos7 新装系统网络配置

    [root@localhost ~]# cat /etc/sysconfig/grub GRUB_TIMEOUT= GRUB_DISTRIBUTOR="$(sed 's, release . ...

  8. Centos7安装配置iptable

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  9. centos7 rocketmq 4.2.0

    参考: http://rocketmq.apache.org/docs/quick-start/ 1.环境64bit OS, Linux/Unix/Mac is recommended;64bit J ...

  10. Vim 文件配置

    cat ~/.vimrc syntax on set nu set encoding=utf-8 set ts=4 set fileencodings=ucs-bom,utf-8,cp936 set ...