0x02

#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的更多相关文章
- BugPhobia开发篇章:Scurm Meeting-更新至0x02
0x01 :目录与摘要 If you weeped for the missing sunset, you would miss all the shining stars 索引 提纲 整理与更新记录 ...
- xss挑战赛小记 0x02(prompt(1))
0x0O 上次搜xss挑战赛的时候 还找到了一个看上去难度更高的挑战赛 今天做了一下 学到了很多新东西 这个挑战赛能够在页面成功prompt(1)就算过关了 挑战地址 http://prompt.ml ...
- 【学员管理系统】0x02 学生信息管理功能
[学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...
- Docker 0x02: Docker生态
目录 Docker生态 Docker官网 0x00 网址 Docker组件 0x01. docker-client 与 docker-daemon 0x02. docker镜像 0x03. docke ...
- 0x02全局变量和局部变量
全局变量在什么地方定义? .data和.data? 格式如下: 变量名 类型 初始值1,初始值2... 变量名 类型 重复数 dup(初始值1,初始值2,...) 变量名 类型 ? 类型有哪些? 字节 ...
- 0x02 译文:Windows桌面应用Win32第一个程序
本节课我们将用C++ 写一个最简单的Windows 程序. 目录: 创建一个窗口 窗口消息 编写窗口过程 绘制窗口 关闭窗口 管理应用程序状态 代码如下: #ifndef UNICODE #defin ...
- 0x02 Spring Cloud 学习文档
每个Spring项目都有自己的; 它详细解释了如何使用项目功能以及使用它们可以实现的功能. Spring Cloud 版本 参考文档 API文档 Finchley SR2 CURRENT GA Ref ...
- 0x02 MySQL SQL基本语句
有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写 mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的 ...
- 0x02 枚举、模拟、递推
1.TYVJ1266(这站是不是已经倒闭了啊) USACO陈年老题,对于这种开关问题啊,最多只按一次,而且第一行随便按完下面的就全确定了,类似的还有固定翻转一个长度的区间,这个也是最多翻一次的而且翻的 ...
- 0x02 递推与递归
[例题]CH0301 递归实现指数型枚举 #include <iostream> #include <cstdio> #include <algorithm> #i ...
随机推荐
- 每日学习——C++习题
1.题目要求:求圆的面积,数据成员为半径r,定义为私有成员,要求用成员函数实现在键盘上输入圆半径,计算圆面积.输出圆面积三个功能,要求三个成员函数在类内声明,在类外定义 //定义类 class Cir ...
- 解决sofaboot项目右键入口方法没有run sofa application
选中入口方法名,右键出现run sofa application
- confluence 开源破解
一.安装 (一).开源agent https://gitee.com/pengzhile/atlassian-agent (二).dockerfile FROM cptactionhank/atl ...
- ecshop调用指定栏目下的商品的方法
第一步 在系统目录文件找到includes/lib_goods.php 这个文件打开 在此页最底部加入以下函数代码 /** * 首页获取指定分类产品 * * @access public * @pa ...
- 『Python』matplotlib常用函数
1. 绘制图表组成元素的主要函数 1.1 plot()--展现量的变化趋势 import numpy as np import matplotlib.pyplot as plt import matp ...
- Wannafly挑战赛23F-计数【原根,矩阵树定理,拉格朗日插值】
正题 题目链接:https://ac.nowcoder.com/acm/contest/161/F 题目大意 给出\(n\)个点的一张图,求它的所有生成树中权值和为\(k\)的倍数的个数.输出答案对\ ...
- mysql的一次意外
打开navcat连接本地mysql数据库的时候说mysql服务无法连接,切换到cmd用命令行来启动报错,发生系统错误5,查看百度,需用管理员权限运行, 用管理员运行依旧不好使 C:\WINDOWS\s ...
- Python 通过 .cube LUT 文件对图像加滤镜
Python 通过 .cube LUT 文件对图像加滤镜 一个好用的python给图片加滤镜的代码: https://github.com/CKboss/PyApplyLUT 这个是对C++代码的封装 ...
- 将Oracle数据库数据每天备份恢复一次数据到另一台服务器上两份数据
1.创建用户,授权,创建测试数据 创建用户 CREATE USER test identified by 123; 授权 grant dba to test; 创建测试数据 create table ...
- MySQL5.7.26二进制安装
1.安装系统版本 2.解压更换路径 tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.26-linux-glibc2.12- ...