这场比赛可以说是灰常的水了,涨信心场??

今下午义务劳动,去拿着锄头发了将近一小时呆,发现自己实在是干不了什么,就跑到实验室打比赛了~

之前的比赛补题补了这么久连一场完整的都没补完,结果这场比完后一小时连题解都出来了···

A-烤肉拌饭 ( uva 572)

就是求联通块的数量啊,刚学dfs的时候做的那种!

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <queue> using namespace std;
const int maxn=+;
const int dx[]={,-,,-,,-,,};
const int dy[]={,,,,-,-,,-};
char G[maxn][maxn];
int vis[maxn][maxn];
int n,m;
int ans;
void dfs(int x,int y){
vis[x][y]=;
for(int i=;i<;i++){
int nx=x+dx[i];
int ny=y+dy[i];
if(nx>=&&nx<=n&&ny>=&&ny<=m&&G[nx][ny]=='@'&&!vis[nx][ny]){
dfs(nx,ny);
}
}
return ;
}
int main(){
while(scanf("%d%d",&n,&m)&&n&&m){
memset(vis,,sizeof(vis));
ans=;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
scanf(" %c",&G[i][j]);
}
}
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
if(!vis[i][j]&&G[i][j]=='@'){
ans++;
dfs(i,j);
}
}
}
cout<<ans<<endl;
}
return ;
}
 
 

B-麻辣香锅 HihoCoder - 1632

模拟,emmm模拟可以提高代码能力??

C-啵啵鱼 poj2387

是个很裸的最短路,一个spfa或者dijsktra就可以

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <queue> using namespace std;
const int maxn=+;
const int maxm=+;
const int INF=;
typedef long long LL;
int head[maxn],Next[maxm],to[maxm];
LL val[maxm];
int sz;
int n,m;
void add_edge(int a,int b,LL w){
++sz;
val[sz]=w;
to[sz]=b;
Next[sz]=head[a];
head[a]=sz;
}
LL d[maxn];
int spfa(int s){
for(int i=;i<=n;i++)d[i]=INF;
int vis[maxn];
memset(vis,,sizeof(vis));
queue<int>q;
q.push(s);
vis[s]=;
d[s]=;
while(!q.empty()){
int u=q.front();q.pop();vis[u]=;
for(int i=head[u];i;i=Next[i]){
int v=to[i];
if(d[v]>d[u]+val[i]){
d[v]=d[u]+val[i];
if(!vis[v]){
vis[v]=;
q.push(v);
}
}
}
}
return d[];
}
int main(){
sz=;
memset(head,,sizeof(head));
scanf("%d%d",&m,&n);
int a,b;LL c;
for(int i=;i<=m;i++){
scanf("%d %d%lld",&a,&b,&c);
// cout<<a<<" "<<b<<" "<<c<<endl;
add_edge(a,b,c);
add_edge(b,a,c);
}
cout<<spfa(n);
return ;
}

D-海底捞 POJ2236

卢老师一句话点醒梦中人,直接并查集就可以~

 #include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
const int maxn=+;
int n,d;
int a,b;
char c;
int p[maxn],vis[maxn];
struct Node{
int x,y;
}node[maxn];
int find(int x){
return p[x]==x?x:p[x]=find(p[x]);
}
bool dist(Node A,Node B){
if((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)<=d*d)
return true;
return false;
}
int main(){
scanf("%d%d",&n,&d);
for(int i=;i<=n;i++){
scanf("%d%d",&node[i].x,&node[i].y);
}
for(int i=;i<=n;i++)p[i]=i;
while(scanf(" %c",&c)!=EOF){
if(c=='O'){
scanf("%d",&a);
vis[a]=;
for(int i=;i<=n;i++){
if(vis[i]&&i!=a&&dist(node[a],node[i])){
// cout<<a<<"-->"<<i<<endl;
int x=find(a),y=find(i);
if(x!=y)p[x]=y;
}
}
}
if(c=='S'){
scanf("%d%d",&a,&b);
int x=find(a),y=find(b);
//cout<<":"<<x<<y<<endl;
if(x==y){
printf("SUCCESS\n");
}else{
printf("FAIL\n");
}
}
}
return ;
}

E-黄焖鸡 uva10054

这个题以前做过,欧拉回路,注意打印的时候逆序输出

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <queue> using namespace std;
const int maxn=+; int T;
int G[maxn][maxn];
int n;
int deg[maxn];
int a,b;
int M;
int p[maxn];
int find(int x){
return p[x]==x?x:find(p[x]);
}
void dfs(int u){
for(int i=;i<=M;i++){
if(G[u][i]){
G[u][i]--;
G[i][u]--;
dfs(i);
cout<<i<<" "<<u<<endl;
}
}
return;
}
int main(){
scanf("%d",&T);
for(int t=;t<=T;t++){
if(t!=)cout<<""<<endl;
memset(G,,sizeof(G));
memset(deg,,sizeof(deg));
printf("Case #%d\n",t);
M=-;
scanf("%d",&n);
for(int i=;i<=;i++)p[i]=i;
for(int i=;i<=n;i++){
scanf("%d%d",&a,&b);
M=max(M,max(a,b));
G[a][b]++;
G[b][a]++;
deg[a]++;
deg[b]++;
int x=find(a),y=find(b);
if(x!=y)p[x]=y; }
bool judge=;
for(int i=;i<=M;i++){
if(deg[i]){
if(find(i)!=find(M)||deg[i]%){
judge=;
break;
}
}
}
if(!judge){
cout<<"some beads may be lost"<<endl;
}else{
for(int i=;i<=M;i++)
dfs(i);
} }
return ;
}

F- 减肥成功指日可待 hdu2141

用set或者二分。但是set再G++下会MLE必须要选择C++才能AC,雾···

 #include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <set>
#include <vector>
using namespace std;
const int maxn=+;
typedef long long LL;
int A,B,C,s,x;
LL a[maxn],b[maxn],c[maxn];
int kase;
int main(){
while(scanf("%d%d%d",&A,&B,&C)!=EOF){
kase++;
set<LL>S;
printf("Case %d:\n",kase);
for(int i=;i<=A;i++){
scanf("%lld",&a[i]);
}
for(int i=;i<=B;i++){
scanf("%lld",&b[i]);
}
for(int i=;i<=C;i++){
scanf("%lld",&c[i]);
}
for(int i=;i<=A;i++){
for(int j=;j<=B;j++){
//for(int l=1;l<=C;l++){
LL X=a[i]+b[j];
if(!S.count(X))
S.insert(X);
// }
}
}
scanf("%d",&s);
LL x;
for(int i=;i<=s;i++){
scanf("%lld",&x);
bool ok=;
for(int i=;i<=C;i++){
LL pos=x-c[i];
//if(pos<0)continue;
if(S.count(pos)){
ok=;
break;
}
}
//if(S.count(x))cout<<"YES"<<endl;
if(ok)cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
return ;
}

2018 Spring Single Training B (uva 572,HihoCoder 1632,POJ 2387,POJ 2236,UVA 10054,HDU 2141)的更多相关文章

  1. UVA 572 Oil Deposits油田(DFS求连通块)

    UVA 572     DFS(floodfill)  用DFS求连通块 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format: ...

  2. UVA 572 -- Oil Deposits(DFS求连通块+种子填充算法)

    UVA 572 -- Oil Deposits(DFS求连通块) 图也有DFS和BFS遍历,由于DFS更好写,所以一般用DFS寻找连通块. 下述代码用一个二重循环来找到当前格子的相邻8个格子,也可用常 ...

  3. 我的spring cloud项目历程(2018.3~2018.9)

    前言 今天是9月17日,趁着山竹的临幸,得以在家里舒适的办公.项目从3月底开始,至今刚好半年.抽几十分钟,总结下半年的历程.对后面的项目,应该也有一点帮助吧. 学习前的七个问题 项目开始前,由于某些特 ...

  4. 2018 Multi-University Training Contest 10 CSGO(HDU - 6435)(最远曼哈顿距离)

    有 n 种主武器,m 种副武器.每种武器有一个基础分数k种属性值 X[i] . 选出一种主武器 mw 和一种副武器 sw,使得两种武器的分数和 + 每个属性的差值尽量大.(参考下面的式子) 多维的最远 ...

  5. Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解

    一.控制器定义 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含多个Action(动作. ...

  6. Spring MVC 学习总结(一)——MVC概要与环境配置

    一.MVC概要 MVC是模型(Model).视图(View).控制器(Controller)的简写,是一种软件设计规范,用一种将业务逻辑.数据.显示分离的方法组织代码,MVC主要作用是降低了视图与业务 ...

  7. 2015年11月30日 spring初级知识讲解(一)装配Bean

    序,Spring的依赖注入是学习spring的基础.IOC为控制反转,意思是需要的时候就由spring生成一个,而不是先生成再使用. 写在前面 Spring提供面向接口编程,面向接口编程与依赖注入协作 ...

  8. Spring常见面试问题 (转)

    Spring 1. Spring工作机制及为什么要用?Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.Spring既是一个AOP框架,也是一IOC容器.SpringFramew ...

  9. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)

    很多时候前端都需要调用后台服务实现交互功能,常见的数据交换格式多是JSON或XML,这里主要讲解Spring MVC为前端提供JSON格式的数据并实现与前台交互.RESTful则是一种软件架构风格.设 ...

随机推荐

  1. asp.net 禁止回车输入

    //只在输入框禁止输入回车 if(event.keyCode==13&&event.srcElement.type=="textarea")    {        ...

  2. Python 安装 pip package

    Python的 package 站点提供的msi安装越来越少了,如今大多是.whl或.tar.gz格式.对某些用windows的小白(比如,我)来说,对.tar.gz闻所未闻,也纠结了很长时间.whl ...

  3. ORM版,学生信息管理单表查询..

    mysql 建学生表及课程表 添加内容 view.py from django.shortcuts import render,HttpResponse,redirect from . import ...

  4. 正则,re模块

    一.正则表达式(精准匹配) 匹配字符串内容的一种规则 二.字符组 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 常见字符组格式如下:[0123456789],[0-9],[ ...

  5. iPhone图片拉伸:resizableImageWithCapInsets

    1 [[UIImage imageNamed:@"button_textured_30"] resizableImageWithCapInsets:UIEdgeInsetsMake ...

  6. ARP表 MAC表 路由表

    ARP表是一个动态表,存储在计算机当中,目的是做一个ip地址与mac地址的对应.假设在同一子网段,计算机A与计算机B通信计算机A的ip地址192.168.0.1 MAC地址AA-AA-AA-AA-AA ...

  7. MySQL删除数据库

    drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库: mysql> drop database xhkdb ...

  8. 执行 rails server 报错 Could not find a JavaScript runtime

    修改第15行 # gem 'therubyracer', platforms: :ruby 去掉注释 执行 bundle install

  9. setTimeout传参

    unction test(s) { alert(s); } window.setTimeout(function(){test('str');},1000); 这样就可以了...为什么是这样呢.因为s ...

  10. 华为公司内部培训资料_介绍RTSP的消息、信令等

    https://wenku.baidu.com/view/b10415dabd64783e08122b9c.html