[agc003F]Fraction of Fractal】的更多相关文章

Description 传送门 Solution 本篇博客思路来自大佬的博客(侵删). 我们定义如果网格的第一行和最后一行的第i列都为黑色,则它是一个上下界接口.左右界接口定义同上. 如果上下界接口和左右界接口都为0个,则答案为节点数^(k-1).或者上下界接口和左右界接口都存在,则答案为1(就只有一个联通块了啊). 将以上两种情况特判后,我们目前的网格要么只有上下界接口,要么只有左右界接口.我们只探讨前者. 对于k=2的分形(如果k<2特判就好),我们将1级分形看作一个节点(以下的点都是指1级…
Description ​ SnukeSnuke从他的母亲那里得到了生日礼物--一个网格.网格有HH行WW列.每个单元格都是黑色或白色.所有黑色单元格都是四联通的,也就是说,只做水平或垂直移动且只经过黑色单元格即可从任何黑色单元格移动到任何其他黑色单元格. 第ii行第jj列的单元格的颜色由字符si,jsi,j表示.如果si,jsi,j是 #,该单元格为黑色:如果si,jsi,j是 .,该单元格为白色.至少一个单元格是黑色的. 我们定义「分形」如下:00级分形是一个 1×11×1的黑色单元格.kk…
Description Snuke从他的母亲那里得到了生日礼物--一个网格.网格有H行W列.每个单元格都是黑色或白色.所有黑色单元格都是四联通的,也就是说,只做水平或垂直移动且只经过黑色单元格即可从任何黑色单元格移动到任何其他黑色单元格. 第i行第j列的单元格的颜色由字符si,j表示.如果si,j是 #,该单元格为黑色:如果si,j是 .,该单元格为白色.至少一个单元格是黑色的. 我们定义「分形」如下:0级分形是一个 1×1的黑色单元格.k级分形由H行W列较小一级的分形按照 Snuke 的网格的…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 H*W 黑白格图,保证黑格四连通. 定义分形如下:0 级分形是一个 1*1 的黑格:通过将第 k 级分形中的白格替换成 H*W 的全白,黑格替换成题目所给的 H*W 格图得到第 k + 1 级分形. 求第 K 级分形中黑格的四连通块个数. 原题传送门. @solution@ 最好先特判 K = 0 的情况. 如果存在一行最左最右都是黑格,且存在一列最上…
Description ​ 原题链接 ​ Solution ​ 神题. ​ 定义一个上边界或下边界的格子为"上下接口",当且仅当上下边界该位置的格子都是黑色的. ​ "左右接口"同理. 首先特判掉\(k\)小于等于1的情况,答案都是1. ​ 然后特判掉两种情况:上下接口和左右接口同时存在时,答案显然为1:二者皆不存在时,答案就是\(s^{k-1}\),其中\(s\)为给定网格的黑格子数目. ​ 所以接下来我们考虑的问题是:\(k\ge 2\),且仅存在上下接口或左右…
Problem AtCoder-agc003F 题意:给出\(n\)行\(m\)列的01矩阵,一开始所有 \(1\) 连通,称此为\(1\)级分形,定义\(i\)级分形为\(i-1\)级分形中每个标示为 \(1\) 的格子中放一个 \(i-1\) 级分形(结合样例理解),求\(k\)级分形的连通块数量 Solution 网上好像都是矩阵快速幂的解法,然后一位集训中认识的dalao告诉我还有一种不用矩阵快速幂的解法: 首先发现分形中相接的地方一定是01矩阵某一行的左右端点或某一列的上下端点,我们管…
题目传送门:https://agc003.contest.atcoder.jp/tasks/agc003_f 题目大意: 给定一个\(H×W\)的黑白网格,保证黑格四连通且至少有一个黑格 定义分形如下:\(0\)级分形是一个\(1×1\)的黑色单元格,\(k+1\)级分形由\(k\)级分形得来.具体而言,\(k\)级分形中每个黑色单元格将会被替换为初始给定的\(H×W\)的黑白网格,每个白色单元格会被替换为\(H×W\)的全白网格 求\(k\)级分形的四连通分量数,答案对\(10^9+7\)取模…
Atcoder 题面传送门 & 洛谷题面传送门 Yet another AGC F,然鹅这次就没能自己想出来了-- 首先需注意到题目中有一个条件叫做"黑格子组成的连通块是四联通的",这意味着我们将所有黑格都替换为题目中 \(H\times W\) 的标准型之后,黑格(标准型)内部是不会对连通块个数产生贡献的,产生贡献的只可能是黑格与黑格之间的边不产生连通块.如果我们记 \(G_{\text{h}}\) 两个标准型横着拼在一起得到的 \(H\times 2W\) 的图形,\(G_…
AtCoder Grand Contest 003 A - Wanna go back home 翻译 告诉你一个人每天向哪个方向走,你可以自定义他每天走的距离,问它能否在最后一天结束之后回到起点. 题解 什么逗逼东西... #include<cstdio> #include<cstring> using namespace std; char s[1010]; bool W,E,S,N; int main() { scanf("%s",s+1); for(in…
RE:从零开始的AGC被虐(到)生活(不能自理) 「一直注视着你,似近似远,总是触碰不到.」 --来自风平浪静的明天 AtCoder Grand Contest 001 B: Mysterious Light 设 \(f(x, y)\) 为上一次反射长度为 \(x\) ,边界长度为 \(y\) 的答案,容易观察得到 \(f(x, y) = 2 \times \lfloor\frac{y}{x}\rfloor \times x + f(y \mod x, x)\) C: Shorten Diame…