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

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

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

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. BZOJ - 3622:已经没有什么好害怕的了 (广义容斥)

    [BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...

  2. bzoj 1226 学校食堂Dining

    Written with StackEdit. Description 小\(F\) 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜 ...

  3. PL/SQL Developer 建立远程连接数据库的配置 和安装包+汉化包+注册机

    PL/SQL Developer ,主要是讲一下如何配置PL/SQL Developer ,连接Oracle数据库. [知识点] 1.PL/SQL Developer 是什么? PL/SQL Deve ...

  4. html页面中如何设置当光标移到一个固定区域时其形状变成手型,移出时恢复

    在除了IE6的情况下,可以通过CSS的:hover伪类来实现: 假如你想设定的固定区域为:<div id="test"></div>,那么只需要在CSS样式 ...

  5. SharedPreference作用及数据操作模式

    SharedPreference是Android平台上的一个轻量级的存储类,用来保存应用的一些常用配制,比如Activity状态,Activtiy暂停,将此Activity的状态保存到SharedPr ...

  6. 圆方树总结 [uoj30]Tourists

    圆方树总结 所谓圆方树就是把一张图变成一棵树. 怎么变啊qaq 这里盗一张图 简单来说就是给每一个点双新建一个点,然后连向这个点双中的每一个点.特殊的,把两个点互相连通的也视作一个点双. 我们把原来就 ...

  7. gatsbyjs 使用

    1. 安装 npm install --global gatsby-cli 2. 使用 // 创建项目 gatsby new dalong cd dalong // 启动 gatsby develop ...

  8. 微软发布WCF教程及大量示例

    继前面 微软公司发布Windows Communication Foundation (WCF)和Windows CardSpace的示例程序之后,微软今天又发布了WF的教程和大量示例,对于学习WF的 ...

  9. IronPython之基本类型

    通过下图展现IronPython的基本类型,便于理解和记忆. 基本数据类型 数据类型 类型 示例 备注 Byte string str ‘hello’ “hello” “””hello””” ‘’’h ...

  10. 给System.Timer类的Elapsed事件加锁

    背景: 最近在做一个项目,程序是命令行程序,在主程序中开一个线程,这个线程用到了System.Timer类的Elapsed事件,根据指定时间间隔循环去查询数据库,找符合条件的记录,把记录组织成xml对 ...