[Usaco2009 Nov]lights
题目描述:
给出$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相关推荐
- bzoj1770: [Usaco2009 Nov]lights 燈(折半搜索)
1770: [Usaco2009 Nov]lights 燈 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1153 Solved: 564 [Sub ...
- 【bzoj1770/Usaco2009 Nov】lights 燈——折半搜索
Description 貝希和她的閨密們在她們的牛棚中玩遊戲.但是天不從人願,突然,牛棚的電源跳閘了,所有的燈都被關閉了.貝希是一個很膽小的女生,在伸手不見拇指的無盡的黑暗中,她感到驚恐,痛苦與絕望. ...
- [BZOJ2017][Usaco2009 Nov]硬币游戏
Description 农夫约翰的奶牛喜欢玩硬币游戏,因此他发明了一种称为"Xoinc"的两人硬币游戏. 初始时,一个有N(5 <= N <= 2,000)枚硬币的堆栈 ...
- bzoj:2018 [Usaco2009 Nov]农场技艺大赛
Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M ...
- BZOJ 2019 [Usaco2009 Nov]找工作:spfa【最长路】【判正环】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2019 题意: 奶牛们没钱了,正在找工作.农夫约翰知道后,希望奶牛们四处转转,碰碰运气. 而 ...
- [bzoj 2017] [Usaco2009 Nov]硬币游戏
一个多月没更博客了..(期间明白了自己有多傻逼. 这种问题大概就倒着做... f[i][j]:表示考虑剩下的硬币i..n,且之前的人取了j个时,先手最多拿到的钱数.aft[i]:表示硬币i..n的总钱 ...
- 【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=2019 spfa裸题.....将飞机场的费用变成负,然后spfa找正环就行了 #include < ...
- bzoj2018 [Usaco2009 Nov]农场技艺大赛
Description Input 第1行:10个空格分开的整数: N, a, b, c, d, e, f, g, h, M Output 第1行:满足总重量最轻,且用度之和最大的N头奶牛的总体重模M ...
- 异或高斯消元+暴搜 lights 燈
问题 F: [Usaco2009 Nov]lights 燈 时间限制: 1 Sec 内存限制: 64 MB 题目描述 贝希和她的闺密们在她们的牛棚中玩游戏.但是天不从人愿,突然,牛棚的电源跳闸了,所有 ...
最新文章
- 「WC2018」即时战略
- 手机能上网,电脑联不上网
- 信息系统项目管理师-信息系统范围管理核心知识点思维脑图
- 云炬WEB开发笔记2-5 chrome调试工具
- 策略模式示例代码_策略设计模式示例
- flare3d_clone
- Intel® Nehalem/Westmere架构/微架构/流水线 (3) - 流水线前端
- Matlab二维图导入ansys,(原创教程)利用Matlab对ANSYS数据进行后处理.pdf
- 计算机里的硬盘分区,Disk Genius对电脑硬盘分区的详细步骤
- python如何筛选excel重复_老板让我从上千个Excel中筛选数据,利用Python分分钟解决!...
- Mac outlook设置HTML,设置苹果MAC 端outlook客户端说明
- 车载蓝牙通话支持电话本PBAP功能的说明
- 安卓手机查看连接到热点设备的ip地址
- 海思Hi3516EV200开发第一天
- 大家来学VIM(一个历久弥新的编辑器)
- 【葡萄城报表案例分享】项目施工进度报告 – 树形报表
- word办公技巧:如何让Excel与Word文档数据同步
- 水表读数图解_水表读数怎么正确看 水表怎么读?
- 写给‘真‘零经验的童鞋学习编程的建议
- 洛谷P2161 [SHOI2009]会场预约【Treap】
热门文章
- R安装并行计算工具包snowfall实现并行运算资源
- 基于unity的直升机模拟设计
- 基础30讲 第六讲 中值定理
- MacBook Pro win7系统下使用 苹果鼠标 apple mouse
- Python 转换圆形、五边形、六边形、八边形PNG图片
- Geany无法识别中文怎么办
- 【计算机图形学实验二——实现圆的中点算法、椭圆的中点算法】
- 电脑怎么录屏幕视频带声音?电脑录屏教程介绍
- 最新抖音X-Bogus、msToken、_signature、ttwid、webid分析(2023-04-12)
- python3计算md5_python 计算文件的md5值实例