2017 Multi-University Training Contest - 2
HDU 6045
#pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
int t;
int n,x,y;
char a[],b[];
int main()
{
scanf("%d",&t);
for(int i=;i<=t;i++){
scanf("%d %d %d",&n,&x,&y);
scanf("%s",a);
scanf("%s",b);
int res=;
for(int j=;j<n;j++){
if(a[j]==b[j])
res++;
}
if(x+y<=n+res&&abs(x-y)<=n-res)
printf("Not lying\n");
else
printf("Lying\n");
}
return ;
}
HDU 6047
#pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
int n;
ll a[];
ll b[];
ll dp[];
int main()
{
while(scanf("%d",&n)!=EOF){
for(int i=;i<=n;i++)
scanf("%lld",&a[i]);
for(int i=;i<=n;i++)
scanf("%lld",&b[i]);
sort(b+,b++n);
dp[n+]=;
for(int i=n;i>=;i--)
dp[i]=max(dp[i+],a[i]-i);
ll ans=;
ll now=;
for(int i=n+;i<=*n;i++){
ll zha=max(dp[b[i-n]],now);
ans+=zha;
ans%=mod;
now=max(now,zha-i);
}
printf("%lld\n",ans);
}
return ;
}
HDU 6049
#include <iostream>
#include <cstdio>
using namespace std;
const int N=;
int f[N][N],minN[N][N],maxN[N][N],last[N];
int n,a[N];
void work()
{
int i,j,k,ii,jj;
for (i=; i<=n; i++)
{
f[i][i]=;
last[i]=i;
minN[i][i]=maxN[i][i]=a[i];
for(j=i+; j<=n; j++)
{
minN[i][j]=min(minN[i][j-],a[j]);
maxN[i][j]=max(maxN[i][j-],a[j]);
}
}
for(k=; k<=n; k++)
for(i=; i<=n-k+; i++)
{
j=i+k-;
if (maxN[i][j]-minN[i][j]!=j-i)
f[i][j]=;
else
{
if (minN[i][j]<minN[i][last[i]])f[i][j]=;
else
f[i][j]=f[i][last[i]]+f[last[i]+][j];
last[i]=j;
}
}
int ans=f[][n];
for (i=; i<=n; i++)
for (j=i; j<=n; j++)
if (f[i][j]&&(i==||f[][i-]&&minN[][i-]==))
{
jj=maxN[i][j];
if (jj==n||maxN[jj+][n]==n&&f[jj+][n])
for (ii=jj; ii>j; ii--)
if (f[ii][jj]&&minN[ii][jj]==i)
ans=max(ans,f[][i-]+f[j+][ii-]+f[jj+][n]+);
}
cout<<ans<<endl;
}
int main()
{
int T,i,j;
cin>>T;
for (i=; i<=T; i++)
{
cin>>n;
for (j=; j<=n; j++)cin>>a[j];
work();
}
return ;
}
HDU 6055
#pragma comment(linker, "/STACK:102400000,102400000")
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <map>
#include <set>
#include <queue>
#include <bitset>
#include <string>
#include <complex>
#define ll long long
#define mod 1000000007
using namespace std;
int n;
struct node
{
int x,y;
} N[];
int mp[][];
int main()
{ while(scanf("%d",&n)!=EOF)
{
memset(mp,,sizeof(mp));
for(int i=; i<=n; i++)
{
scanf("%d %d",&N[i].x,&N[i].y);
mp[N[i].x+][N[i].y+]=;
}
int ans=;
for(int i=; i<=n; i++){
for(int j=; j<=n; j++){
if(i==j)
continue;
int x,y,xx,yy;
x=N[i].x;y=N[i].y;
xx=N[j].x;yy=N[j].y;
int x1,y1,x2,y2;
int x3,y3,x4,y4;
if((x>=xx&&y>yy)){
x1=xx+abs(y-yy)+abs(x-xx);
y1=y-abs(x-xx);
x2=xx+abs(y-yy);
y2=yy-abs(x-xx);
x3=x-abs(y-yy);
y3=y+abs(x-xx);
x4=x-abs(y-yy)-abs(x-xx);
y4=yy+abs(x-xx);
if(x1+>=&&y1+>=&&x2+>=&&y2+>=&&mp[x1+][y1+]&&mp[x2+][y2+]){
ans++;
}
if(x3+>=&&y3+>=&&x4+>=&&y4+>=&&mp[x3+][y3+]&&mp[x4+][y4+]){
ans++;
}
}
}
}
printf("%d\n",ans/);
}
return ;
}
2017 Multi-University Training Contest - 2的更多相关文章
- 2017 Wuhan University Programming Contest (Online Round) Lost in WHU 矩阵快速幂 一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开。
/** 题目:Lost in WHU 链接:https://oj.ejq.me/problem/26 题意:一个无向图,求从1出发到达n最多经过T条边的方法数,边可以重复经过,到达n之后不可以再离开. ...
- 2017 Wuhan University Programming Contest (Online Round) C. Divide by Six 分析+模拟
/** 题目:C. Divide by Six 链接:https://oj.ejq.me/problem/24 题意:给定一个数,这个数位数达到1e5,可能存在前导0.问为了使这个数是6的倍数,且没有 ...
- 2017 Wuhan University Programming Contest (Online Round) B Color 树形dp求染色方法数
/** 题目:Color 链接:https://oj.ejq.me/problem/23 题意:给定一颗树,将树上的点最多染成m种颜色,有些节点不可以染成某些颜色.相邻节点颜色不同.求染色方法数. 思 ...
- 2017 Wuhan University Programming Contest (Online Round) D. Events,线段树区间更新+最值查询!
D. Events 线段树区间更新查询区间历史最小值,看似很简单的题意写了两天才写出来. 题意:n个数,Q次操作,每次操作对一个区间[l,r]的数同时加上C,然后输出这段区间的历史最小值. 思路:在线 ...
- 2017 Multi-University Training Contest - Team 9 1005&&HDU 6165 FFF at Valentine【强联通缩点+拓扑排序】
FFF at Valentine Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 2017 Multi-University Training Contest - Team 9 1004&&HDU 6164 Dying Light【数学+模拟】
Dying Light Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tot ...
- 2017 Multi-University Training Contest - Team 9 1003&&HDU 6163 CSGO【计算几何】
CSGO Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- 2017 Multi-University Training Contest - Team 9 1002&&HDU 6162 Ch’s gift【树链部分+线段树】
Ch’s gift Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- 2017 Multi-University Training Contest - Team 9 1001&&HDU 6161 Big binary tree【树形dp+hash】
Big binary tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 2017 Multi-University Training Contest - Team 1 1003&&HDU 6035 Colorful Tree【树形dp】
Colorful Tree Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
随机推荐
- Nginx内容缓存
本节介绍如何启用和配置从代理服务器接收的响应的缓存.主要涉及以下内容 - 缓存介绍 启用响应缓存 涉及缓存的NGINX进程 指定要缓存的请求 限制或绕过缓存 从缓存中清除内容 配置缓存清除 发送清除命 ...
- java使用jacob将office文档转换为PDF格式
jacob 包下载地址: http://sourceforge.net/projects/jacob-project/ 下载后,将jacob 与 jacob-1.19-x64.dll放到安装jdk目录 ...
- scrapy+selenium+chromedriver解析动态渲染页面
背景:动态页面是页面是通过js代码渲染出来的,无法直接使用scrapy爬虫,这是就需要先把js代码转为静态的html,再用scrapy爬虫就可以解决 解决办法:增加SeleniumMiddleware ...
- Alpha版发布 - 感谢有你们
在本次alpha开发的过程中,很感谢组长王航对我信任,让我统筹大家的工作任务和进度,使我对项目管理有了深刻的理解. 我也要感谢邹双黛,因为我以前很少做文字类的工作,写东西非常生硬,邹双黛即使在有做家教 ...
- .net web 应用程序C#
简介 开发环境:VS2015 ASP.NET:可以开发出几乎所有运行在Windows上的应用程序:.NET是一种架构,一种新的API:引入程序集代替DLL: ADO.NET:一组.NET组件提供对数据 ...
- c# 窗体与窗体外的文件互动(拖拽)
大部分控件都有此事件drag相关. 以picturebox为例: pictureBox1.AllowDrop = true;//此属性需要全打出来,不会自动识别添加 private void pict ...
- c# 免费版pdf转word尝试
链接:https://pan.baidu.com/s/1Dwuezo6YGe9CdlSyrwQyNg 密码:c81a 1.安装此程序 2.在安装文件的bin下拷贝dll: 3.代码引用 private ...
- 01—为什么使用java
Java解决的问题 1.指针问题 java里面没有指针,用引用解决指针问题,但是引用是一种限制的指针,不能参与整数运行和指向任意位置的内存,并且不用显示回收对象 引用地址:http://blog.cs ...
- 软工实践-Alpha 冲刺 (7/10)
队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 已经解决登录注册等基本功能的界面. 完成非功能的主界面制作 ...
- Floyd算法(原理|代码实现)
http://www.cnblogs.com/twjcnblog/archive/2011/09/07/2170306.html 正如我们所知道的,Floyd算法用于求最短路径.Floyd算法可以说是 ...