T1 外星人

二维前缀和

#include<cstdio>
#define N 1001
using namespace std;
bool v[N][N];
int sum[N][N];
int main()
{
freopen("alien.in","r",stdin);
freopen("alien.out","w",stdout);
int r,c,p,q;
scanf("%d%d%d%d",&r,&c,&p,&q);
int x,y;
for(int i=;i<=p;i++)
{
scanf("%d%d",&x,&y);
v[x][y]=true;
}
for(int i=;i<=r;i++)
for(int j=;j<=c;j++)
sum[i][j]=sum[i-][j]+sum[i][j-]-sum[i-][j-]+v[i][j];
int ans=;
while(q--)
{
scanf("%d%d",&x,&y);
for(int i=;i<=r;i++)
for(int j=;j<=c;j++)
{
if(i-x>= && j-y>= && sum[i][j]-sum[i-x][j]-sum[i][j-y]+sum[i-x][j-y]==) ans++;
if(x==y) continue;
if(i-y>= && j-x>= && sum[i][j]-sum[i-y][j]-sum[i][j-x]+sum[i-y][j-x]==) ans++;
}
printf("%d\n",ans); ans=;
}
}

T2 游戏

点权*2

边权分别加到两个点上

排序、贪心、两人轮流选当前最大

点权乘了2,边权是自己的乘了2,不是自己的减了去

最后除2就是答案

#include<cstdio>
#include<algorithm>
#include<iostream>
#define N 10001
using namespace std;
int a[N];
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++) scanf("%d",&a[i]),a[i]<<=;
int u,v,w;
while(m--)
{
scanf("%d%d%d",&u,&v,&w);
a[u]+=w; a[v]+=w;
}
sort(a+,a+n+,greater<int>());
int ans=;
for(int i=;i<=n;i+=)
{
ans+=a[i];
ans-=a[i+];
}
printf("%d",ans>>);
}

T3 堡垒

当时改了最后一行的输出,忘了改成啥了

所以就忽略最后一行输出吧

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char move;
int m,n,xx,yy;
int sum,tmp,maxn,big;
int E[][][][],N[][][][];
bool v[][];
void dfs(int x,int y)
{
v[x][y]=true; tmp++;
if(x!= && !N[x][y][x-][y] && !v[x-][y]) dfs(x-,y);
if(y!=m && !E[x][y][x][y+] && !v[x][y+]) dfs(x,y+);
if(x!=n && !N[x+][y][x][y] && !v[x+][y]) dfs(x+,y);
if(y!= && !E[x][y-][x][y] && !v[x][y-]) dfs(x,y-);
}
int main()
{
freopen("fortress.in","r",stdin);
freopen("fortress.out","w",stdout);
int x;
scanf("%d%d",&m,&n);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
scanf("%d",&x);
if(x&(<<))
N[i][j][i-][j]=true;
if(x&(<<))
E[i][j][i][j+]=true;
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(!v[i][j])
{
sum++; tmp=;
dfs(i,j);
maxn=max(maxn,tmp);
}
printf("%d\n%d\n",sum,maxn);
for(int i=n;i>=;i--)
for(int j=;j<=m;j++)
{
if(i!= && N[i][j][i-][j])
{
memset(v,,sizeof(v));
N[i][j][i-][j]=false;
tmp=;
dfs(i,j);
if(tmp>maxn) maxn=tmp,xx=i,yy=j,move='N';
N[i][j][i-][j]=true;
}
if(j!=m && E[i][j][i][j+])
{
memset(v,,sizeof(v));
E[i][j][i][j+]=false;
tmp=;
dfs(i,j);
if(tmp>maxn) maxn=tmp,xx=i,yy=j,move='E';
E[i][j][i][j+]=true;
}
}
printf("%d\n",maxn);
printf("%d %d %c",xx,yy,move);
}

2017 济南综合班 Day 4的更多相关文章

  1. 2017 济南综合班 Day 7

     a 两个指针L.R R开始指向恰好[R,n]有不超过k个逆序对的地方 随着L的右移,R指针只会右移 逆序对有2部分 1.L左侧与其他位置形成的逆序对 2.R右侧与其他位置形成的逆序对 用树状数组分别 ...

  2. 2017 济南综合班 Day 6

    循环移动 (cyclic.cpp/c/pas) (1s/256M) 问题描述 给出一个字符串S与N个操作.每个操作用三元组(L, R, K)进行描述:操作将字符串第L个到第R个位置构成的子串循环移动K ...

  3. 2017 济南综合班 Day 5

    毕业考试 (exam.cpp/c/pas) (1s/256M) 问题描述 快毕业了,Barry希望能通过期末的N门考试来顺利毕业.如果他的N门考试平均分能够达到V分,则他能够成功毕业.现在已知每门的分 ...

  4. 2017 济南综合班 Day 3

    T1  黑化 题意: 求一个字符串是否可能包含另一个字符串 字符串中的?可以匹配任意字母 可能输出 God bless You! 一定不可能 输出 Game Over! 计算fail数组时,fail数 ...

  5. 2017 济南综合班 Day 2

    木棍(stick) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有很多木棍,具体的,总共有n根,且每根木棍都有一个长度.为了方便起见,我们可以用一个正 ...

  6. 2017 济南综合班 Day 1

    送分题(songfen) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK喜欢干一些有挑战的事,比如说求区间最大子段和.它知道这个题目有O(n)的做法.于 ...

  7. 2017 济南精英班 Day1

    不管怎么掰都是n*m-1 #include<cstdio> using namespace std; int main() { freopen("bpmp.in",&q ...

  8. JavaScript脚本语言基础(四)

    导读: JavaScript和DOM DOM文档对象常用方法和属性 DOW文档对象运用 JSON数据交换格式 正则表达式 1.JavaScript和DOM [返回] 文档对象模型(Document O ...

  9. JeeSite(2):导入数据,进入系统

    本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/50954485 未经博主同意不得转载. 博主地址是:http://blog.csd ...

随机推荐

  1. 有道云笔记Markdown使用

    目录 使用规则 代码高亮 制作待办事项 高效绘图 基本规则 使用规则 代码高亮 #include <iostream> #include <string> using name ...

  2. HTML5 Geolocation位置信息定位总结

    现在定位功能很常用,所以抽出一些时间将这个功能的知识总结一下作为知识梳理的依据.HTML5 Geolocation的定位用法很简单,首先请求位置信息,用户同意,则返回位置信息.HTML5 Geoloc ...

  3. C# 7.0 新特性

    先列一下相关的语法: 1.out-variables(Out变量) 2.Tuples(元组) 3.Pattern Matching(匹配模式) 4.ref locals and returns (局部 ...

  4. 面试:谈谈你对Spring框架的理解

    Spring是一个优秀的轻量级框架,大大的提高了项目的开发管理与维护.Spring有两个核心模块.一个是IOC,一个是AOP. IOC: 就是控制反转的意思,指的是我们将对象的控制权从应用代码本身转移 ...

  5. VM新安装centos7无法连接网络的问题

    https://blog.csdn.net/u012110719/article/details/42264601 https://blog.csdn.net/kexiaoling/article/d ...

  6. chrome extension demos

    chrome extension demos demo https://github.com/hartleybrody/buzzkill/blob/master/bootstrap.js https: ...

  7. Dubbo和Spring Cloud开发框架对比

    前言 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果.它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.虽然微服务架构没有公认的技术标准和规范或者草案 ...

  8. EJB介绍

    EJB定义: 被称为java企业bean,服务器端组件,核心应用是部署分布式应用程序.用它部署的系统不限定平台.实际上EJB是一种产品,描述了应用组件要解决的标准. 标准: 可扩展 (Scalable ...

  9. CMD命令提示符

    mspaint  画图板 notepad  打开记事本 write  写字板 calc.exe  计算器 control.exe  控制面板 osk  打开屏幕键盘 rononce -p ----15 ...

  10. 【BZOJ4520】K远点对(KD-Tree)

    [BZOJ4520]K远点对(KD-Tree) 题面 BZOJ 洛谷 题解 考虑暴力. 维护一个大小为\(K\)的小根堆,然后每次把两个点之间的距离插进去,然后弹出堆顶 这样子可以用\(KD-Tree ...