HDU 5695 Gym Class(拓扑排序、优先队列)
来源:互联网 发布:淘宝直播在那里看 编辑:程序博客网 时间:2024/05/16 15:59
题目链接;
HDU 5695 Gym Class
题意:
定义序列每个元素的权值是在他之前包括自己的最小数。求序列权值和最大的拓扑排序。
数据范围:
分析;
也就是每次从度为
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>#include <climits>#include <cmath>#include <ctime>#include <cassert>#include <vector>#include <queue>#define IOS ios_base::sync_with_stdio(0); cin.tie(0);using namespace std;typedef long long ll;const int MAX_N = 100010;int degree[MAX_N], ans[MAX_N];vector<int> vec[MAX_N];priority_queue<int> que;void TopoSort(int n){ for(int i = 1; i <= n; ++i) { if(degree[i] == 0) que.push(i); } int total = 1; while(!que.empty()) { int cur = que.top(); que.pop(); ans[total++] = cur; for(int i = 0; i < vec[cur].size(); ++i) { int to = vec[cur][i]; degree[to]--; if(degree[to] == 0) que.push(to); } }}int main(){ int T, n, m; scanf("%d", &T); while(T--) { scanf("%d%d", &n, &m); for(int i = 0; i <= n; ++i) { degree[i] = 0; vec[i].clear(); } for(int i = 0; i < m; ++i) { int u, v; scanf("%d%d", &u, &v); degree[v]++; vec[u].push_back(v); } TopoSort(n); ll sum = ans[1]; for(int i = 2; i <= n; ++i) { ans[i] = min(ans[i], ans[i - 1]); sum += ans[i]; } printf("%lld\n", sum); } return 0;}
0 0
- HDU-5695-Gym Class(拓扑排序+优先队列)
- hdu 5695 Gym Class【拓扑排序+优先队列】
- HDU 5695 Gym Class (拓扑排序+优先队列)
- HDU 5695 Gym Class(拓扑排序、优先队列)
- HDU 5695 Gym Class(优先队列+拓扑排序)
- HDU 5695 Gym Class【拓扑排序+优先队列】
- HDU 5695 Gym Class (拓扑排序+优先队列+Vector)
- HDU-5695-Gym Class【拓扑排序】【优先队列】【经典】
- HDU 5695 Gym Class(拓扑排序,优先队列)
- HDU:5695 Gym Class(拓扑排序+优先队列)
- HDU 5695 Gym Class【拓扑排序+优先队列】
- HDU Problem 5395 Gym Class 【拓扑排序+优先队列】
- Gym Class(优先队列+拓扑排序)
- HDU5695:Gym Class(优先队列+拓扑排序)
- hdu5695-优先队列&拓扑排序-Gym Class
- HDU5695-Gym Class-拓扑排序优先队列结合
- Gym Class(拓扑排序+vecteor+优先队列)-HDU5965
- HDU 5695 Gym Class(拓扑排序)
- 论菜鸟的自我修养
- c++教程(二:Structure of a program)
- html
- NUMA
- HDU 2087(KMP)
- HDU 5695 Gym Class(拓扑排序、优先队列)
- 我的第一个小项目上线啦&sql注入式攻击
- poj1458最长公共子序列问题
- hdu 1203
- KMP之next总结
- scn
- JS:(JavaScript)
- workerman高性能socket服务器框架搭建
- wpf 与winform 之间拖拽数据