C - Weird Sum

网友投稿 682 2022-10-18 20:25:00

C - Weird Sum

// Problem: C. Weird Sum// Contest: Codeforces - Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)// URL: Memory Limit: 256 MB// Time Limit: 2000 ms// 2022-03-08 19:27:04// // Powered by CP Editor (namespace std;#define rep(i,l,r) for(int i=(l);i<=(r);i++)#define per(i,l,r) for(int i=(l);i>=(r);i--)#define ll long long#define mset(s,t) memset(s,t,sizeof(t))#define mcpy(s,t) memcpy(s,t,sizeof(t))#define fi first#define se second#define pb push_back#define all(x) (x).begin(),(x).end()#define SZ(x) ((int)(x).size())#define mp make_pairtypedef pair pii;typedef pair pll;typedef vector vi; typedef vector Vll; typedef vector > vpii;typedef vector > vpll; const ll mod = 1e9 + 7;//const ll mod = 998244353;const double pi = acos(-1.0);inline ll qmi (ll a, ll b) { ll ans = 1; while (b) { if (b & 1) ans = ans * a%mod; a = a * a %mod; b >>= 1; } return ans;}inline int read () { int x = 0, f = 0; char ch = getchar(); while (!isdigit(ch)) f |= (ch=='-'),ch= getchar(); while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar(); return f?-x:x;}template void print(T x) { if (x < 0) putchar('-'), x = -x; if (x >= 10) print(x/10); putchar(x % 10 + '0');}inline ll sub (ll a, ll b) { return ((a - b ) %mod + mod) %mod;}inline ll add (ll a, ll b) { return (a + b) %mod;}inline ll inv (ll a) { return qmi(a, mod - 2);}const int N = 2e5 +10;ll ans;int n, m;vector g[N];void get (vector s) { sort(all(s)); ll ss = 0; for (int i = 0; i < SZ(s); i ++) { ans += (ll)s[i] * i - ss; ss +=s[i]; }}void solve() { cin >> n >> m; vector> a(n + 1, vector (m + 1, 0)); for (int i = 1; i <= n; i ++) { for (int j = 1; j <= m; j ++) { cin >> a[i][j]; g[a[i][j] * 2].pb(i); g[a[i][j] * 2+ 1].pb(j); } } for (int i = 1; i<= 200005; i ++) { if (SZ(g[i])) get(g[i]); } print(ans);}int main () { // ios::sync_with_stdio(0),cin.tie(0), cout.tie(0); int t; t =1; //cin >> t; while (t --) solve(); return 0;}

排完序后有一下公式 |x[1] - x[2]| + |y[1] - y[2]|可以分开求

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:adaptive- H5端自适应框架
下一篇:GoRose- Go 语言的 ORM 框架
相关文章