Gym 101201F Illumination 2-sat+ G - Maximum Islands Gym - 101201G二分图染色+匹配

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?.docx 政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题? 立即下载

参考:https://vjudge.net/solution/10901249
可是比赛的时候我没有看出来..
感觉好裸…都不想敲了…
但是这个地方为什么和缩点有关系呢..

题目:https://vjudge.net/contest/188571#problem/G

给你一个地图,L表示陆地,W表示水,C表示你可以任意安排,问最多有多少个陆地联通块。

心得:这道题比赛的时候也想过把一开始的陆地旁边的C变为W.然后可能就是二分图匹配.但不知道会不会对,,而且水题还没过…
现在看来就是这样..感觉都是可以做的,只要敢做..

然后看了看,关键是要把”最大独立集问题”弄懂,,把各个名词弄好,应该就知道原因了..
可以参考http://blog.youkuaiyun.com/whosemario/article/details/8513836

这个地方的最后几行的原因:


二分图的最大独立集

如果一个图是二分图,那么它的最大独立集就是多项式时间可以解决的问题了 |最大独立集| = |V|-|最大匹配数|

顺便补充的:(如果把概念弄好了,就更快上手)

二分图的最小顶点覆盖

定义:

寻找一个点集,使得图上任意一条边至少一个端点位于这个点集内部。二分图的|最小点集|=|最大匹配|

最大独立集就是其补图的最大团

最小路径覆盖

定义:

一个有向无环图,要求用尽量少的不相交的简单路径覆盖所有的节点。

构图:

建立一个二分图,把原图中的所有节点分成两份(X集合为i,Y集合为i'),如果原来图中有i->j的有向边,则在二分图中建立i->j'的有向边。最终|最小路径覆盖|=|V|-|M|

别人的代码:

#include <cstdio>
#include <iostream>
#include <string.h>
#include <string> 
#include <map>
#include <queue>
#include <vector>
#include <set>
#include <algorithm>
#include <math.h>
#include <cmath>
#include <stack>
#define mem0(a) memset(a,0,sizeof(a))
#define meminf(a) memset(a,0x3f,sizeof(a))
using namespace std;
typedef long long ll;
typedef long double ld;
const int maxn=65,inf=0x3f3f3f3f;  
const ll llinf=0x3f3f3f3f3f3f3f3f;   
const ld pi=acos(-1.0L);
int match[maxn*maxn];
int p[maxn][maxn],head[maxn*maxn];
bool visit[maxn][maxn],v[maxn*maxn];
char s[maxn][maxn]; 
int dir[4][2];
int n,m,num;

struct Edge {
    int from,to,pre;
};
Edge edge[maxn*maxn*2];

void addedge(int from,int to) {
    edge[num]=(Edge){from,to,head[from]};
    head[from]=num++;
    edge[num]=(Edge){to,from,head[to]};
    head[to]=num++;
}

void dfs(int i,int j) {
    visit[i][j]=1;
    for (int k=0;k<4;k++) {
        int x=i+dir[k][0],y=j+dir[k][1];
        if (x>0&&y>0&&x<=n&&y<=m) 
        if (!visit[x][y]&&s[x][y]=='L') dfs(x,y);
        if (s[x][y]=='C') s[x][y]='W';
    }
}

bool hungary(int now) {
    for (int i=head[now];i!=-1;i=edge[i].pre) {
        int to=edge[i].to;
        if (!v[to]) {
            v[to]=1;
            if (!match[to]||hungary(match[to])) {
                match[to]=now;match[now]=to;
                return true;
            }
        }
    }
    return false;
}

int main() {
    dir[0][0]=dir[1][0]=dir[2][1]=dir[3][1]=0;
    dir[0][1]=dir[2][0]=1;dir[1][1]=dir[3][0]=-1;
    int i,j,k,ans=0;
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;i++) {
        scanf("%s",s[i]+1);
    }
    mem0(visit);
    for (i=1;i<=n;i++) 
        for (j=1;j<=m;j++) 
            if (!visit[i][j]&&s[i][j]=='L') dfs(i,j),ans++;
    int cnt=0;
    memset(head,-1,sizeof(head));
    num=0;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++) 
            if (s[i][j]=='C') 
                p[i][j]=++cnt;
    for (i=1;i<=n;i++) 
        for (j=1;j<=m;j++) 
            if (s[i][j]=='C'&&(i+j)%2==0) 
                for (k=0;k<4;k++) {
                    int x=i+dir[k][0],y=j+dir[k][1];
                    if (x>0&&y>0&&x<=n&&y<=m) 
                       if (s[x][y]=='C') addedge(p[i][j],p[x][y]);
                }
    int sum=0;
    mem0(match);
    for (i=1;i<=cnt;i++) 
        if (!match[i]) {
            mem0(v);v[i]=1;
            if (hungary(i)) sum++;
        }
    ans+=cnt-sum;
    printf("%d\n",ans);
    return 0;
}
隔离型全桥LLC谐振变化器建模及参数设计资料【仿真+设计报告+计算书】 内容概要:本文档系统性地提供了隔离型全桥LLC谐振变换器的建模与参数设计全套资料,涵盖Simulink、Plecs和PSIM等多种主流仿真平台的实现模型,配套完整的闭环控制设计报告与Mathcad计算书。内容深入聚焦LLC谐振变换器的核心技术环节,包括软开关实现机制、变频与移相混合控制策略、闭环稳定性分析、谐振参数优化设计及软启动过程建模等关键方面。资料不仅包含典型拓扑结构的仿真验证,还整合了多相交错、双向CLLC、恒压恒流双闭环等进阶控制方案,辅以详细的数学推导与工程设计流程,全面支撑从理论分析到实际电源系统开发的全过程。; 适合人群:面向具备电力电子、自动化或电气工程等相关专业背景,从事开关电源、新能源变换系统、高效率DC-DC转换器研发的工程师、高校研究生及科研人员。; 使用场景及目标:① 深入掌握全桥LLC谐振变换器的工作原理与精确建模方法;② 学习并实践基于多平台的闭环控制系统仿真与动态性能优化;③ 借助Mathcad计算书完成实际工程中谐振腔参数、磁性元件与开关频率的系统化设计;④ 支持高水平科研论文撰写、学位课题研究或工业级电源产品的开发与验证。; 阅读建议:建议结合仿真模型、设计报告与计算书三位一体同步研习,重点剖析控制策略的实现逻辑与参数敏感性分析,动手运行并修改仿真文件以深入理解系统动态响应,同时可参照文档中丰富的电力电子拓扑案例进行横向对比与技术拓展。 立即下载

相关推荐

Windows批处理脚本实战:用Ping命令打造简易网络监控工具(附完整代码)

本文介绍如何利用Windows批处理脚本和Ping命令,快速构建一个轻量级、自动化的网络监控工具。该方案无需额外安装软件,通过周期性探测目标IP连通性,并将结果(成功、失败及延迟)自动记录到带时间戳的日志文件中,适合中小团队或临时监控需求,实现低成本、高效率的网络状态监控。

5f4d3s2a1q的博客 494

Gym 101201F 2-SAT

题意:题目链接:http://codeforces.com/gym/101201/attachments 给出一个方格,其中若干点上有灯,每盏灯可以选择在一行或者一列照亮以自己为中心长度为2*r+1的区间,但是要让同一行之间以及同一列之间的灯不能有照亮的重叠区域,问是否可行。思路:每盏灯有两种选择,2-SAT裸题。代码:#include <bits/stdc++.h> using namespac

Bahuia的博客 706

紫光同创PGL50H开发板实战:盘古50KN网口板的高速通信与数据处理

本文详细介绍了紫光同创PGL50H开发板(盘古50KN网口板)在高速通信与数据处理领域的实战应用。文章从开箱、核心芯片解析、开发环境搭建入手,重点讲解了如何配置与测试其8路千兆以太网接口和SFP光纤接口,并深入探讨了FPGA与DDR3协同进行多路数据汇聚处理的系统架构与调试方法,为网络通信与高速数据处理系统开发提供了宝贵的实践经验。

weixin_28256233的博客 452

UVA Live 7957 (Gym 101201F) Illumination 2-SAT

https://icpcarchive.ecs.baylor.edu/external/79/7957.pdf   7957 Illumination You inherited a haunted house. Its floor plan is an n × n square grid with l lamps in fxed locations and no interior walls....

J. Cole 649

特征拼接(Feature Concatenation)技术全景解析

特征拼接是深度学习中的核心特征融合技术,通过在指定维度连接不同来源的特征张量,创造性地解决了多源、多尺度特征融合的关键挑战。这种简单却强大的操作已成为现代神经网络架构设计的基石。

浩瀚之水的专栏 1641

基于Simulink建模仿真的滑模控制的磁悬浮轴承稳定控制仿真

磁悬浮轴承(Magnetic Bearing)利用电磁力来支撑和定位转子,无需机械接触,因此在高速旋转设备中具有广泛应用。滑模控制(Sliding Mode Control, SMC)是一种鲁棒性强的非线性控制方法,适用于磁悬浮轴承的精确控制。以下是基于Simulink的磁悬浮轴承滑模控制系统的详细设计与仿真步骤。通过上述步骤,设计并实现了基于 Simulink 和 Control System Toolbox 的磁悬浮轴承滑模控制系统。

MHD0815的博客 780

Gym - 101201F Illumination(2-sat)

题目地址:http://codeforces.com/gym/101201/attachments 思路: 比较明显的2-sat:每个位置只可选择行或者列,若两位置选择行发生冲突,则必有一选行另一选列,列同理。对应连边判断是否有解即可。 #include #include #include #include #include #include #define lson l , m, rt <

哆啦AC梦的博客 542

人工智能训练师三级·模型生命周期真题40题|训练→评估→调优全链路通关

本文为人工智能训练师三级考试真题解析系列第2篇,聚焦模型生命周期全链路(训练→评估→调优)。内容包含40道精选真题,覆盖数据划分、模型训练、评估指标、超参数调优4个核心阶段。重点考察:1)数据集的合理划分方法(留出法、交叉验证);2)模型训练的基本原理;3)关键评估指标(准确率、召回率、F1等)的应用场景;4)超参数调优技术(网格搜索、随机搜索等)。通过真题解析帮助考生系统掌握模型生命周期的闭环迭代方法论,提升从数据准备到模型优化的全流程实践能力。适合备考人工智能训练师三级认证的考生学习参考。

白话机器学习 89

Gym 101201J Shopping(RMQ +二分 )

思路:因为每次除余一个数,那么每次至少减少一半,发现这个后就可以直接暴力。例如对于a, 每次找区间中第一个小于等于a的数进行除余。用RMQ+二分时间复杂度(qlogloglogn). #include using namespace std; typedef long long LL; const int maxn = 2e5 + 10; int n, q; LL d[maxn << 2][20

fly_tzf的博客 426

【DaVinci Developer专题】-28-Client Server Port Interface中useArgumentType、useArrayBaseType和useVoid介绍

共7页 目录 1 ImplPolicy = useArgumentType 2 ImplPolicy = useArrayBaseType 3 ImplPolicy = useVoid 4 三者代码差异部分 5 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键字: 缩略语/术语 含义 DEV DaVinci Developer

「汽车电子助手」的博客 1502

单板电源设计(LDO、DC/DC)

高速电路设计的电源架构 在电路设计中,一块单板往往涉及多种电源,常见的如5V/3.3V/2.5V/1.8V/1.5V/1.2V/1V0.9V/0.75V等,如此多种类的电源不可能都直接通过背板从电源板获得。一般,单板仅有一种或者两种输入电源,如48V或12V,再由它们产生单板上器件所需要的电源。 单板如何由输入电源生成所需电源,常见有两种架构:集中式电源架构和分布式电源架构。 ...

sinat_15677011的博客 8331

gym 101201 fast-en J Shopping

n 种物品,每种 ai元。q 个人,初始有 vi 元,按顺序买 [ li,ri ] 的物品,能买多少买多少,问最后每个人都剩多少钱

iTom's blog 481

4D毫米波雷达天线设计

多种天线布局方案介绍、天线设计要点介绍

5734

GYM - 101201B Buggy Robot(BFS+DP)

You are trying to program a robot to navigate through a 2-dimensional maze and find the exit.The maze can be represented as a grid with n rows and m columns. Some grid cells have obstaclesthat the rob

LP_Cong 1195

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

gym101201

建立矛盾边,2-SAT 1 #include<bits/stdc++.h> 2 #define Pii pair<int,int> 3 #define fi first 4 #define se second 5 #define maxn 1010 6 const int MAXN = 20020; 7 const int MA...

weixin_30256505的博客 159

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

UVA Live 7958 (Codeforces Gym 101201G) Maximum Islands 二分图染色+匹配

https://icpcarchive.ecs.baylor.edu/external/79/7958.pdf 7958 Maximum Islands You are mapping a faraway planet using a satellite. Your satellite has captured an image of the planet’s surface.

J. Cole 1033

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

UVA Live 7693 (Codeforces Gym 101201B) Buggy Robot DP+bfs

https://vjudge.net/contest/179241#problem/B 给你一个地图,机器人从起点到终点按照字符串的指示前进,如果遇到障碍或者出边界就停留在原地,不算违规。 问你最少修改字符串的几个字符,才能让机器人到终点。 用dp[i][j][k]表示扫描完前k个字符之后,到达地图坐标(i,j)上的最小代价。 把每个状态都依次穷举,加入队列后bfs。

J. Cole 985

Gym 101201H DP+二分

给定总长度n, 给出k条线段。线段的选取不可重叠甚至相交。问如何选取才能让剩下的空隙最小。显然是个DP, 显然是按规定求出最长可选取的线段。敲的太丑了,二分还写炸了,当时就没过。不过这次还学习了重写lower_bound的比较。【与排序无异】#include &lt;bits/stdc++.h&gt; #define ms(x) memset(x,0,sizeof(x)) #define ll l...

米兰的小科比 312

UVALive 7958|Gym 101201G|Maximum Islands|二分图|最大独立点集

DescriptionYou are mapping a faraway planet using a satellite. Your satellite has captured an image of the planet’s surface. The photographed section can be modeled as a grid. Each grid cell is either

とある黄鱼のOIブログ 386

gym101201F Illumination 2-SAT

题目传送门 题目大意:   给出n*n的网格,l栈灯,每盏灯可以选择照亮竖着的2*r+1的范围,或者横着的2*r+1的范围,要求一个格子不会同时被一盏以上的横着的灯照亮,也不能被一盏以上的竖着的灯照亮,所有灯必须亮着,问是否可行。   思路:2-sat的题目,如果两盏灯之间不能同时横着放,则代表必须一横一竖,则找到了2-sat的建边关系,具体看代码。 #include <bi...

weixin_30929295的博客 129

gym101201H

https://vjudge.net/contest/179241#problem/H 区间覆盖问题。 给k个闭区间,问最大不重叠覆盖长度 dp,离散化。 #include <bits/stdc++.h> using namespace std; long long n,k; pair<long long,long long> p[200020]; ...

weixin_30496431的博客 151

Gym - 101201F (2-SAT模板题)

题意:有N个灯,必须横着或竖着照r格,但任意一个格子不能同时被一行或一列的两个灯照到。 典型的2-SAT。列为真,行为假。因为列和行必须选一个。 xjb建建边就OK了#include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cstdio> #include <cmath> #in

yxmGo 339

Gym 101201F Illumination(2-sat)

题意:给定一个n*n的格子,其中有l盏灯,每盏灯能照亮(2 *r+1)的一行或一列,每个格子只能被一行的一盏灯和一列的一盏灯照亮,否则就不满足条件,问是否存在一种方案,打开所有的灯并且满足条件? 思路:每个格子有两种状态,用A1表示被行中的灯照亮,A2表示被列中的灯照亮。 那么对于同一行的可以互相照射两盏灯A,B,则有A1->B2, B1->A1. 对于同一列的可以互相照射两盏灯A,B,则有

fly_tzf的博客 380

Gym - 101201A Alphabet LIS nlogn

大水题 唉唉唉,,又写了道水题,有点内疚啊,浪费时间啊 LIS      ----   nlogn 写法 #include #include #include #include #include #include #include #include #include #include #include #include #include #include

床前明月光 389

[Gym-101201K]

题意说的是有2^k个人两两打淘汰赛,排名靠前的一定会在两两对局中打败排名后的,在随机开局中问排名第r的人赢的场数的期望是多少。

qq965194745的博客 538
上一篇: POJ 2985 The k-th LargestGroup(Treap+并查集)
下一篇: Buggy Robot Gym - 101201B 最短路..
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值