A:水.看0多还是1多就行

B:模拟二进制运算 ,,卡了好久 不应该

#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
string a,b,c;
int num[][];
int will[][];
int alen;
int blen;
int clen;
void print()
{
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
}
void init()
{
for(int i=;i<=alen;i++)
num[][i]=a[alen-i]-'';
for(int i=;i<=blen;i++)
num[][i]=b[blen-i]-'';
for(int i=;i<=clen;i++)
num[][i]=c[clen-i]-'';
}
int doit(int a,int b,int c)
{
int ans1;
int ans2=;
int flag=;
for(int i=;i<=;i++)
{
ans1=num[a][i]+num[b][i]+ans2;
ans2=ans1/;
ans1%=;
if(ans1!=num[c][i])
{
flag=;
break;
}
}
return flag;
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
cin >> a >> b >> c;
alen=a.size();
blen=b.size();
clen=c.size();
for(int i=;i<=;i++)
mem(num[i],);
init();
//print();
int flag=;
for(int i=;i<=;i++)
for(int j=;j<=;j++)
for(int w=;w<=;w++)
{
//cout<<i<<j<<w<<":";
//cout<<doit(i,j,w)<<endl;
if(doit(i,j,w)==)
{
flag=;
}
}
if(flag==)
cout<<"YES";
else
cout<<"NO";
return ;
}

E:按照要求模拟 计算不符合题中要求的个数

#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
int table[][];
int num[][];//
int ans[];
void doit(int x)
{
for(int i=;i<=;i++)
ans[i]=num[x][i];
}
int check1(int x)
{
for(int i=;i<=;i++)
for(int j=;j<=;j++)
{
doit(x);
if(ans[i]==j)
continue;
ans[i]=j;
table[table[table[ans[]][ans[]]][ans[]]][ans[]]
if(anser==)
return ;
}
return ;
}
int check2(int x)
{
for(int i=;i<=;i++)
{
doit(x);
if(ans[i]==ans[i+])
continue;
swap(ans[i],ans[i+]);
table[table[table[ans[]][ans[]]][ans[]]][ans[]]
if(anser==)
return ;
}
return ;
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
for(int i=;i<;i++)
for(int j=;j<;j++)
cin>>table[i][j];
for(int i=;i<;i++)
{
int now=i;
for(int j=;j>;j--)
{
num[i][j]=now%;
now/=;
}
for(int j=;j<=;j++)
ans[j]=num[i][j];
for(int j=;j<=;j++)
{
ans[j]=table[ans[j-]][ans[j]];
}
num[i][]=ans[];
}
/*for(int i=1;i<=5;i++)
cout<<num[2016][i];
cout<<endl;
for(int j=0;j<=10;j++)
{
for(int i=1;i<=5;i++)
cout<<num[j][i];
cout<<endl;
}*/
int ans=;
for(int i=;i<;i++)
if(check1(i)||check2[i])
ans++;
cout<<ans<<endl;
return ;
}

F:有N行单向流水线和对应的N个仓库 每个机器人有两个值 X Y  其中X表示坐标 Y表示在哪一个流水线下面 要求输出每个仓库能从几个流水线流入

根据题意每个仓库我们给他两个值 一个代表最上边能到达那个仓库 一个代表最下边能到达那个仓库 因为机器人只会连接相邻的两条线 所以保证l到r之间是连续的

再按机器人的坐标进行升序排序 然后依次读入 每次更新机器能碰到的两条线的l与r   (例二很有用)

#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
pair<int,int> robot[];
int ans[][];
bool cmp(pair<int,int> a,pair<int,int> b){return a.first<=b.first;}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
for(int i=;i<=n;i++)
ans[i][]=ans[i][]=i;
for(int i=;i<=m;i++)
{
scanf("%d %d",&robot[i].first,&robot[i].second);
}
sort(robot+,robot++m,cmp);
for(int i=;i<=m;i++)
{
int aim=robot[i].second;
int ans1=min(ans[aim][],ans[aim+][]);
int ans2=max(ans[aim][],ans[aim+][]);
ans[aim][]=ans1;
ans[aim+][]=ans1;
ans[aim][]=ans2;
ans[aim+][]=ans2;
}
for(int i=;i<n;i++)
cout<<ans[i][]-ans[i][]+<<" ";
cout<<ans[n][]-ans[n][]+<<endl;
}
return ;
}

Summer training #6的更多相关文章

  1. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  2. 2016 Multi-University Training Contests

    2016 Multi-University Training Contest 1 2016 Multi-University Training Contest 2 2016 Multi-Univers ...

  3. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  5. ACM: Gym 101047K Training with Phuket's larvae - 思维题

     Gym 101047K Training with Phuket's larvae Time Limit:2000MS     Memory Limit:65536KB     64bit IO F ...

  6. The Solution of UESTC 2016 Summer Training #1 Div.2 Problem C

    Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/C Description standard input/output After ...

  7. 2012 Multi-University Training Contest 9 / hdu4389

    2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...

  8. 2014 Multi-University Training Contest 9#11

    2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others)   ...

  9. 2014 Multi-University Training Contest 9#6

    2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...

  10. 2016 Multi-University Training Contest 1

    8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...

随机推荐

  1. 鸟哥私房菜基础篇:磁碟配额(Quota)与进阶文件系统管理习题

    猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0420quota.php 1-在前一章的第一个大量新增帐号范例中, 如果我想要让每个用户均具有 soft ...

  2. SpringBoot + thymeleaf 实现分页

    SpringBoot结合Thymeleaf实现分页,很方便. 效果如下 后台代码 项目结构 1. 数据库Config 由于hibernate自动建表字符集为latin不能插入中文,故需要在applic ...

  3. LeetCode刷题7——数字的补数

    一.要求 补数可以直接通过异或运算进行. 二.背景 最近工作中位运算遇到一个问题,温度有正负两种表示,而且还有小数点.例如用四个16进制字节表示,XXXX,其中第一位是占位符,中间两三位为温度的有效值 ...

  4. POJ2411 Mondriaan's Dream 【状压dp】

    没错,这道题又是我从LZL里的博客里剽过来的,他的题真不错,真香. 题目链接:http://poj.org/problem?id=2411 题目大意:给一个n * m的矩形, 要求用 1 * 2的小方 ...

  5. Hive_解析 get_json_object ( )

    Hive_解析 get_json_object ( )   get_json_object ( string json_string, string path ) 说明:  第一个参数填写json对象 ...

  6. 数据去重 -uniq

    也是经常和管道 一起操作的. -c  每行出现的次数 -d  仅仅显示重复行 -u  仅仅显示不重复行 -i  忽略大小写 注: 在对字母进行去重的时候, 一定要先对文件进行排序之后,去重的功能才可以 ...

  7. 一文搞懂 Java 中的枚举,写得非常好!

    知识点 概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, ...

  8. GCD和LCM

    GCD _ LCM 是给你两个数A B 的最大公约数, 以及最小公倍数 the greatest common divisor and the least common multiply ! 最大公约 ...

  9. Mysql 三大特性详解

    Mysql 三大特性详解 Mysql Innodb后台线程 工作方式 首先Mysql进程模型是单进程多线程的.所以我们通过ps查找mysqld进程是只有一个. 体系架构 InnoDB存储引擎的架构如下 ...

  10. 清除vs2005、vs2008起始页最近打开项目

    有时候vs2005起始最近打开项目过多很想清除掉,但打遍了也没找到清除选项在哪里,今天找到了方法,发上来和大家共享. 方法一手工操作方法:1)删除最近打开的文件运行regedit,打开HKEY_CUR ...