题目大意:树上拉灯游戏

高斯消元解异或方程组,对于全部的自由元暴力2^n枚举状态,代入计算

这做法真是一点也不优雅。。。

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 110
using namespace std;
int n,m;
int f[M][M],is_free[M],tot;
int ans[M],cnt;
void Gauss_Elimination()
{int i,j,k,l;//第i个方程 第j个变量for(i=1,j=1;i<=n;i++,j++){if(j==n+1){for(j=i;j<=n;j++)if(f[j][n+1]==1){puts("-1");exit(0);}m=i-1;return ;}for(k=i;k<=n;k++)if(f[k][j])break;if(k==n+1){is_free[j]=++tot;i--;continue;}for(l=j;l<=n+1;l++)swap(f[i][l],f[k][l]);for(k=i+1;k<=n;k++)if(f[k][j])for(l=j;l<=n+1;l++)f[k][l]^=f[i][l];}m=n;
}
void Get_Ans()
{int i,j,k;for(j=n+1,i=m;i;i--){for(j--;j&&is_free[j];j--);ans[j]=f[i][n+1];for(k=j+1;k<=n;k++)if(f[i][k])ans[j]^=ans[k];}
}
void Initialize()
{memset(f,0,sizeof f);memset(is_free,0,sizeof is_free);ans[0]=0x3f3f3f3f;tot=0;
}
int main()
{int i,j,x,y;while(cin>>n,n){Initialize();for(i=1;i<=n;i++)f[i][i]=1,f[i][n+1]=1;for(i=1;i<n;i++){scanf("%d%d",&x,&y);f[x][y]=f[y][x]=1;}Gauss_Elimination();for(i=0;i<1<<tot;i++){for(j=1;j<=n;j++)if(is_free[j])ans[j]=(i>>is_free[j]-1)&1;Get_Ans();cnt=0;for(j=1;j<=n;j++)if(ans[j])cnt++;ans[0]=min(ans[0],cnt);}cout<<ans[0]<<endl;}return 0;
}

转载于:https://www.cnblogs.com/lytwajue/p/6724343.html

BZOJ 2466 中山市选2009 树 高斯消元+暴力相关推荐

  1. BZOJ 2466 [中山市选2009]树(高斯消元)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2466 [题目大意] 给定一棵树,每个节点有一盏指示灯和一个按钮.如果节点的按扭被按了, ...

  2. 【bzoj4184】shallot 线段树+高斯消元动态维护线性基

    题目描述 小苗去市场上买了一捆小葱苗,她突然一时兴起,于是她在每颗小葱苗上写上一个数字,然后把小葱叫过来玩游戏. 每个时刻她会给小葱一颗小葱苗或者是从小葱手里拿走一颗小葱苗,并且 让小葱从自己手中的小 ...

  3. bzoj 2464: 中山市选[2009]小明的游戏(BFS)

    2464: 中山市选[2009]小明的游戏 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 963  Solved: 394 [Submit][Sta ...

  4. [BZOJ 3143][Hnoi2013]游走(高斯消元+期望)

    Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点, ...

  5. bzoj 3143: [Hnoi2013]游走(高斯消元)

    3143: [Hnoi2013]游走 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3171  Solved: 1390 [Submit][Stat ...

  6. BZOJ.4820.[SDOI2017]硬币游戏(思路 高斯消元 哈希/AC自动机/KMP)

    BZOJ 洛谷 建出AC自动机,每个点向两个儿子连边,可以得到一张有向图.参照 [SDOI2012]走迷宫 可以得到一个\(Tarjan\)+高斯消元的\(O((nm)^3)\)的做法.(理论有\(6 ...

  7. BZOJ 2337: [HNOI2011]XOR和路径( 高斯消元 )

    一位一位考虑异或结果, f(x)表示x->n异或值为1的概率, 列出式子然后高斯消元就行了 --------------------------------------------------- ...

  8. BZOJ 2707: [SDOI2012]走迷宫( tarjan + 高斯消元 )

    数据范围太大不能直接高斯消元, tarjan缩点然后按拓扑逆序对每个强连通分量高斯消元就可以了. E(u) = 1 + Σ E(v) / degree(u) 对拍时发现网上2个程序的INF判断和我不一 ...

  9. bzoj 3503: [Cqoi2014]和谐矩阵(高斯消元)

    3503: [Cqoi2014]和谐矩阵 Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special Judge Submit: 1101  Solved ...

最新文章

  1. SRV05-4二极管参数
  2. 再次记录 Visual Studio 2015 CTP 5 的一个坑
  3. ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[上篇]
  4. 物联网思维导图_物联网将如何改变我们的思维方式
  5. BZOJ 1211: [HNOI2004]树的计数 purfer序列
  6. 计算机二级系统环境,计算机等级二级Java考试辅导:“系统和环境”单元综合复习...
  7. ArcGIS行政区位图制作流程(附行政区划练习数据)
  8. vue整合ueditor
  9. 安装laravel8
  10. 基于K-means的彩色图像聚类之代码实现
  11. 韩寒《三重门》精彩语录2
  12. 短视频剪辑APP开发快速开发
  13. 【Java】俄罗斯方块带背景音乐
  14. 命令与征服2完全版+烈火风暴资料片
  15. VSCode使用chrom调试
  16. 工作汇报PPT模板推荐
  17. 谷歌程序员年薪高达25万美元以上
  18. Vue——05-02组件的数据、为什么data要使用函数、父组件给子组件传递数据的三种写法、父传子以及传两种以上的值、默认值以及父传子的引用类型
  19. sumo 城市场景路网模拟(01)
  20. 百度前端技术学院-斌斌学院-任务五

热门文章

  1. shell变量的使用
  2. PostgreSQL 9.5 pg_dump新特性 你是我的眼
  3. web Api 返回json 的两种方式
  4. WPF 自定义命令 以及 命令的启用与禁用
  5. rhel6.3下使用openssl来生成CA证书并颁发证书实例解析
  6. Android源码学习之如何使用eclipse+NDK
  7. 东方智慧和西方智慧的比较
  8. 组件开发之Asp.net服务器控件Collection[集合]属性的设计时支持--编辑、保存
  9. python中排序的函数_Python中sorted()排序函数
  10. sort ascend matlab,MATLAB sort函数用法