How to count total no. of distinct cycles in an undirected graph. Graph may be disconnected. Constraints: 0<= no. of nodes <=10
Answer for given image is 7
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | strapple | 3515 |
| 6 | tourist | 3470 |
| 7 | dXqwq | 3436 |
| 8 | Radewoosh | 3415 |
| 9 | Otomachi_Una | 3413 |
| 10 | Um_nik | 3376 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 158 |
| 2 | adamant | 152 |
| 3 | Proof_by_QED | 146 |
| 3 | Um_nik | 146 |
| 5 | Dominater069 | 144 |
| 6 | errorgorn | 141 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | chromate00 | 134 |
| 9 | TheScrasse | 134 |
How to count total no. of distinct cycles in an undirected graph. Graph may be disconnected. Constraints: 0<= no. of nodes <=10
Answer for given image is 7
| Name |
|---|



Number of nodes is very small, so a brute force solution should work in O(n * n!).
what is that brute force solution?
actually no. of nodes can be upto 20
In this case you can make a dp solution in O(n^2 * 2^n) (dp[mask][i][j] is 1 if there exists a path from i to j that contains all positions in mask, you can then loop over all of these and check if one of these completes the cycle)
it require more than 4*10^8 space.is that possible?
solve individually for each i value (store the amt of cycles for each length so we can divide by that length later), then you cut down on memory