zoukankan      html  css  js  c++  java
  • 【BZOJ 4057 Kingdoms】

    Time Limit: 10 Sec  Memory Limit: 128 MB
    Submit: 450  Solved: 187
    [
    Submit][Status][Discuss]

    Description

    有一些王国陷入了一系列的经济危机。在很多年以前,他们私底下互相借了许多钱。现在,随着他们的负债被揭发,王国的崩溃不可避免地发生了……现在有n个王国,对于每对王国A和B,A欠B的钱被记为d_AB(我们假设有d_BA=-d_AB成立)。如果一个王国入不敷出(即需要支付超过所能获得的钱),它就可能破产。每当一个王国破产,与它相关的所有债务关系都会被去除,无论是正是负。而王国们的破产不是一瞬间完成的,而是第一个王国破产后,接下来可能破产的王国再继续破产,直到剩下的王国经济都是稳定的。不同的结局将取决于谁先破产,尤其是有的结局只会留下一个王国。请你计算,对于每个王国,是否存在一种结局使得该王国是唯一的幸存者。

    Input

    第一行一个正整数T,表示有T组数据。

    每组数据第一行一个正整数n,表示有n个王国,1 <= n <= 20。

    接下来n行,每行n个整数,第i行第j个整数表示d_ij,保证有d_ii = 0, d_ij = -d_ji, |d_ij| <= 10^6。

    Output

    每组数据输出一行,按照升序输出所有可能的王国编号,空格隔开,如果没有一个王国能满足条件,输出一个0。

    Sample Input

    1
    3
    0 -3 1
    3 0 -2
    -1 2 0

    Sample Output

    1 3

    HINT

    Source

    鸣谢Tjz

    题解:
           ①n很小,考虑状态压缩。

           ②用01表示是否破产,然后状态转移为:状态为布尔量转移。
             
      f[i^(1<<(j-1))]=f[i] 表示让j破产。

    不因一场宿命而忘却初衷

    不因一世坎坷而残喘苟活。————汪峰《流年啊 你奈我何

  • 相关阅读:
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    bzoj 2257 (JSOI 2009) 瓶子与燃料
    splay 模板 洛谷3369
    费用流 模板 洛谷3381
    bzoj 1024 [SCOI2009]生日快乐——模拟
    bzoj 3231 [Sdoi2008]递归数列——矩阵乘法
    hdu 5823 color II——子集dp(独立集)
    bzoj 1093 [ZJOI2007]最大半连通子图——缩点+拓扑
    洛谷 3959 宝藏——枚举+状压dp
    bzoj 1034 [ZJOI2008]泡泡堂BNB——贪心
  • 原文地址:https://www.cnblogs.com/Damitu/p/7691848.html
Copyright © 2011-2022 走看看