CSU 1802 小X的战斗力【拓扑dp】
题意:n个人,每个人有一个能力值。给出m组关系A, B, 表示A的能力值大于B的能力值。
问:m组关系中是否有自相矛盾的?若不矛盾,问:第1个人在所有人的能力值中排名第几?有多少人的能力值的排名可以确定?
题解:拓扑排序。存两个图,原图与反图。
若原图可达该点数+反图可达该点数-1 = n,则排名确定。
bitset一下。
#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second
#define pii pair<int, int>
#define mp make_pair
typedef long long ll; vector<int> ve[], rve[];
int in[], rin[];
bitset<> dp[], rdp[];
int ra[], rra[];
int topsort(int n, int* in, vector<int>* ve, bitset<>* dp, int* ra){
queue<int> Q;
for(int i = ; i <= n; i++)
if(in[i] == ) Q.push(i);
int ret = ;
while(!Q.empty()){
int p = Q.front();
Q.pop();
ret++;
ra[p] = ret;
for(int i = ; i < ve[p].size(); i++){
int to = ve[p][i];
in[to]--;
dp[to] |= dp[p];
if( !in[to] ) Q.push(to);
}
}
return ret == n;
}
void debug(int n){
puts("*******************");
for(int i = ; i <= n; i++){
cout << i << endl;
cout << dp[i] << ' ' << rdp[i] << endl;
}
puts("********end********");
}
int main(){
int t; scanf("%d", &t);
while(t--){
int n, m, u, v;
scanf("%d%d", &n, &m);
for(int i = ; i <= n; i++){
ve[i].clear();
rve[i].clear();
in[i] = rin[i] = ;
ra[i] = rra[i] = ;
dp[i].reset(), rdp[i].reset();
dp[i][i-] = rdp[i][i-] = ;
}
for(int i = ; i < m; i++){
scanf("%d%d", &u, &v);
ve[u].push_back(v);
in[v]++;
rve[v].push_back(u);
rin[u]++;
} if( !topsort(n, in, ve, dp, ra) )//有向图有环
puts("Wrong");
else{
topsort(n, rin, rve, rdp, rra);
//前面有 dp[i]-1 个, 后面有 rdp[i]-1 个;
printf("%d\n", dp[].count()+rdp[].count()- == n? ra[]:-);
int sum = ;
for(int i = ; i <= n; i++)
if(dp[i].count()+rdp[i].count()- == n) sum++;
printf("%d\n", sum);
}
}
return ;
}
另解:floyd
CSU 1802 小X的战斗力【拓扑dp】的更多相关文章
- 洛谷.5284.[十二省联考2019]字符串问题(后缀自动机 拓扑 DP)
LOJ BZOJ 洛谷 对这题无话可说,确实比较...裸... 像dls说的拿拓扑和parent树一套就能出出来了... 另外表示BZOJ Rank1 tql... 暴力的话,由每个\(A_i\)向它 ...
- Codeforces Round #374 (Div. 2) A , B , C 水,水,拓扑dp
A. One-dimensional Japanese Crossword time limit per test 1 second memory limit per test 256 megabyt ...
- codeforces 721C (拓扑+dp)
题意就是某个人去游览,起点是1点,终点是n点,他总的游览时间不能超过t,第一行给你3个数字,点的个数n,边的个数m,时间t,然后底下m行数据,每行代表一条边,边的起点,终点和权值(走过去花的时间),然 ...
- BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP
BZOJ_3174_[Tjoi2013]拯救小矮人_贪心+DP Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀 ...
- luogu2149 Elaxia的路线 (dijkstra+拓扑dp)
先标记上一个人所有最短路上的边(同时也要标记反向边) 然后拿着另一个人最短路上的边(会构成一个DAG)去做拓扑dp,记从原点到某个点的最大的某个路径的被标记的边的个数 #include<bits ...
- UVA 11324.The Largest Clique tarjan缩点+拓扑dp
题目链接:https://vjudge.net/problem/UVA-11324 题意:求一个有向图中结点数最大的结点集,使得该结点集中任意两个结点u和v满足:要目u可以到达v,要么v可以到达u(相 ...
- 小明的密码-初级DP解法
#include #include #include using namespace std; int visited[5][20][9009];// 访问情况 int dp[5][20][9009] ...
- 【BZOJ-4316】小C的独立集 仙人掌DP + 最大独立集
4316: 小C的独立集 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 57 Solved: 41[Submit][Status][Discuss] ...
- 湖南省第十二届大学生计算机程序设计竞赛 B 有向无环图 拓扑DP
1804: 有向无环图 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 187 Solved: 80[Submit][Status][Web Board ...
随机推荐
- Eclipse中Outline里各种图标的含义
在使用Eclipse或者MyEclipse开发的时候,你一定看到过Outline和Package Explorer中小图标,很多刚刚接触编程的童鞋们可能不会在意它们代表的含义,但如果你花几分钟的时间了 ...
- 【转载】PostgreSQL分区表(Table Partitioning)应用
博客地址--点击
- 【转】在Eclipse中配置tomcat
转载地址: http://kin111.blog.51cto.com/738881/163096 为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat, ...
- Session案例:简易的购物车
三个jsp和两个Servlet组成:在WebContent下边建立一个shoppingcart文件夹,将三个jsp文件放在里面: 1.建立一个step1.jsp文件,出现一个表格,是一个复选框,可以选 ...
- hdu4914 Linear recursive sequence
用矩阵求解线性递推式通项 用fft优化矩阵乘法 首先把递推式求解转化为矩阵求幂,再利用特征多项式f(λ)满足f(A) = 0,将矩阵求幂转化为多项式相乘, 最后利用傅里叶变换的高效算法(迭代取代递归) ...
- SqlServer性能优化和工具Profiler(转)
合理的优化和熟练的运用Profiler会让你更好的掌握系统的sql语句和存储过程的效率 目录 第1章 如何打开SQL Server Profile. 3 第2章 SQL Server Profile. ...
- javascript学习(一) 异常处理与简单的事件
一:异常处理 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></ti ...
- Unity-Animator深入系列---fullPathHash和shortNameHash
回到 Animator深入系列总目录 Unity5对状态哈希做了改进,拆分成了fullPathHash和shortNameHash,那么就来看看他们有什么区别 测试结果: fullPathHash支持 ...
- 2016年10月28日 星期五 --出埃及记 Exodus 19:13
2016年10月28日 星期五 --出埃及记 Exodus 19:13 He shall surely be stoned or shot with arrows; not a hand is to ...
- 2016年10月22日 星期六 --出埃及记 Exodus 19:6
2016年10月22日 星期六 --出埃及记 Exodus 19:6 you will be for me a kingdom of priests and a holy nation.' These ...