首页 > 其他分享 >[SCOI2015]小凸玩矩阵

[SCOI2015]小凸玩矩阵

时间:2022-12-14 20:45:29浏览次数:42  
标签:head int 矩阵 len edge 100001 小凸 SCOI2015

[SCOI2015]小凸玩矩阵 链接:https://www.luogu.com.cn/problem/P4251 题解:可以发现去掉了$k$的限制之后,原问题是一个二分图的最大独立集的问题,加上了$k$的限制就可以直接二分,但要注意的是求第$k$大的,所以要转化为求第$n-k+1$小的。 ``` #include using namespace std; struct node { int v,data,nxt; }; node edge[100001]; int n,m,head[100001],matched[100001],len,k,ans; bool used[100001]; void add(int x,int y,int z) { edge[++len].v=y; edge[len].data=z; edge[len].nxt=head[x]; head[x]=len; return; } bool dfs(int x,int L) { for (int i=head[x];i>0;i=edge[i].nxt) if (!used[edge[i].v]&&edge[i].data<=L) { used[edge[i].v]=1; if (matched[edge[i].v]==0||dfs(matched[edge[i].v],L)) { matched[edge[i].v]=x; return 1; } } return 0; } bool check(int L) { ans=0; for (int i=1;i<=m;++i) matched[i]=0; for (int i=1;i<=n;++i) { for (int j=1;j<=m;++j) used[j]=0; ans+=dfs(i,L); } return ans>=k; } int main() { int d,res=1e9; cin>>n>>m>>k; k=n+1-k; for (int i=1;i<=n;++i) for (int j=1;j<=m;++j) { cin>>d; add(i,j,d); } int first=1,last=1e9,mid; while (first<=last) { mid=(first+last)/2; if (check(mid)) { last=mid-1; res=min(res,mid); } else first=mid+1; } cout<

标签:head,int,矩阵,len,edge,100001,小凸,SCOI2015
From: https://www.cnblogs.com/zhouhuanyi/p/16983469.html

相关文章

  • 矩阵快速幂
    快速幂如果希望求得一个数\(a\)的\(b\)次幂,一般情况下,暴力的做法就是从\(1\)遍历到\(b\),每次遍历时都将结果乘上\(a\),得到最终结果。这种做法的时间复杂度为\(O(......
  • 每天进步一点点《协方差矩阵的实践》
    详情见站内搜索《每天进步一点点《协方差矩阵的实践》》.docx上一次我们学习了PCA的过程,并且在最后还特意为大家介绍了协方差矩阵以及协方差矩阵的特征值和特征向量的作用......
  • 矩阵中的路径
    请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。......
  • 计讯物联5G产品矩阵,构筑工业数字化发展生态
     近日,工信部印发了《工业互联网创新发展行动计划(2021-2023年)》(以下简称《计划》)。《计划》提出,实施网络体系强基行动,推进工业互联网网络互联互通工程,推动IT与OT网络深度......
  • 图论-堆-并查集-2503. 矩阵查询可获得的最大分数
    2503.矩阵查询可获得的最大分数DescriptionDifficulty:困难RelatedTopics:给你一个大小为mxn的整数矩阵grid和一个大小为k的数组queries。找出一个大小......
  • 使用MindSpore计算旋转矩阵
    本文介绍了两个不同的深度学习框架:Jax和MindSpore下的旋转矩阵的实现,对于不同的框架来说同一个功能会涉及到不同的实现方式。在Jax中,由于其函数式编程的特性,就允许......
  • 深度之眼(十一)——矩阵对角化及二次型
    文章目录​​一、相似矩阵的定义以及矩阵的对角化​​​​1.1相似矩阵的定义​​​​1.2矩阵的对角化​​​​二、矩阵对角化的条件以及对称矩阵的对角化​​​​2.1一般......
  • 机器学习新论文推荐-(成对关系约束的非负矩阵分解)
    徐亦达老师团队新发了一篇论文-RelativePairwiseRelationshipConstrainedNon-negativeMatrixFactorisation(成对关系约束的非负矩阵分解),提出了一种非负矩阵的分解算法,......
  • C语言 图的遍历(广度优先和深度优先、邻接矩阵)
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>/*--------辅助广度优先遍历用的空闲单元法循环队列-----------*/#defineMaxQueuenNum20typ......
  • 59.螺旋矩阵II
    给定一个正整数 n,生成一个包含1到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入:3输出:[[1,2,3],[8,9,4],[7,6,5]]力扣题......