滑稽的题

T1

#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<ctime>
using namespace std;
int n;
int a,b,x;
int main()
{
// freopen("book.in","r",stdin);
// freopen("bok.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&x);
if(x==)
{
a++;
continue;
}
if(x==)
{
if(a)
{
a--;
b++;
continue;
}else
{
printf("No\n");
return ;
}
}
if(x==)
{
if(a&&b)
{
a--;
b--;
continue;
}
if(a>=&&(!b))
{
a-=;
continue;
}
printf("No\n");
return ;
}
}
printf("YES\n");
return ;
}

50

奇怪我手动测得都对,而且超时也不太可能吧。? 待解决。

模拟白

T2

#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<ctime>
using namespace std;
const int N=1e6+;
int n,m;
int sum[N],a[N];
bool is[N];
int main()//又来模拟?
{
freopen("program.in","r",stdin);
freopen("program.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(int i=,x;i<=m;i++)
{
scanf("%d",&x);
is[x]=;
}
for(int i=;i<=n;i++)
{
if(is[i]) sum[a[i]]--;
else
sum[a[i]]++;
if(sum[a[i]]<)
{
printf("NO\n");
return ;
}
}
for(int i=;i<=n;i++)
{
if(sum[i]<||(sum[i]%))
{
printf("NO\n");
return ;
}
sum[i]/=;
}
for(int i=n;i>=;i--)
if(!is[i])//要不是掉下这一步我就可能A了。
{
if(sum[a[i]])
{
is[i]=;
sum[a[i]]--;
}
}
for(int i=;i<=n;i++)
{
if(is[i])
printf("-%d ",a[i]);
else
printf("+%d ",a[i]);
}
return ;
}

括号翻转,站。

区间dp。

但我觉得,模拟就ok。

T3

#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<ctime>
using namespace std;
const int N=;
int h[N],nex[N*],to[N*],w[N*],cnt;
int n,m,q;
int x,y,z;
void add()
{
scanf("%d%d%d",&x,&y,&z);
to[++cnt]=y,nex[cnt]=h[x],h[x]=cnt,w[cnt]=z;
to[++cnt]=x,nex[cnt]=h[y],h[y]=cnt,w[cnt]=z;
}
int kid[N][];
bool vis[N];
int A,B,flag;
void dfs(int x)
{
if(x==B)
{
bool is=;
for(int i=;i<=;i++)
{
if(kid[i][]&&(!kid[i][]))
is=;
if(kid[i][]&&(!kid[i][]))
is=;
if(abs(kid[i][]-kid[i][])%)
is=;
}
if(is) flag=;
return ;
}
for(int i=h[x],v;i;i=nex[i])
if(!vis[to[i]])
{
vis[to[i]]=;
if(w[i]>)
kid[w[i]][]++;
else kid[-w[i]][]++;
dfs(to[i]);
vis[to[i]]=;
if(w[i]>)
kid[w[i]][]--;
else kid[-w[i]][]--;
}
}
int main()
{
freopen("maze.in","r",stdin);
freopen("maze.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
add();
scanf("%d",&q);
for(int i=;i<=q;i++)
{
scanf("%d%d",&A,&B);
flag=;
vis[A]=;
dfs(A);
if(flag) printf("YES\n");
else printf("NO\n");
}
return ;
}

first 25

预处理Floyed  dp

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
using namespace std;
int n,m;
int g[][][],q[**][],t,x,y,z;
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
if(!z)
{
if(z<) z=-z;
else z+=;
g[x][y][z]=g[y][x][z]=;
}else
{
g[x][y][z]=g[y][x][z]=;
t++;q[t][]=x,q[t][]=y,q[t][]=;
t++;q[t][]=y,q[t][]=x,q[t][]=;
}
}
for(int i=;i<=n;i++)
{
t++;
q[t][]=i;
q[t][]=i;
q[t][]=;
}
for(int s=;s<=t;s++)
{
int x=q[s][];
int y=q[s][];
int kid=q[s][];
if(!kid)
for(int i=;i<=n;i++)
if(g[i][x][kid-]==&&g[i][y]==)
{
g[i][y][]=;
t++;
q[t][]=i;
q[t][]=y;
q[t][]=;
}
else
for(int i=;i<=;i++)
{
if(g[i][x]&&(!g[i][y]))
{
g[i][y]=;
t++;
q[t][]=i;
q[t][]=y;
q[t][]=;
}
if(g[y][i]&&(!g[x][i]))
{
g[x][i]=;
t++;
q[t][]=x;
q[t][]=i;
q[t][]=;
}
for(int j=;j<=;j++)
if(g[y][i][j]&&(!g[x][i][j+]))
{
g[x][i][j+]=;
t++;
q[t][]=x;
q[t][]=i;
q[t][]=j+;
}
}
}
int q;
scanf("%d",&q);
while(q--)
{
scanf("%d%d",&x,&y);
if(g[x][y][])
printf("YES\n");
else printf("NO\n"); }
return ;
}

dp

最新文章

  1. 如何申请https证书、搭建https网站
  2. [Asp.net MVC]Asp.net MVC5系列——第一个项目
  3. Android -- 编辑框更改样式
  4. android 开发 获取各种intent (图片、apk文件、excel、pdf等文件)
  5. Fitnesse用系列三
  6. CodeForces 687C The Values You Can Make
  7. eclipse jsp html 格式化 format
  8. CAReplicatorLayer复制Layer和动画, 实现神奇的效果
  9. 如何实现php字符串翻转?
  10. ubuntu下使用 chkconfig 是一种习惯
  11. ZOJ3508 The War 贪心,最大流
  12. python运算符优先级问题
  13. java中关于&amp;、&amp;&amp;、|、||之间的区别和运算
  14. DrawerLayout实现网易新闻抽屉效果
  15. MacBook PyCharm激活码(附视频)
  16. html-有趣的标签-会移动的文字
  17. 基于redis的分布式锁实现
  18. 如何在vscode中调试python scrapy爬虫
  19. 产品激活 比如Windows激活 , office激活 等激活的原理是什么? KMS等激活工具安全吗?
  20. Oracle EBS INV更新保留

热门文章

  1. c# 大文件分割 复制 Filestream 进度条
  2. mybatis、Spring整合(eclipse)以及事务管理
  3. Go语言技术教程:Redis介绍安装和使用
  4. 洛谷P4457/loj#2513 [BJOI2018]治疗之雨(高斯消元+概率期望)
  5. UVA11270 Tiling Dominoes
  6. P1630 求和
  7. JS基础学习四:绑定事件
  8. tomcat启动优化
  9. Qt 学习之路 2(7):MainWindow 简介
  10. H5切换至后台页面