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 ...
随机推荐
- RHCE6.0上午的考试一键完成
#!/sbin/bash # #initial envirment #variable define IPADDR=192.168.0.12 NETMASK=255.255.255.0 HOSTNAM ...
- kubernetes nfs-client-provisioner外部存储控制器
介绍: nfs-client-provisione是一个专门用于NFS外部目录挂载的控制器,当多个副本创建时,他们的命名方式如下: pv provisioned as ${namespace}-${p ...
- 使用appcmd命令创建iis站点及应用程序池
参考文章:iis7 appcmd的基础命令及简单用法 验证环境:Windows 7 IIS7 AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下, ...
- Python 函数内省
函数内省(function introspection) 除了__doc__属性, 函数对象还有很多属性,对于下面的函数,可以使用dir()查看函数具有的属性: def factorial(n): r ...
- Controller控制器
控制器概述 上接应用(北向),下接设备(南向),左右扩展(东西接口). 谁掌控了控制器,或者制定了标准,就掌握了SDN. 南向功能:通过Openflow等南向接口技术,对网络设备进行管控,例如拓扑发现 ...
- 0429团队项目-Scrum团队成立
Scrum团队成立 团队名称:开拓者 团队目标:努力让每一个小伙伴在学会走路的基础上学会跑. 团队口号:我们要的只是这片天而已. 团队照:正面照+背影照(那就是为什么组名叫开拓者) 5.2 角色分配 ...
- lintcode-391-数飞机
391-数飞机 给出飞机的起飞和降落时间的列表,用 interval 序列表示. 请计算出天上同时最多有多少架飞机? 注意事项 如果多架飞机降落和起飞在同一时刻,我们认为降落有优先权. 样例 对于每架 ...
- oracle和DB2的差异
1.简介 当今IT的环境正经历着剧烈的变化,依靠单一的关系型数据库管理系统(RDBMS)管理数据的公司开始逐渐减少.分析家的报告指出 ,今天超过90%的公司都拥有不只一种RDBMS.在现在紧张的经济情 ...
- Scala快速入门-函数组合
compose&andThen 两个函数组装为一个函数,compose和andThen相反 def f(test: String):String = { "f(" + te ...
- 201621123037 《Java程序设计》第10周学习总结
作业10-异常 标签(空格分隔): Java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7 ...