hrbust2294 方方正正

2021-09-07 08:19:49 字數 722 閱讀 5754

哈理工2016級新生程式設計全國邀請賽c題

乙個r行c列的01矩陣,告訴你每行的和、每列的和,問是否存在這樣的矩陣?

首先,行和和列和之和要相等,否則一定是no。

然後根據gale-ryser定理判斷存在性:

求出\(r^*=(r_1^*,r_2^*,...,r_m^*),r_i^*=行和大於等於i的行數\),

只要\(r^*\preceq s\)就存在,這裡的s就是列和向量。

二元操作符\(\preceq\)的定義是:向量x的前i大的數之和總是比向量y的前i大的數之和要小或者相等,那麼\(x\preceq y\)。

#include#include#includeusing namespace std;

#define n 100006

int i,m,n;

long long rs,cs,r[n],c[n],w[n];

int main()

for(i=1;i<=n;i++)

if(rs!=cs)

sort(c+1,c+1+n,greater());

for(i=n;i;i--)w[i]+=w[i+1];//w[i]:行和大於等於i的有幾個

for(i=1;i<=n;i++)

if(i==n+1) puts("yes");

else puts("no");

}return 0;

}

2 29 學習心得

幾天的練習我一般在中午或晚上進行,總體來說效率不太高。因為我不太容易很專注的去做一件事。但我現在已經在積極的改正了。首先,我對數的範圍經常搞錯,經常爆範圍,有乙個題輸出數太大。只能乙個乙個輸出,以前沒想過,還是我做題太少了啊。做這些題其實思路發散一些很重要,有些題可以找到規律,防止超時。有些題有簡單...

229 兩數之和IV

題目描述 給定乙個二叉搜尋樹和乙個目標結果,如果 bst 中存在兩個元素且它們的和等於給定的目標結果,則返回 true。案例 1 輸入 5 3 6 2 4 7 target 9 輸出 true 案例 2 輸入 5 3 6 2 4 7 target 28 輸出 false definition for...

2 2 9 士兵站隊問題

9 士兵站隊問題 問題描述 在乙個劃分成網格的操場上,n個士兵散亂地站在網格點上。網格點由整數座標 x,y 表示。士兵們可以沿網格邊上 下 左 右移動一步,但在同一時刻任一網格點上只能有一名士兵。按照軍官的命令,士兵們要整齊地列成乙個水平佇列,即排列成 x,y x 1,y x n 1,y 如何選擇x...