题意

哈理工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<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
#define N 100006
int i,m,n;
long long rs,cs,r[N],c[N],w[N];
int main(){while(~scanf("%d%d",&m,&n)){//m行n列rs=cs=0;memset(w,0,sizeof w);for(i=1;i<=m;i++){scanf("%d",&r[i]);rs+=r[i];w[r[i]]++;//w[i]:行和为i的有几个}for(i=1;i<=n;i++){scanf("%d",&c[i]);cs+=c[i];}if(rs!=cs){puts("NO");continue;}sort(c+1,c+1+n,greater<long long>());for(i=n;i;i--)w[i]+=w[i+1];//w[i]:行和大于等于i的有几个for(i=1;i<=n;i++){c[i]+=c[i-1];w[i]+=w[i-1];if(c[i]>w[i])//w就是R*,若c[i]>w[i]表明R*不能盖过Sbreak;}if(i==n+1) puts("YES");else puts("NO");}return 0;
}

【hrbust2294】方方正正相关推荐

  1. html 图片居正中,带庭院中式二层四合院别墅设计效果图片,方方正正

    图纸介绍:占地方方正正的带庭院中式二层四合院别墅设计效果图片,古香古色,经典合院设计气质非凡,以中轴线为准,向四方延伸,设计出了此栋恢弘大宅,尽显传统中式雅韵,让人一见倾心,别墅共设有主房两层,根据形 ...

  2. 实实在在做事 方方正正做人

    实实在在做事 方方正正做人   实实在在做事,方方正正做人.这是一种理念.开宗明义,我想说几个问题. 第一个问题是儒家文化的影响.大家知道中国是儒.佛.道,在目前这中三教合一的状况下,表现得很明显.儒 ...

  3. 16哈理工新生赛 C 方方正正 (证明题)

    方方正正 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 87(24 users) Total Accepted: 19(15 user ...

  4. Hrbust 2295 方方正正【规律】

    方方正正 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 138(34 users) Total Accepted: 34(23 use ...

  5. 方方正正——贪心+01矩阵

    题目: 方方正正 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 76(21 users) Total Accepted: 16(13 ...

  6. 哈理工OJ 295 方方正正(判断01矩阵是否合法)

    题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2295 方方正正 Time ...

  7. Hrbust2294修建传送门(尺取法)

    修建传送门 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 76(18 users) Total Accepted: 19(16 use ...

  8. 方方正正【规律 思维】

    http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2295 给你r行 c列  r个行的和 ...

  9. CVPR21最佳检测:不再是方方正正的目标检测输出(附源码)

    计算机视觉研究院专栏 作者:Edison_G 有些目标往往具有任意方向的分布.因此,检测器需要更多的参数来编码方向信息,这往往是高度冗余和低效的... 公众号ID|ComputerVisionGzq ...

最新文章

  1. 机器学习小抄,轻松搞定理解机器学习!
  2. mega_[MEGA DEAL]完整的Java编程训练营(94%折扣)
  3. 各路券商会盟互联网金融 敢问路在何方
  4. ajax数据字符串拼接,ajax请求到后台数据,前台不用拼接字符串,一样显示到页面...
  5. app名字变为android+api,一起来做个app吧 wanandroid开放API
  6. es6 新增数据类型_ES6新增特性整理
  7. 题目1120:全排列
  8. r语言dataellipse_R语言绘图:28个实用程序包
  9. opencv python 实现灰度图像和彩色图像直方图全局均衡化和自适应均衡化
  10. 一台电脑如何同开两个或多个飞信?
  11. Java程序设计24学时轻松掌握_24小时轻松掌握系列——Java程序设计 24学时轻松掌握...
  12. 不需要数据库的php迷你博客程序,GitHub - Smilefish0/miniblog: 一个不需要数据库、轻量级、微型、开源的博客程序!...
  13. php 503解决办法,php设置页面返回503状态-php设置503http状态的方法-吾爱编程网
  14. XSS Challenges xss-quiz.int21h.jp
  15. Extremely hard RSA 低加密指数攻击
  16. 常用API,基本类型包装类,日期类,异常,集合进阶,IO流,多线程
  17. 【爬虫】01-爬斗鱼妹子图
  18. 2023秋招--腾讯天美--游戏客户端--一面面经
  19. iphone计算机如何打字速度,打字速度太慢了?教你几招快速提高iPhone打字速度
  20. 在Maptlotlib中使用Helvetica字体

热门文章

  1. DB服务器中的参数优化
  2. 推荐一款自己的软件作品[豆约翰博客备份专家],新浪博客,QQ空间,CSDN,cnblogs博客备份,导出CHM,PDF(转载)...
  3. Tigase数据库结构(1)
  4. Transfer Execute Redirect重定向方法介绍
  5. 接计算机专业怎样备考,专接本考试计算机专业复习指南.pdf
  6. unity android 符号表,如何获取libunity.so的符号表
  7. Spring基础——AOP
  8. 都是❤️两层循环❤️的冒泡排序,选择排序,插入排序该怎么区分
  9. 描写计算机老师上课的神态,请你用一段话描写一位老师上课的情景,注意抓住神态语言动作等细节...
  10. php 5.2.6升级,Centos5.5 简单方法升级php到php5.2.6