【题解】P5461 赦免战俘
一、题目
现有 \(2^n\times2^n\ (n≤10)\) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小矩阵中,每一个矩阵继续分为 4 个更小的矩阵,然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以棕名处罚。
给出 n,请输出每名作弊者的命运,其中 0 代表被赦免,1 代表不被赦免。
二、答案
一道经典的dp题。
在写dp之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的
表示。
1. 状态的表示
\(dp_{i,j}\) 表示第 i 行 j 列作弊者的命运(其中 0 代表被赦免,1 代表不被赦免)。
2. 状态转移方程
\]
3. 边界条件
\]
4. 答案的表示
\]
三、时间复杂度
整体时间复杂度为 \(O({2^n}^2)\) ,也就是 \(O(2^n\times 2^n)\) ,其中 \(100\%:(n\le10)\) 。
四、空间复杂度
整体空间复杂度为 \(O({2^n}^2)\) ,也就是 \(O(2^n\times 2^n)\) ,其中 \(100\%:(n\le10)\) 。
五、AC代码
#include<bits/stdc++.h>
using namespace std;
bool ans[2000][2000];
int main() {
int n;
scanf("%d",&n);
for(int i=1;i<=(1<<n);i++) {
for(int j=1;j<=(1<<n);j++) {
ans[i][j]=1;
}
}
ans[0][(1<<n)+1]=1;
for(int i=1;i<=(1<<n);i++) {
for(int j=1;j<=(1<<n);j++) {
ans[i][j]=ans[i-1][j]^ans[i-1][j+1];
}
}
for(int i=1;i<=(1<<n);i++) {
for(int j=1;j<=(1<<n);j++) {
printf("%d ",ans[i][j]);
}
printf("\n");
}
return 0;
}
【题解】P5461 赦免战俘的更多相关文章
- 洛谷 P5461 赦免战俘 题解
P5461 赦免战俘 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 \(2^n\times 2^n (n\le10)\) 名作弊者站成一个正方形方阵等候 kkk ...
- 【递归】P5461赦免战俘
题目相关 原题链接:P5461 赦免战俘 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 \(2 ...
- 洛谷 P5461 赦免战俘
洛谷 P5461 赦免战俘 传送门 思路 洛谷7月月赛第一题 着实是一道大水题,然后我月赛的时候没做出来...... 就是一道大模拟题呀,直接dfs就好了,我是反着处理的,所以最后要输出\(1-a[i ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
随机推荐
- SpringCloud学习 系列一、 前言-为什么要学习微服务
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...
- secure boot (一)fit image
前言 secure boot 和FIT Image是前段时间接触到的,其实早就该总结下了,奈何懒癌犯了,拖了好久才写出来. 之前也有人问我,工作后最大的感受是什么?我的回答是:"快速学习&q ...
- windows无法远程访问liunx的mysql解决方案(8.0.27版本)
一.安装后mysql后发现windows上的无法正常访问,报错如下: 不管是navicat软件,还是使用python的pymsql进行连接 1.navicat软件如下:"Access den ...
- java基础-异常Exception-day10
目录 1. 练习 2. 异常三联 try-catch-finally 3.异常的分类 3. 子类throws的异常 小于等于父类的异常 4.自定义异常 1. 练习 package com.msb01; ...
- Verilog Review
Agenda 目的 Verilog概述 Verilog建模 模块 模块组成 书写建议 时延 Verilog基本语法 标识符 可读性 注释 空格 数据类型 操作数 运算符 条件语句 循环语句 函数 Ve ...
- 如何从零开始实现TDOA技术的 UWB 精确定位系统(5)
这是一个系列文章<如何从零开始实现TDOA技术的 UWB 精确定位系统>第5部分. 重要提示(劝退说明): Q:做这个定位系统需要基础么? A:文章不是写给小白看的,需要有电子技术和软件编 ...
- grpc-环境与示例
1. 数据传输基本原理 2. grpc环境安装 代码生成器 go get -u github.com/golang/protobuf/protoc-gen-go // 会自动在 $GOPATH/bin ...
- [转帖]nginx中的if和else语法
https://www.dyxmq.cn/it/nginx/nginx-if.html nginx支持if语法,语法和平常的代码格式差不多: 1 2 3 if ($xxx = xxx) { ...
- [转帖]xtrabackup2.4备份恢复脚本
https://developer.aliyun.com/article/534230#:~:text=xtrabackup2.4%E5%A4%87%E4%BB%BD%E6%81%A2%E5%A4%8 ...
- [转帖]Ceph简单搭建
https://cloud.tencent.com/developer/article/1643322 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可 ...