H - The Child and Toy-CodeForces 437C-水题
2015-08-05 01:38
375 查看
这题看懂了直接 输出一条边中比较小的那个点的权值即可。。。当时没想到,一股脑就当成图去贪心了,所以复杂多了
#include <cstdio> #include <cmath> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include <vector> using namespace std; // 邻接表vector实现 struct node { int val; int num; } v[1000+5]; int v2[1000+5]; int cmp(node a,node b) { return a.val<b.val; } vector <int> map[1000]; vector<int>::iterator it; vector<int>::iterator del; int main() { int n,m,x,y; scanf("%d%d",&n,&m); int i; for(i=1;i<=n;i++) { scanf("%d",&v[i].val); v2[i]=v[i].val; v[i].num=i; } sort(v+1,v+1+n,cmp); for (i=1;i<=m;i++) { scanf("%d %d",&x,&y); map[x].push_back(y); map[y].push_back(x); } int sum=0; for (i=1;i<=n;i++) { if ( map[ v[i].num ].size()!=0) { sum+=map[ v[i].num ].size()*v2[v[i].num]; it=map[ v[i].num ].begin(); //能亮最小的头 for (;it!=map[ v[i].num ].end();it++) { int t1= *it; del = find( map[t1].begin(), map[t1].end(), v[i].num ); //查找 map[t1].erase(del); } map[ v[i].num ].clear(); } else continue; } printf("%d\n",sum); return 0; }
相关文章推荐
- Android QQ空间说说回复功能简介
- RESTful API 设计最佳实践
- G - The Child and Set-CodeForces 437B-水题
- [Leetcode 221, Medium] Maximal square
- 杭电 刘春英 老师 写给计算机软件专业的大学生 .
- B - Pasha Maximizes -水题-CodeForces 435B
- jsp当参数为空的时候默认显示值
- BootStrap分页和标签
- 第一步水题100道结束
- LEFT JOIN、Right、Full后ON和WHERE的区别
- CodeForces 91B-K - Queue 二分
- URAL 2034 : Caravans
- 如何用spring方便的读取配置文件
- mark--[Web 前沿——HTML5 Form Data 对象的使用]
- 一款可以下拉搜索html下拉框控件
- poj1163 dp入门题 数塔
- Direct-X学习笔记--三维粒子系统
- 用链表实现id,姓名,分数的录入功能和排序功能
- Retrieving a List of Contacts
- Sigma Function