我不到我今天干啥了。
上午昏厥,下午搬砖,晚上对着前年省选乱胡。
P8217 [THUPC2022 初赛] 数正方体
Zpair:那比赛这种题就交给你啦
害怕.jpg
我会让团队吃一车罚时.jpg
做法倒是挺显著的,就是对每一个层都找露在这层的有多少块就行。因为是凸的,就是从左上到右下高度单调不升,所以记录一下是否已经到了这块,如果从一个位置开始不合法,那这一行之后都不合法了。
代码显然
#include <bits/stdc++.h>
using namespace std;
string s[1002],ss;
int r,c,X,Y,Z;bool vis[300][300];
int main()
{
//freopen("p.in","r",stdin);
scanf("%d%d",&r,&c);
getchar();
for(int i=1;i<=r;i++)
{
getline(cin,ss);
s[i]="."; s[i]+=ss;
// cout<<ss<<endl;
}
Y=1;
while(s[1][Y]=='.') Y++;
Y=(Y-1)/2;
X=(c-Y*2-1)/4;
Z=(r-Y*2-1)/3;
//cout<<X<<" "<<Y<<" "<<Z<<endl;
int tmp=0,ans=0;
for(int z=1;z<=Z;z++)
{
int dx=(z-1)*3+1;
int dy=Y*2+1;
for(int x=1;x<=Y;x++)
{
for(int y=1;y<=X;y++)
{
if(vis[x][y]) continue;
int nx=dx+(x-1)*2;
int ny=dy-(x-1)*2+(y-1)*4;
if(s[nx][ny]=='+'&&s[nx][ny+4]=='+'&&s[nx+2][ny-2]=='+'&&s[nx+2][ny+2]=='+')
{
// printf("%d %d %d : %d %d\n",z,x,y,nx,ny);
vis[x][y]=1,tmp++;
}
else break;
}
}
//printf("%d\n",tmp);
ans+=tmp;
}
printf("%d\n",ans);
}
CF914E Palindromes in a Tree
未知原因跳到这个题做一下。点分治板子。注意 totsiz 的维护。
我在口胡一个就是如果是严格回文串就是哈希找,不过感觉挺麻烦。等有时间实现一个((
下午给机房搬砖。
然后那个 2021 省选 D2 T2 再说。
我今天听 Zpair 讲了一个有点恐怖的故事。我有点害怕。我最近因为【数据删除】加上这个故事的缘故,在机房里的感觉有了点微妙的变化。我认为这样不好。不过显然我不会在机房打开游戏什么的,所以完全没有担心的必要。但是我经常在机房水群。
感觉变化也是因为有点上火或者休息不好。最近太阳穴有时候就像被猛敲一下的疼。
标签:int,jpg,300,机房,2.23,小记,Zpair From: https://www.cnblogs.com/cc0000/p/17149835.html