国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

BZOJ2797: [Poi2012]Squarks

2019-11-06 06:39:35
字體:
供稿:網(wǎng)友

亂搞..


首先X是一個遞增的序列,所以最小的兩個和一定是x1+x2,x1+x3 但是我們還需要x2+x3才能解出這三個數(shù),而x2+x3有n-1種可能的值,不能確定,因為n不大,可以枚舉x2+x3是哪個值,然后解出這三個值后可以解出其他的所有值,判一下是否合法即可


code:

#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<climits>#include<complex>#include<iostream>#include<algorithm>#define ll long longusing namespace std;const int maxn = 310;int x[maxn],n;int s[maxn*maxn];int ans[maxn][maxn],at;multiset<int>S;multiset<int>::iterator it;int main(){ scanf("%d",&n); int m=n*(n-1)/2; for(int i=1;i<=m;i++) scanf("%d",&s[i]); sort(s+1,s+m+1); at=0; for(int i=n;i>=3;i--) { if(i<n&&s[i]==s[i+1]) continue; x[1]=(s[1]+s[2]-s[i])>>1; if(x[1]*2!=s[1]+s[2]-s[i]) continue; if(x[1]<=0) continue; x[2]=s[1]-x[1]; if(x[2]<=x[1]) continue; x[3]=s[2]-x[1]; if(x[3]<=x[2]) continue; S.clear(); S.insert(-1); S.insert(1e9+1); for(int j=3;j<=m;j++) if(i!=j) S.insert(s[j]); int nw=4; while(nw<=n) { it=S.upper_bound(-1); x[nw]=(*it)-x[1]; if(x[nw]<=x[nw-1]) break; int j; for(j=1;j<nw;j++) { it=S.lower_bound(x[j]+x[nw]); if((*it)!=x[j]+x[nw]) break; S.erase(it); } if(j!=nw) break; nw++; } if(nw<=n) continue; at++; for(int j=1;j<=n;j++) ans[at][j]=x[j]; }
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄢陵县| 霞浦县| 和静县| 乌拉特中旗| 汾阳市| 四子王旗| 成都市| 绥阳县| 海口市| 威宁| 安乡县| 盖州市| 正阳县| 沙河市| 武宁县| 特克斯县| 客服| 榆中县| 黔西县| 兴安县| 郑州市| 晋州市| 荣昌县| 自贡市| 历史| 湖州市| 石屏县| 永吉县| 文登市| 梁河县| 策勒县| 萝北县| 高邑县| 银川市| 高尔夫| 兴化市| 普宁市| 宝鸡市| 浦江县| 容城县| 锡林郭勒盟|