【LG3973】[TJOI2015]线性代数

题面

洛谷

题解

正常解法

一大堆矩阵乘在一起很丑对吧

化一下柿子:

\[D=(A*B-C)*A^T\\
\Leftrightarrow D=\sum_{i=1}^n(\sum_{j=1}^na_j*b_{j,i}-c_i)*a_i\\
\Leftrightarrow D=\sum_{i=1}^n\sum_{j=1}^na_i*a_j*b_{i,j}-\sum_{i=1}^na_i*c_i
\]

分析一下我们选或不选某个数的贡献:

因为\(\forall a_i\in{0,1}\),所以我们可以将贡献算出

如果同时选\(i,j\),则获得\(b_{i,j}+b_{j,i}\)的贡献

如果不选\(i\),则减去\(c_i\)的贡献

这就是一个最大权闭合子图:

连边时,\(S\)连代表\((i,j)\)的点,容量\(b_{i,j}+b_{j,i}\),

代表\(i\)的点连\(T\),容量\(c_i\)

而如果选\((i,j)\)必选\(i\)、\(j\)再连

\[(i,j)\rightarrow i(cap=\infty)\\
(i,j)\rightarrow j(cap=\infty)
\]

然后总和-最小割即可

然而因为下面的方法,我没有用最大流

奇怪的\(AC\)

\(\sum_{i=1}^n\sum_{j=1}^nb_{i,j}-\sum_{i=1}^n c_i\)

八行主程序:

int main () {
N = gi(); int ans = 0;
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++) ans += gi();
for (int i = 1; i <= N; i++) ans -= gi();
printf("%d\n", ans);
return 0;
}

【LG3973】[TJOI2015]线性代数的更多相关文章

  1. bzoj 3996: [TJOI2015]线性代数 [最小割]

    3996: [TJOI2015]线性代数 题意:给出一个NN的矩阵B和一个1N的矩阵C.求出一个1*N的01矩阵A.使得 \(D=(A * B-C)* A^T\)最大.其中A^T为A的转置.输出D.每 ...

  2. BZOJ_3996_[TJOI2015]线性代数_最大权闭合子图

    BZOJ_3996_[TJOI2015]线性代数_最大权闭合子图 Description 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大. ...

  3. 【BZOJ3996】[TJOI2015]线性代数(最小割)

    [BZOJ3996][TJOI2015]线性代数(最小割) 题面 BZOJ 洛谷 题解 首先把式子拆开,发现我们的答案式就是这个: \[\sum_{i=1}^n\sum_{j=1}^n B_{i,j} ...

  4. 【BZOJ 3996】 3996: [TJOI2015]线性代数 (最小割)

    3996: [TJOI2015]线性代数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1368  Solved: 832 Description 给 ...

  5. [Luogu 3973] TJOI2015 线性代数

    [Luogu 3973] TJOI2015 线性代数 这竟然是一道最小割模型. 据说是最大权闭合子图. 先把矩阵式子推出来. 然后,套路建模就好. #include <algorithm> ...

  6. 【BZOJ3996】[TJOI2015]线性代数 最大权闭合图

    [BZOJ3996][TJOI2015]线性代数 Description 给出一个N*N的矩阵B和一个1*N的矩阵C.求出一个1*N的01矩阵A.使得 D=(A*B-C)*A^T最大.其中A^T为A的 ...

  7. [TJOI2015]线性代数(网络流)

    [TJOI2015]线性代数(最大权闭合子图,网络流) 为了提高智商,ZJY开始学习线性代数.她的小伙伴菠萝给她出了这样一个问题:给定一个n*n的矩阵B和一个1×n的矩阵C.求出一个1×n的01矩阵A ...

  8. 洛谷P3973 - [TJOI2015]线性代数

    Portal Description 给定一个\(n\times n\)的矩阵\(B\)和一个\(1×n\)的矩阵\(C\).求出一个\(1×n\)的01矩阵\(A\),使得\(D=(A×B-C)×A ...

  9. 【BZOJ】3996: [TJOI2015]线性代数

    题意 给出一个\(N \times N\)的矩阵\(B\)和一个\(1 \times N\)的矩阵\(C\).求出一个\(1 \times N\)的01矩阵\(A\),使得\[ D = ( A * B ...

随机推荐

  1. angularJs的指令系统和双向数据绑定

    一.langularJs的指令系统 <!DOCTYPE HTML> <html ng-app><!--这种以ng开头的就是指令系统,初始化的一个指令,不仅可以加在html ...

  2. 组合测试(Combinatorial Test)/配对测试 (pairwise)

    组合测试方法:配对测试实践 实施组合测试 常用的Pairwise工具集:http://www.pairwise.org/tools.asp 成对测试(Pairwise Testing)又称结对测试.两 ...

  3. 一分钟掌握Spring中bean的生命周期!

    Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean 的别名只能维持 ...

  4. Jquery mobile 自定义 返回按钮 data-rel="back"

    data-rel="back" 第一个页面 主页面 studentmaster.html  通过下面js脚本跳转到详情页面 window.location.href="s ...

  5. php is_callable()与method_exists()函数

    总结就是 method_exists()检查方法是否存在 is_callable()是否存在并可在当前作用域是否可调用

  6. 新闻cms管理系统(一) ---- thinkphp框架准备

    1.thinkphp介绍 一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架 MVC:M数据层. V视图层 . C控制层 优点: (1)入手非常快 (2)thinkpjp提供核心内库.文件.函 ...

  7. inux下使用自带mail发送邮件告警

    安装mailx工具,mailx是一个小型的邮件发送程序. 具体步骤如下: 1.安装 [root@localhost ~]# yum -y install mailx 2.编辑配置文件 [root@lo ...

  8. Spring+Hibernate+struts2+JPA 注解+跨域//完成手机端点击加载更多 下拉加载更多

    一.使用IDEA新建一个maven项目(student) 1.1.0编写pom文件,添加项目所需要的包 <?xml version="1.0" encoding=" ...

  9. 怎样卸载wineQQ?

    好久没实用ubuntu系统的wineqq了.今天用的时候,提示无法使用,要求官网又一次下载新版本号,  感觉挺麻烦的,准备卸载,半天卸载不了. 经过努力,终于还是卸载了. 卸载命令: sudo dpk ...

  10. oracle同义词语句备份

    --创建同义词create synonym T_SYSTEM_USERDEPARTMENT for xtzl.T_SYSTEM_USERDEPARTMENT;--查询同义词SELECT * FROM ...