贝希和她的闺密们在她们的牛棚中玩游戏。但是天不从人愿,突然,牛棚的电源跳闸了,所有的灯都被关闭了。贝希是一个很胆小的女生,在伸手不见拇指的无尽的黑暗中,她感到惊恐,痛苦与绝望。她希望您能够帮帮她,把所有的灯都给重新开起来!她才能继续快乐地跟她的闺密们继续玩游戏! 牛棚中一共有N(1 <= N <= 35)盏灯,编号为1到N。这些灯被置于一个非常複杂的网络之中。有M(1 <= M <= 595)条很神奇的无向边,每条边连接两盏灯。 每盏灯上面都带有一个开关。当按下某一盏灯的开关的时候,这盏灯本身,还有所有有边连向这盏灯的灯的状态都会被改变。状态改变指的是:当一盏灯是开著的时候,这盏灯被关掉;当一盏灯是关著的时候,这盏灯被打开。 问最少要按下多少个开关,才能把所有的灯都给重新打开。 数据保证至少有一种按开关的方案,使得所有的灯都被重新打开。

高斯消元

#include<bits/stdc++.h>
typedef long long ll;
const int inf=0x3f3f3f3f;
#define For(i,a,b) for(int i=a;i<=b;i++)
#define FFor(i,a,b) for(int i=a;i>=b;i--)
template <class T> inline T min(T a,T b,T c)
{return min(min(a,b),c);
}
template <class T> inline T max(T a,T b,T c)
{return max(max(a,b),c);
}
template <class T> inline T min(T a,T b,T c,T d)
{return min(min(a,b),min(c,d));
}
template <class T> inline T max(T a,T b,T c,T d)
{return max(max(a,b),max(c,d));
}
using namespace std;
const int N=1e3;
const double eps=1e-9;
//***********name**************
int matrix[N][N];
int ans=inf;
int n,m;
int res[N];
//***********function**********
void gauss()
{For(i,1,n){int t=i;For(j,i+1,n)if(matrix[j][i]){t=j;break;}if(t!=i)For(j,1,n+1)swap(matrix[t][j],matrix[i][j]);For(j,i+1,n){if(matrix[j][i])For(k,1,n+1)matrix[j][k]^=matrix[i][k];}}
}
void dfs(int cur,int tot)
{if(ans<=tot)return;if(cur<1){ans=min(ans,tot);return;}if(matrix[cur][cur]){res[cur]=matrix[cur][n+1];For(i,cur+1,n)res[cur]^=matrix[cur][i]&res[i];if(res[cur])dfs(cur-1,tot+1);elsedfs(cur-1,tot);}else{res[cur]=0;dfs(cur-1,tot);res[cur]=1;dfs(cur-1,tot+1);}
}//******************************
int main()
{cin>>n>>m;For(i,1,m){int a,b;scanf("%d%d",&a,&b);matrix[a][b]=1;matrix[b][a]=1;}For(i,1,n)matrix[i][i]=1,matrix[i][n+1]=1;gauss();dfs(n,0);
cout<<ans;return 0;
}

转载于:https://www.cnblogs.com/planche/p/9062928.html

P2962 [USACO09NOV]灯Lights相关推荐

  1. 洛谷 P2962 [USACO09NOV]灯Lights

    P2962 [USACO09NOV]灯Lights 题目描述 Bessie and the cows were playing games in the barn, but the power was ...

  2. 折半搜索+洛谷 P2962 [USACO09NOV]Lights G

    题意: 有 n盏灯,每盏灯与若干盏灯相连,每盏灯上都有一个开关,如果按下一盏灯上的开关,这盏灯以及与之相连的所有灯的开关状态都会改变.一开始所有灯都是关着的,你需要将所有灯打开,求最小的按开关次数.( ...

  3. 高斯消元简单线性代数线性基学习记录

    线性代数,唉 高斯消元 P4035 [JSOI2008]球形空间产生器 题目描述 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标 ...

  4. Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一)

    Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(一) 本文目录: 一.[旋转的精灵女孩]案例运行效果 二.Three.js简介 三.Three.js代码正常运行显示条件 (1)不载入 ...

  5. Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(二)

    Three.js实例详解___旋转的精灵女孩(附完整代码和资源)(二) 本篇目录: 五.实例中所使用的代码语法详细解释 (1).构建一个三维空间场景 (2).选择一个透视投影相机作为观察点 (a).创 ...

  6. 如何学习3D Three.js 3D引擎

    http://sanshizi.iteye.com/blog/1929613 我已经用Three.js做了些小实验,这是一个比较伟大的引擎,你只需要为浏览器的不支持而头疼.你可以用它来创建摄像机(ca ...

  7. 如何学习Three.JS 3D引擎

    我已经用Three.js做了些小实验,这是一个比较伟大的引擎,你只需要为浏览器的不支持而头疼.你可以用它来创建摄像机(cameras),对象,(objects), 光照(lights), 材质(mat ...

  8. CF294C Shaass and Lights(排列组合)

    题目描述 There are n n n lights aligned in a row. These lights are numbered 1 1 1 to n n n from left to ...

  9. vector机器人 WHAT DO VECTOR‘S BACK LIGHTS MEAN? 矢量背光是什么意思?

    Vector has a series of lights on his back. These Back Lights change color to show Vector's current s ...

最新文章

  1. (转)C# 3.0 LINQ 的演变及其对 C# 设计的影响
  2. iOS身份证号码识别
  3. Java知识点总结(Java容器-EnumSet)
  4. 基于XML的自动装配||SpEL测试
  5. 【Linux】一步一步学Linux——declare命令(217)
  6. confusion_matrix(混淆矩阵)
  7. java web过滤器
  8. Maven属性(properties)标签的使用
  9. LeetCode 1957. 删除字符使字符串变好
  10. 三星Galaxy Note20系列价格曝光:大小杯差距明显
  11. WPF TreeViewItem
  12. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)...
  13. my sql实验视图_数据库SQL 视图的创建及使用实验报告(共5篇)
  14. react 小书学习笔记-state/props
  15. C# WinForm中NotifyICon控件的用法
  16. FL Studio20.9最新中文fl水果编曲软件
  17. CVPR2019资源汇总
  18. 基于HTML+CSS制作静态页面【剪纸文化15页】传统文化设计题材 dreamweaver制作静态html网页设计作业作品...
  19. 【Linux】一步一步学Linux——VMware Workstation 15 Pro安装图解教程(06)
  20. KDF- key derivation function

热门文章

  1. DOS 批量修改文件名
  2. 神奇的不拆封读信,MIT透视技术登上nature子刊
  3. 上海德拓人工智能事业部招聘图像算法工程师
  4. 百度AI快车道深圳专场,揭秘CV目标检测核心技术
  5. 开源目标检测算法用于交通标志检测全方位评估
  6. Kaggle新上比赛:胸部X光片肺炎检测
  7. Python学习:快速搭建python环境
  8. 【机器学习】机器学习从零到掌握之十二 -- 教你使用决策树预测隐形眼镜类型
  9. 收藏 | 13则PyTorch使用的小窍门
  10. 数据结构(六)霍夫曼树与编码