HDU OJ Matrix Swapping II
Matrix Swapping II
Time Limit : 9000/3000ms (Java/Other)?? Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 12?? Accepted Submission(s) : 8
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Given an N * M matrix with each entry equal to 0 or 1. We can find some rectangles in the matrix whose entries are all 1, and we define the maximum area of such rectangle as this matrix’s goodness.
We can swap any two columns any times, and we are to make the goodness of the matrix as large as possible.
Input
There are several test cases in the input. The first line of each test case contains two integers N and M (1 ≤ N,M ≤ 1000). Then N lines follow, each contains M numbers (0 or 1), indicating the N * M matrix
Output
Output one line for each test case, indicating the maximum possible goodness.
Sample Input
3 4 1011 1001 0001 3 4 1010 1001 0001Sample Output
4 2 分析:對每一行進行處理然后再疊加,到每一行用sum[j]記下到這一行有多少個1例如:
1 0 1 1 sum[j]的記錄就是: 1 0 1 1
1 0 0 1???????????????????????????? 2 0 0 2
0 0 0 1???????????????????????????? 0 0 0 3
然后對num[j]從大到小排一下,求出讀取到當前行能夠得到的最大面積。
也就是最右邊放著最多的1,依次類推。那么當前最大的面積就是 MAX(max,sum[j]*(j+1))了
轉載于:https://www.cnblogs.com/lzmfywz/articles/2356888.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的HDU OJ Matrix Swapping II的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot配置文件两种方式
- 下一篇: 十四、List,Set,Collecti