#include<bits/stdc++.h>
using namespace std;
int n,a[10][10],vis[10],ans,b[10][10];
inline int read()
{
int x=0,ff=1;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-') ff=-1;
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*ff;
}
inline void put(int x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) put(x/10);
putchar(x%10+'0');
}
void work()
{
int cnt=0;
for(int i=1;i<=5;i++)
for(int j=1;j<=5;j++) a[i][j]=b[i][j];
for(int i=1;i<=5;i++)
{
if(vis[i])
{
cnt++;
a[1][i]=-a[1][i];
a[2][i]=-a[2][i];
if(i-1>0) a[1][i-1]=-a[1][i-1];
if(i+1<6) a[1][i+1]=-a[1][i+1];
}
}
for(int i=1;i<=4;i++)
for(int j=1;j<=5;j++)
{
if(a[i][j]==-1)
{
cnt++;
a[i][j]=-a[i][j];
a[i+1][j]=-a[i+1][j];
if(j-1>0) a[i+1][j-1]=-a[i+1][j-1];
if(j+1<6) a[i+1][j+1]=-a[i+1][j+1];
if(i+2<6) a[i+2][j]=-a[i+2][j];
}
}
for(int j=1;j<=5;j++)
{
if(a[5][j]==-1) {cnt=-1;break;}
}
if(cnt!=-1) ans=min(ans,cnt);
}
inline void dfs(int x)
{
if(x==5) {work();return;}
dfs(x+1);
vis[x+1]=1;
dfs(x+1);
vis[x+1]=0;
}
int main()
{
freopen("1.in","r",stdin);
n=read();
for(int k=1;k<=n;k++)
{
char ch;ans=INT_MAX;
for(int i=1;i<=5;i++)
for(int j=1;j<=5;j++)
{
cin>>ch;
if(ch=='0') b[i][j]=-1;
else b[i][j]=1;
}
dfs(0);
if(ans>6) put(-1),cout<<endl;
else put(ans),cout<<endl;
}
return 0;
}

PS:无序变有序...

2:激光炸弹:

#include<bits/stdc++.h>
using namespace std;
int n,r,f[5100][5100],nx,mx,ans;
inline int read()
{
int x=0,ff=1;
char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-') ff=-1;
ch=getchar();
}
while(isdigit(ch))
{
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*ff;
}
inline void put(int x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) put(x/10);
putchar(x%10+'0');
}
int main()
{
freopen("1.in","r",stdin);
n=read();r=read();
nx=mx=r;
for(int i=1;i<=n;i++)
{
int x=read()+1,y=read()+1,v=read();
nx=max(nx,x);mx=max(mx,y);
f[x][y]=v;
}
for(int i=1;i<=nx;i++)
{
for(int j=1;j<=mx;j++) f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+f[i][j];
}
for(int x1=1;x1<=nx-r+1;x1++)
{
for(int y1=1;y1<=mx-r+1;y1++)
{
int x2=x1+r-1;
int y2=y1+r-1;
ans=max(ans,f[x2][y2]-f[x1-1][y2]-f[x2][y1-1]+f[x1-1][y1-1]);
}
}
put(ans);
return 0;
}

前缀和,但注意细节:

1:此题以(0,0)为起始坐标,输入时直接加一.

2:空间限制,省掉a数组,记录是直接用f数组记录,再预处理值(不会有问题,因为推时是从小到大推的(i,j)这个点只有在f[i][j]是才会用到,不会对前面或后面造成影响).

Tallest Cow:

#include<iostream>
#include<queue>
#include<iomanip>
#include<cctype>
#include<cstdio>
#include<deque>
#include<utility>
#include<cmath>
#include<ctime>
#include<cstring>
#include<string>
#include<cstdlib>
#include<vector>
#include<algorithm>
#include<stack>
#include<map>
#include<set>
#include<bitset>
#define _ 0
using namespace std;
const int maxn=11000;
int c[maxn],d[maxn],n,p,h,r,x,y;
map<int,map<int,int> >f;
int main()
{
cin>>n>>p>>h>>r;
for(int i=1;i<=r;i++)
{
cin>>x>>y;
if(x>y) swap(x,y);
if(f[x][y]) continue;
f[x][y]=1;
d[x+1]--;
d[y]++;
}
for(int i=1;i<=n;i++)
{
c[i]=c[i-1]+d[i];
cout<<h+c[i]<<endl;
}
return (0^_^0);
}

细节:

1:直接贪心的思考问题,要求每一个奶牛尽可能的高,限制的条件A,B之间的奶牛都减1即可,A,B不变.

2:一维数组加前缀和实现区间修改.

0x02的更多相关文章

  1. BugPhobia开发篇章:Scurm Meeting-更新至0x02

    0x01 :目录与摘要 If you weeped for the missing sunset, you would miss all the shining stars 索引 提纲 整理与更新记录 ...

  2. xss挑战赛小记 0x02(prompt(1))

    0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...

  3. 【学员管理系统】0x02 学生信息管理功能

    [学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...

  4. Docker 0x02: Docker生态

    目录 Docker生态 Docker官网 0x00 网址 Docker组件 0x01. docker-client 与 docker-daemon 0x02. docker镜像 0x03. docke ...

  5. 0x02全局变量和局部变量

    全局变量在什么地方定义? .data和.data? 格式如下: 变量名 类型 初始值1,初始值2... 变量名 类型 重复数 dup(初始值1,初始值2,...) 变量名 类型 ? 类型有哪些? 字节 ...

  6. 0x02 译文:Windows桌面应用Win32第一个程序

    本节课我们将用C++ 写一个最简单的Windows 程序. 目录: 创建一个窗口 窗口消息 编写窗口过程 绘制窗口 关闭窗口 管理应用程序状态 代码如下: #ifndef UNICODE #defin ...

  7. 0x02 Spring Cloud 学习文档

    每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能. Spring Cloud 版本 参考文档 API文档 Finchley SR2 CURRENT GA Ref ...

  8. 0x02 MySQL SQL基本语句

    有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写 mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的 ...

  9. 0x02 枚举、模拟、递推

    1.TYVJ1266(这站是不是已经倒闭了啊) USACO陈年老题,对于这种开关问题啊,最多只按一次,而且第一行随便按完下面的就全确定了,类似的还有固定翻转一个长度的区间,这个也是最多翻一次的而且翻的 ...

  10. 0x02 递推与递归

    [例题]CH0301 递归实现指数型枚举 #include <iostream> #include <cstdio> #include <algorithm> #i ...

随机推荐

  1. nmap使用命令(转载)原文地址https://www.jianshu.com/p/4030c99fcaee

  2. 后期静态绑定在PHP中的使用

    什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了.今天我们还是再次深入的理解一下这个概念. 首先,我们通过一段代码来引入后期静态绑定这一概念: class A { ...

  3. Hadoop的高可用搭建

    在已经安装完hadoop单机和zookeeper前提下 1.免密钥 ssh-keygen -t rsa 分发秘钥 ssh-copy-id -i master ssh-copy-id -i node1 ...

  4. javascript 数组 shuffle 洗牌 打乱顺序

    * php shuffle 打乱数组顺序 Array.prototype.shuffle = function () { "use strict"; var a = [], b = ...

  5. Maven项目创建与配置(二)

    项目配置 1:添加Source Folder 右击项目>NEW>Source Folder maven规定必须创建一下几个Source Folder src/main/resources ...

  6. P7518-[省选联考2021A/B卷]宝石【主席树,二分】

    正题 题目链接:https://www.luogu.com.cn/problem/P7518 题目大意 给出\(n\)个点的一棵树,每个点上有不大于\(m\)的数字. 然后给出一个长度为\(c\)的各 ...

  7. pytest环境准备与入门

    前言pytest 是 python2 默认自带的,python3 的版本 pytest 框架独立出来了,需用 pip 安装.以下为 python3.7版本为例 pytest是python的一种单元测试 ...

  8. Vue2.0 基础入门

    前言:" 今生遇汝,何其幸哉:于我蒙昧之时遇到你,于我大雾初透之时爱上你,于我大智初醒之时沉沦你. " 官网: 介绍 - Vue.js (vuejs.org) 指令与修饰符 创建实 ...

  9. 解决Vue项目打包之后放到nginx下刷新就报错404的问题

    最近跟着某机构的教学视频敲了一遍vue项目,但是在windows环境下部署的时候就懵逼了放到nginx下正常跑没问题,但是刷新之后就报404错误 前端项目构建vue 脚手架版本 是@vue/cli 4 ...

  10. ASP.NET Core Filter与IOC的羁绊

    前言 我们在使用ASP.NET Core进行服务端应用开发的时候,或多或少都会涉及到使用Filter的场景.Filter简单来说是Action的拦截器,它可以在Action执行之前或者之后对请求信息进 ...