Atcoder abc241
https://atcoder.jp/contests/abc241/tasks
G - Round Robin
n 个人
两两之间打比赛
已知 已经结束了m场,每场wi赢,li输
问 如果所有比赛结束后 可能成为赢得比其它人都多的可能的id有哪些?
范围
n 50
2s
1024mb
我的思路
如果一个人目前全胜,那当然可能
那如果一个人输过,那么可能是比其他所有人多吗?
显然是 n(n-1)/2 场比赛, 那么有n(n-1)/2个胜场, n(n-1)/2个负场
如果最多的t场,其它最多t-1场, t + (t-1)(n-1) >= n(n-1)/2
t >= (n-1)(n+2)/2n = (n-1)(1/2+1/n)
看起来似乎不一定要全胜
试一试
1 | 12345 |
这样的话 1胜3也是胜最多的
看数据量n 50, n(n-1)/2 = 1225
看起来能接受n^4
既然只讨论可能性, 那么不妨直接贪心这个人赢得最多, 得到他赢的次数t
那么变成剩下的点组成的图,能否让最大胜利次数 < t
感觉dp点或者dp边, 都不知道怎么处理互相关联的问题, 怎么做局部性
以及另外一个问题是, 如果剩下的点没有边已经确定,那么最小的胜利局数是怎么 去分配边
毫无头绪