一些注意点:

  • 一看到这种题就应该往 bitset 的方向想。

  • 如果用 bitset,就应该跳脱之前的思维,尝试从最朴素的暴力重新想起。


看到这道题,发现直接做非常的不可做的样子,考虑 bitset。

我们可以先枚举左端点 \(l\)。这样,当我们枚举 \(j\) 时,对于所有的 \(k\) 使得 \(a_{k, j} = a_{l, j}\) 的 \(k\),\((l, k)\) 可以多一个相等的下标。

于是考虑使用 bitset,\(p_{i, x, j}\) 表示 \(a_{i, j}\) 是否等于 \(x\)。然后直接异或操作即可。

/*******************************
| Author: DE_aemmprty
| Problem: F - Oddly Similar
| Contest: AtCoder - Toyota Programming Contest 2024#4(AtCoder Beginner Contest 348)
| URL: https://atcoder.jp/contests/abc348/tasks/abc348_f
| When: 2024-04-06 20:37:56
|
| Memory: 1024 MB
| Time: 2000 ms
*******************************/
#include <bits/stdc++.h>
using namespace std; long long read() {
char c = getchar();
long long x = 0, p = 1;
while ((c < '0' || c > '9') && c != '-') c = getchar();
if (c == '-') p = -1, c = getchar();
while (c >= '0' && c <= '9')
x = (x << 1) + (x << 3) + (c ^ 48), c = getchar();
return x * p;
} const int N = 2007; long long n, m, ans;
int a[N][N];
bitset <N> s[N][1007], res; void solve() {
n = read(), m = read();
for (int i = 1; i <= n; i ++) for (int j = 1; j <= m; j ++) {
a[i][j] = read();
s[j][a[i][j]][i - 1] = 1;
}
for (int i = 1; i <= n; i ++) {
for (int j = 1; j <= n; j ++)
res[j - 1] = 0;
for (int j = 1; j <= m; j ++)
res ^= s[j][a[i][j]];
for (int j = i; j < n; j ++)
if (res[j]) ans ++;
}
cout << ans;
} signed main() {
int t = 1;
while (t --) solve();
return 0;
}

ABC348F 题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

  10. JSOI2016R3 瞎BB题解

    题意请看absi大爷的blog http://absi2011.is-programmer.com/posts/200920.html http://absi2011.is-programmer.co ...

随机推荐

  1. Kubernetes 调度器打分算法详解:LeastAllocated 与 NodeAffinity

    1️⃣ NodeResourcesLeastAllocated(资源最少分配) 目标 优先将 Pod 调度到资源使用率最低的节点,防止热点节点,尽量实现负载均衡. 打分算法原理 对每个节点计算 CPU ...

  2. STL vector容器存储键值对

    在阅读tvm源码时,发现了一个挺有意思的代码: std::vector<std::pair<std::string, ObjectRef>> update; vector容器里 ...

  3. 极简版闹钟(java)

    package javaBasic; import java.awt.Toolkit; import java.awt.event.*; import java.text.SimpleDateForm ...

  4. IDEA如何增加界面对比度

    这个问题困扰大家许久了应该,今天就让我来终结吧! 背景的对比度虽然没法直接修改,但是我们可以直接改背景色进而达到修改对比度的效果! Editor--color Scheme--general--Tex ...

  5. Java Set的五种遍历方式

      摘要:介绍Java遍历Set的五种方式,并分析哪中方式效率高,建议使用增强for循环变量.   Set 和 List 遍历方式基本一致,本文介绍Set的遍历方式,并比较那种方法执行效率最高. 1. ...

  6. Jackson反序列化抛异常:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field的解决方法

    目录 需求背景 问题分析 问题解决 使用注解@JsonIgnoreProperties ObjectMapper对象配置FAIL_ON_UNKNOWN_PROPERTIES 需求背景   第三方服务返 ...

  7. mac ssh 总是自动断开

    创建一个ssh配置文件: vi ~/.ssh/config 写入以下内容: Host * ServerAliveInterval 120 TCPKeepAlive no

  8. Matlab使用yalmip与cplex12.10

    本文同步发布于我的网站 软件版本 MATLAB R2023b yalmip 2021-03-31 CPLEX 12.10 不求新,但求适配.此版本组合经过我在两台电脑上成功安装 下载链接 链接:htt ...

  9. 一个开源免费、功能丰富的 WPF 自定义控件资源库

    前言 今天大姚给大家分享一个开源免费(MIT license).功能丰富的 WPF 自定义控件资源库:WPF-ControlBase. WPF 介绍 WPF 是一个强大的桌面应用程序框架,用于构建具有 ...

  10. springboot实现连接多个数据源

    dynamic datasource 导入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactI ...