传送门 思路:既然无法枚举每个情况,那就枚举每个出现过的权值,加和.那么每个权值出现了多少次呢?用总数减去一次都选不中这个数的次数即可,类似概率的方法. #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ; int n, m, tot, invn, U, ans; int id[maxn][maxn], val[maxn * maxn], f[maxn * maxn]; struct node { int…