总之就是线性基那一套贪心理论直接做就好了. 然而加强数据后很卡精度的样子. 于是重点在于这个特技:在整数模意义下搞. #include<cstdio> #include<algorithm> #define N 505 using std::sort; int k,l,m,n,p=1e9+7; int s[N],t[N]; int a[N][N],*v[N]; int pow(int u,int v){ int a=1; for(;v;v>>=1){ if(v&…
线性基 构成线性基的个数是定的,所以我们对价值进行贪心就行了,根据拟阵那套理论,我们排个序,然后能塞进去就塞,这样就求出最小值了. 思维江化,只要是多维向量都能用线性基搞. #include<bits/stdc++.h> using namespace std; #define double long double ; ; int n, ans1, ans2, m; int vis[N]; struct data { double p[N]; int val; bool friend oper…