cf 579B
2015-09-17 14:10
288 查看
// cf 579B 就是给你一个完全图 每个边有一个权值 问你把这些点(偶数个)分成n/2对点对 使得点对的权值和最大 //一个优先就解决了 本来自己想到了 但是立刻被自己否认了 欲哭无泪呀!后面一定要试一发 万一AC了呢!!
#include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> #include<queue> #include<stack> #include<map> #include<set> #include<vector> using namespace std; typedef long long ll; typedef pair<int,int> pp; #define inf 0x3f3f3f3f #define eps 1e-10 #define maxl 1010 #define mem(i,j) memset(i,j,sizeof(i)) const int mod=1e9+7; int p[maxl]; int main() { freopen("in.txt", "r", stdin); int n; cin>>n; n*=2; vector<pair<int,pair<int,int> > > v; int x; for(int i=2;i<=2*n;i++){ for(int j=1;j<i;j++){ cin>>x; v.push_back({x,pp{i,j}}); } } sort(v.begin(),v.end());reverse(v.begin(),v.end()); for(int i=0;i<v.size();i++){ if(!p[v[i].second.first]&&!p[v[i].second.second]){ p[v[i].second.first]=v[i].second.second; p[v[i].second.second]=v[i].second.first; } } for(int i=1;i<=n;i++){ cout<<p[i]<<" \n"[i==n]; } }
相关文章推荐
- 【设计模式】从菜鸟到大鸟之23个模式整体观
- 解决MysSql数据库添加数据乱码问题
- JNI 常用API
- 关于引用及取地址&运算符的用法
- HDU 4291 A Short problem
- 我的Android进阶之旅------>Android使用百度地图时,关于android.permission.BAIDU_LOCATION_SERVICE的声明警告。
- Spring AOP + AspectJ annotation example
- VB截取中英文混合字符串中若干半角单位长字串的函数
- json格式化工具
- QT中监控全局键盘鼠标事件
- Java中的StringUtils类
- 浅谈数据结构-插入排序(直接插入、希尔排序)
- 如何检测 JavaScript 中的自定义全局变量
- 有效减少虚拟机镜像文件的大小
- Win10提示“计算机内存不足”的怎么办 解决办法介绍
- test3.10
- 11.2.04 Oracle RAC 目录中 crfclust.bdb文件过大,Bug 20186278
- android代码获取网站图标
- 移除父控件的所有子控件
- activiti数据库表结构剖析