摘要: pass 1 #include <algorithm> 2 #include <cstdio> 3 using namespace std; 4 const int MAXN = 210000; 5 int n,m,tot,cnt; 6 int vec[MAXN],num[MAXN],hsh[MAX 阅读全文
posted @ 2020-02-16 15:07 IAT14 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 这道题最初的想法是,所有的合法图案都由中间的那个核心的四个格子扩展而成,所以想把核心找出来,用数据结构维护,每次找出询问范围内可以扩展最大的核心。 仔细想想这样子可能会涉及到二维的数据结构,可能的复杂度也过高,有些想骗了。 考虑DP,dp[i][j][k]表示,以i,j为右下角,边长为k的正方形中, 阅读全文
posted @ 2020-02-16 08:46 IAT14 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一定有一种走法可以把图中的所有边都遍历一遍。 怎么走,我们想办法把每一行都用一样的走法。 先直接往右走,然后往左走,然后往下,以此类推为基本想法。 那么除了左右两边,其他的竖向边都无法被顾及到怎么办?先整体横着走,再整体竖着走?发现不行。 所以我们往左走变成,下,上,左。这样子边向左走边把所有竖向边 阅读全文
posted @ 2020-02-16 08:36 IAT14 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 这道题觉得很巧妙。 让含1的子串尽可能多,就是全为0的子串尽可能少。(注意是全为0,不是有0,开始这里想当然然后就卡住了=.=)。 总的子串数就是(1,1)(1,2)...(1,n)(2,2)..(2,n)..(n,n),显然是(n+1) * n/2。 我们考虑全为0的串数。我们有m个1,相当于有m 阅读全文
posted @ 2020-02-16 08:32 IAT14 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 对于-1而言,取相邻数最大最小中间值即可。 记得考虑非-1的数对答案也有影响。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 int T,minn,maxn,n,k,r 阅读全文
posted @ 2020-02-16 08:25 IAT14 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 对应位要么全相等,要么ac,bc有一个相等,ab不行。 1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 char a[110],b[110],c[110]; 5 int len,T; 6 bool suc; 7 bo 阅读全文
posted @ 2020-02-16 08:23 IAT14 阅读(192) 评论(0) 推荐(0) 编辑