题目描述:

给出$n$,$m$,表示有$n$盏灯和$m$条奇怪的电线,按下电线一段的灯后另一端会有影响。

求最少按几次。

题解:

高消解异或方程组,得到一堆自由元后搜索自由元状态,然后不断更新答案。

数据卡贪心好评。

代码:

#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 40;
int n,m,hed[N],cnt;
struct EG
{int to,nxt;
}e[N*N];
void ae(int f,int t)
{e[++cnt].to = t;e[cnt].nxt = hed[f];hed[f] = cnt;
}
int a[N][N];
int fre[N],tl;
void gs()
{int l1;for(l1=1;l1<=n;l1++){int tmp = l1;while(tmp<=n&&!a[tmp][l1])tmp++;if(tmp>n)continue;if(tmp!=l1)for(int i=l1;i<=n+1;i++)swap(a[l1][i],a[tmp][i]);for(int i=1;i<=n;i++)if(a[i][l1]&&i!=l1)for(int j=l1;j<=n+1;j++)a[i][j]^=a[l1][j];}
}
int ans=0x3f3f3f3f;
void dfs(int dep,int now)
{if(now>=ans)return ;if(!dep){ans=now;return ;}if(a[dep][dep]){dfs(dep-1,now+a[dep][n+1]);}else{if(a[dep][n+1])return ;dfs(dep-1,now);for(int j=dep-1;j>=1;j--)a[j][n+1]^=a[j][dep];dfs(dep-1,now+1);for(int j=dep-1;j>=1;j--)a[j][n+1]^=a[j][dep];}
}
int main()
{scanf("%d%d",&n,&m);for(int f,t,i=1;i<=m;i++){scanf("%d%d",&f,&t);ae(f,t),ae(t,f);}for(int i=1;i<=n;i++){a[i][i]=a[i][n+1]=1;for(int j=hed[i];j;j=e[j].nxt){int to = e[j].to;a[i][to]^=1;}}gs();dfs(n,0);printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/LiGuanlin1124/p/10474033.html

[Usaco2009 Nov]lights相关推荐

  1. bzoj1770: [Usaco2009 Nov]lights 燈(折半搜索)

    1770: [Usaco2009 Nov]lights 燈 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1153  Solved: 564 [Sub ...

  2. 【bzoj1770/Usaco2009 Nov】lights 燈——折半搜索

    Description 貝希和她的閨密們在她們的牛棚中玩遊戲.但是天不從人願,突然,牛棚的電源跳閘了,所有的燈都被關閉了.貝希是一個很膽小的女生,在伸手不見拇指的無盡的黑暗中,她感到驚恐,痛苦與絕望. ...

  3. [BZOJ2017][Usaco2009 Nov]硬币游戏

    Description 农夫约翰的奶牛喜欢玩硬币游戏,因此他发明了一种称为"Xoinc"的两人硬币游戏. 初始时,一个有N(5 <= N <= 2,000)枚硬币的堆栈 ...

  4. bzoj:2018 [Usaco2009 Nov]农场技艺大赛

    Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M ...

  5. BZOJ 2019 [Usaco2009 Nov]找工作:spfa【最长路】【判正环】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2019 题意: 奶牛们没钱了,正在找工作.农夫约翰知道后,希望奶牛们四处转转,碰碰运气. 而 ...

  6. [bzoj 2017] [Usaco2009 Nov]硬币游戏

    一个多月没更博客了..(期间明白了自己有多傻逼. 这种问题大概就倒着做... f[i][j]:表示考虑剩下的硬币i..n,且之前的人取了j个时,先手最多拿到的钱数.aft[i]:表示硬币i..n的总钱 ...

  7. 【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2019 spfa裸题.....将飞机场的费用变成负,然后spfa找正环就行了 #include < ...

  8. bzoj2018 [Usaco2009 Nov]农场技艺大赛

    Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M ...

  9. 异或高斯消元+暴搜 lights 燈

    问题 F: [Usaco2009 Nov]lights 燈 时间限制: 1 Sec 内存限制: 64 MB 题目描述 贝希和她的闺密们在她们的牛棚中玩游戏.但是天不从人愿,突然,牛棚的电源跳闸了,所有 ...

最新文章

  1. 「WC2018」即时战略
  2. 手机能上网,电脑联不上网
  3. 信息系统项目管理师-信息系统范围管理核心知识点思维脑图
  4. 云炬WEB开发笔记2-5 chrome调试工具
  5. 策略模式示例代码_策略设计模式示例
  6. flare3d_clone
  7. Intel® Nehalem/Westmere架构/微架构/流水线 (3) - 流水线前端
  8. Matlab二维图导入ansys,(原创教程)利用Matlab对ANSYS数据进行后处理.pdf
  9. 计算机里的硬盘分区,Disk Genius对电脑硬盘分区的详细步骤
  10. python如何筛选excel重复_老板让我从上千个Excel中筛选数据,利用Python分分钟解决!...
  11. Mac outlook设置HTML,设置苹果MAC 端outlook客户端说明
  12. 车载蓝牙通话支持电话本PBAP功能的说明
  13. 安卓手机查看连接到热点设备的ip地址
  14. 海思Hi3516EV200开发第一天
  15. 大家来学VIM(一个历久弥新的编辑器)
  16. 【葡萄城报表案例分享】项目施工进度报告 – 树形报表
  17. word办公技巧:如何让Excel与Word文档数据同步
  18. 水表读数图解_水表读数怎么正确看 水表怎么读?
  19. 写给‘真‘零经验的童鞋学习编程的建议
  20. 洛谷P2161 [SHOI2009]会场预约【Treap】

热门文章

  1. R安装并行计算工具包snowfall实现并行运算资源
  2. 基于unity的直升机模拟设计
  3. 基础30讲 第六讲 中值定理
  4. MacBook Pro win7系统下使用 苹果鼠标 apple mouse
  5. Python 转换圆形、五边形、六边形、八边形PNG图片
  6. Geany无法识别中文怎么办
  7. 【计算机图形学实验二——实现圆的中点算法、椭圆的中点算法】
  8. 电脑怎么录屏幕视频带声音?电脑录屏教程介绍
  9. 最新抖音X-Bogus、msToken、_signature、ttwid、webid分析(2023-04-12)
  10. python3计算md5_python 计算文件的md5值实例