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. POJ 2287 田忌赛马 贪心算法

    田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动. 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马.当N为0时结束. 此题为贪心算法解答,有两 ...

  2. Git 命令基本应用

    两种建立仓库的方法: (1)在本地文件路径下建立仓库:git init (2)在代码托管网站上克隆项目:git clone [url] 查看该分支下的文件情况:git status 添加远程仓库源:g ...

  3. C语言 命令行参数 函数指针 gdb调试

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...

  4. [基于NetCore的简单博客系统]-登录

    0-项目背景 一个基于.NET CORE RAZOR PAGES的简单博客系统 技术栈全部采用微软官方实现方式,目的是熟悉新技术 项目地址:https://github.com/ganqiyin/BL ...

  5. Linux的ll命令详解

    ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息 ls 只列出文件名或目录名 就象windows里的 列表 ll -t 是降序,  ll -t | tac 是升序 l ...

  6. 团队作业7——第二次项目冲刺(Beta版本)-第二篇

    1.工作分工: 团队成员 分工 郭达22120 项目整合,后台代码 刘德培44060 数据库模块 石浩洋22061 前台界面优化 曾繁钦22056 前台界面优化.测试 孙斌22030 后台代码 2.燃 ...

  7. lintcode-156-合并区间

    156-合并区间 给出若干闭合区间,合并所有重叠的部分. 样例 给出的区间列表 => 合并后的区间列表: [ [ [1, 3], [1, 6], [2, 6], => [8, 10], [ ...

  8. iOS- Apple零配置网络协议Bonjour的使用?

    1.前言 这段时间为了解决公司App的网络离线需求,做了个Apple推出的零配置网络协议Bonjour的Test,主要是为了解决iOS设备的IP获取,之前是可以使用socket的广播来实现,但是使用A ...

  9. RXSwift--登录注册那点事

    在iOS学习中登录注册是一个万能的可以拿出来实战的demo.接下来我们就从登录开始入手,PS:如果你对RXSwift中的概念和一些常用的函数不清楚可以参考这篇文章(可能打开比较慢请耐心等待).开始直接 ...

  10. YaoLingJump开发者日志(二)

      熟悉了一点LGame里的套路,可以正式开工了.   增加了一个信息栏,显示得分.硬币数.生命值和当前关卡(仿照了超级玛丽的布局).   准备瑶玲的各种动画(静止.奔跑.跳跃.趴下.休息和死亡等). ...