A:

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-6
#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 num[][];//+ 1 - 2 * 3 / 4
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int n;
string a;
int ans=;
cin >> n;
int now;
for(int i=;i<=n;i++)
{
cin >> a >> now;
num[i][]=now;
if(a[]=='A')
num[i][]=;
if(a[]=='S')
num[i][]=;
if(a[]=='M')
num[i][]=;
if(a[]=='D')
num[i][]=;
}
for(int i=;i<=;i++)
{
int cur=i;
for(int j=;j<=n;j++)
{
if(num[j][]==)
{
cur+=num[j][];
}
if(num[j][]==)
{
cur-=num[j][];
if(cur<)
{
ans++;
break;
}
}
if(num[j][]==)
{
cur*=num[j][];
}
if(num[j][]==)
{
if(cur%num[j][]!=)
{
ans++;
break;
}
else
cur/=num[j][];
}
}
}
cout<<ans<<endl;
return ;
}

C:水

D:s[i][j]可以向四个方向跳s[i][j]个格子 问能不能从左上角跳到右下角 BFS

#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-6
#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 dir[][];
int m,n;
char s1[][];
int a[][];
int ans[][];
int flag=;
pair<int,int> now;
queue<pair<int,int> > que;
void bfs()
{
for(int i=;i<=;i++)
for(int j=;j<=;j++)
ans[i][j]=2e9;
ans[][]=;
int dx,dy;
while(!que.empty())
{
now=que.front();
que.pop();
int f=now.first;
int s=now.second;
int j=a[f][s];
for(int i=;i<;i++)
{
dx=f+j*dir[i][];
dy=s+dir[i][]*j;
if(dx>=&&dx<=m&&dy>=&&dy<=n&&ans[dx][dy]>ans[f][s]+)
{
ans[dx][dy]=ans[f][s]+;
now.first=dx,now.second=dy;
que.push(now);
}
}
}
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
cin >> m >> n;
dir[][]=-,dir[][]=;
dir[][]=,dir[][]=;
dir[][]=,dir[][]=;
dir[][]=,dir[][]=-;
for(int i=;i<=m;i++)
{
scanf("%s",s1[i]+);
for(int j=;j<=n;j++)
a[i][j]=s1[i][j]-'';
}
/*for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
printf("%d",a[i][j]);
cout<<endl;
}*/
//TS;
now.first=now.second=;
que.push(now);
bfs();
//TS;
if(ans[m][n]==2e9)
cout<<"IMPOSSIBLE"<<endl;
else
cout<<ans[m][n]<<endl;
return ;
}

E:水

F:水

G:水

H:加权区间调度问题 瞎DP

#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-6
#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;
struct wave
{
ll start;
ll w;
ll t;
ll end;
}now[];
bool cmp(wave a,wave b)
{
return a.start>b.start;
}
ll dp[];
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int n;
ll maxn=;
cin >> n;
for(int i=;i<=n;i++)
{
int t;
scanf("%d %d %d",&now[i].start,&now[i].w,&now[i].t);
now[i].end=now[i].t+now[i].start;
maxn=max(maxn,now[i].end);
}
sort(now+,now++n,cmp);
int pop=;
for(int i=;i>=;i--)
{
if(i==now[pop].start)
{
if(i+now[pop].t>)
dp[i]=max(dp[i+],now[pop].w);
else
dp[i]=max(dp[i+],dp[i+now[pop].t]+now[pop].w);
pop++;
}
else
dp[i]=dp[i+];
}
cout<<dp[]<<endl;
return ;
}

J:每个格子的值为其为中心九宫格之和 问最终的值 其实一起都要除九的话就不用除了

#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-6
#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 now[][];
int doit[][];
set<int> ans;
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int m,n,time;
cin >> m >> n >> time;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&now[i][j]);
while(time--)
{
mem(doit,);
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{ for(int x=-;x<=;x++)
{
for(int y=-;y<=;y++)
{
int dx=(n+i+x)%n;
int dy=(m+j+y)%m;
doit[i][j]+=now[dx][dy];
}
}
}
}
for(int i=;i<n;i++)
for(int j=;j<m;j++)
now[i][j]=doit[i][j];
}
for(int i=;i<n;i++)
for(int j=;j<m;j++)
ans.insert(now[i][j]);
cout<<ans.size()<<endl;
return ;
}

K:DFS+回溯 注意!!!每个轮子只能有一个旋转状态 如果发生矛盾了就转不动了!

#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-6
#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 n;
int flag=-;
struct point
{
int x,y,r;
}a[];
vector<int> v[];
int visit[];
int ans=;
int anser;
bool check(point a,point b)
{
int dx=abs(a.x-b.x);
int dy=abs(a.y-b.y);
int dr=a.r+b.r;
if(dx*dx+dy*dy==dr*dr)
return true;
return false;
}
void dfs(int num,int now)
{
if(flag==)
return ;
for(int i=;i<v[num].size();i++)
{
int next=v[num][i];
if(flag==)
return ;
if(visit[next]==-)
{
visit[next]=now;
dfs(next,now^);
}
if(visit[next]!=now)
{
flag=;
return ;
}
}
}
int gcd(int x,int y){return y==?x:gcd(y,x%y);}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
cin >> n;
mem(visit,-);
visit[]=;
for(int i=;i<=n;i++)
{
cin >> a[i].x >> a[i].y >> a[i].r;
}
for(int i=;i<n;i++)
for(int j=i+;j<=n;j++)
{
if(check(a[i],a[j]))
{
v[i].push_back(j);
v[j].push_back(i);
}
}
dfs(,);
if(flag==)
{
cout<<"The input gear cannot move."<<endl;
return ;
}
if(visit[n]==-)
{
cout<<"The input gear is not connected to the output gear."<<endl;
return ;
}
int chu=gcd(a[].r,a[n].r);
if(visit[]!=visit[n])
cout<<"-";
printf("%d:%d\n",a[].r/chu,a[n].r/chu);
return ;
}

Summer training #8的更多相关文章

  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. 了解DrawCall

    一.什么是DrawCall DrawCall的含义就是CPU调用图像编程接口,以命令GPU进行渲染的操作. CPU和GPU通过使用一个命令缓冲区实现并行工作.命令缓冲区包含一个命令队列,CPU向其中添 ...

  2. SpringBoot + thymeleaf 实现分页

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

  3. (转)asp.net mvc 开发环境下需要注意的安全问题(一)

    概述 安全在web领域是一个永远都不会过时的话题,今天我们就来看一看一些在开发ASP.NET MVC应用程序时一些值得我们注意的安全问题.本篇主要包括以下几个内容 : 认证 授权 XSS跨站脚本攻击 ...

  4. Linux配置文件的修改

    在很多时候,我们需要对Linux的配置文件进行修改.此时就涉及到了不同Linux发行版的修改配置问题.下面就以主流的几个操作系统(Unix:Solaris,Linux:Ubuntu,Redhat)作为 ...

  5. activeMQ(2)

    queue与topic的对比  JMS MESSAGE:消息头 消息体 消息属性 DeliveryMode: 消息体: 消息属性:识别  去重  重点标注 //创建会话session 事务.签收 如果 ...

  6. 一篇文章带你了解SQL注入

    什么是SQL注入? 原理: Web应用程序对用户输入的数据校验处理不严或者根本没有校验,致使用户可以拼接执行SQL命令 危害: 注入可能导致数据丢失泄露或数据破坏.缺乏可审计性,有时甚至能导致完全接管 ...

  7. vsftpd下载文件时内容乱码

    windows客户端访问Linux服务端的ftp并下载文档时,内容会出现乱码,这是由于vsftpd文件服务器不支持转码功能 通过java FTPClient下载 方法为 OutputStream is ...

  8. 大数据备忘录———将数据从oracle导入impala中

    上周遇到了将数据从oracle导入到impala的问题,这个项目耽误了我近一周的时间,虽然是种种原因导致的,但是还是做个总结. 需求首先是跑数据,跑数据这个就不叙述,用的是公司的平台. 讲讲耽误我最久 ...

  9. MySQL_bigint(20) 是什么意思?

    MySQL_bigint(20) 是什么意思? MySQL的整型类型有这样几种:   类型 存储空间 M默认值(显示宽度) 数据大小(无符号:unsigned) 描述 1 tinyint(M) 1 t ...

  10. ffmpeg AVFrame结构体及其相关函数

    0. 简介 AVFrame中存储的是原始数据(例如视频的YUV, RGB, 音频的PCM), 此外还包含了一些相关的信息, 例如: 解码的时候存储了宏块类型表, QP表, 运动矢量等数据. 编码的时候 ...