都是简单的异或高斯消元

由于bzoj2466要求解得最小和,所以我们最后还要穷举自由元取最优解

 type node=record
       po,next:longint;
     end; var f:array[..] of longint;
    a:array[..,..] of longint;
    i,x,y,ans,n:longint; procedure swap(var a,b:longint);
  var c:longint;
  begin
    c:=a;
    a:=b;
    b:=c;
  end; procedure dfs(k,sum:longint);
  var j,p:longint;
  begin
    if sum>=ans then exit;
    if k= then
    begin
      if ans>sum then ans:=sum;
      exit;
    end;
    if a[k,k]= then
    begin
      p:=a[k,n+];
      for j:=k+ to n do
        if a[k,j]= then p:=p xor f[j];   //回代
      f[k]:=p;
      dfs(k-,sum+f[k]);
    end
    else begin
      f[k]:=;
      dfs(k-,sum);
      f[k]:=;
      dfs(k-,sum+);
      f[k]:=;
    end;
  end; procedure work;
  var i,j,k,p:longint;
  begin
    for i:= to n do
    begin
      p:=i;
      for j:=i to n do
        if a[j,i]<> then
        begin
          p:=j;
          break;
        end;      if p<>i then
       for j:= to n+ do
         swap(a[i,j],a[p,j]);
     if a[i,i]= then continue;
     for k:=i+ to n do
       if a[k,i]<> then
       begin
         for j:=i to n+ do
           a[k,j]:=a[k,j] xor a[i,j];
       end;
    end;
    ans:=;
    dfs(n,);
  end; begin
  readln(n);
  while n<> do
  begin
    fillchar(a,sizeof(a),);
    fillchar(f,sizeof(f),);
    for i:= to n- do
    begin
      readln(x,y);
      a[x,y]:=;
      a[y,x]:=;
    end;
    for i:= to n do
    begin
      a[i,i]:=;
      a[i,n+]:=;
    end;
    work;
    writeln(ans);
    readln(n);
  end;
end.

bzoj2466

bzoj2466,poj1222的更多相关文章

  1. 二进制枚举例题|poj1222,poj3279,poj1753

    poj1222,poj3279,poj1753 听说还有 POJ1681-画家问题 POJ1166-拨钟问题 POJ1054-讨厌的青蛙

  2. 【BZOJ2466】[中山市选2009]树 树形DP

    [BZOJ2466][中山市选2009]树 Description 图论中的树为一个无环的无向图.给定一棵树,每个节点有一盏指示灯和一个按钮.如果节点的按扭被按了,那么该节点的灯会从熄灭变为点亮(当按 ...

  3. [bzoj2466][中山市选2009]树_树形dp

    树  bzoj-2466 中山市选-2009 题目大意:给定一棵树,每一个点有一个按钮和一个灯泡.如果按下一个点的按钮那么和这个点直接相连的点包括这个点的灯泡的状态会改变.如果是点亮就会变成熄灭,如果 ...

  4. POJ1222、POJ3279、POJ1753--Flip

    POJ1222-EXTENDED LIGHTS OUT POJ3279-Fliptile POJ1753-Flip Game 为什么将着三个题放一起讲呢?因为只要搞明白了其中一点,就可以一次3ac了- ...

  5. poj1222(高斯消元法解异或方程组+开关问题)

    题目链接:https://vjudge.net/problem/POJ-1222 题意:给定一个5×6的01矩阵,改变一个点的状态时它上下左右包括它自己的状态都会翻转,因为翻转2次等价与没有翻转,那么 ...

  6. 高斯消元几道入门题总结POJ1222&&POJ1681&&POJ1830&&POJ2065&&POJ3185

    最近在搞高斯消元,反正这些题要么是我击败了它们,要么就是这些题把我给击败了.现在高斯消元专题部分还有很多题,先把几道很简单的入门题总结一下吧. 专题:http://acm.hust.edu.cn/vj ...

  7. BZOJ2466——[中山市选]树

    1.题目大意:给你一棵树,树的每个节点都有一个权值,是0或1,最开始都是0,你可以做一种修改操作,就是把一个节点和它相邻的 节点的权值取反,问最少几次修改能把所有节点的权值变得都是1,最多100个节点 ...

  8. poj1222 EXTENDED LIGHTS OUT 高斯消元||枚举

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8481   Accepted: 5479 Description In an ...

  9. poj1222 EXTENDED LIGHTS OUT

    设输入矩阵为A,输出矩阵为B,目标矩阵为C(零矩阵). 方便起见,矩阵行列下标均从1开始. 考虑A矩阵元素a(i,j),B矩阵中与其相邻的元素 b(i,j),b(i - 1, j),b(i + 1,j ...

随机推荐

  1. MVP快速开发框架

    所谓MVP(Model-View-Presenter)模式.是将APP的结构分为三层: view - UI显示层 view 层主要负责: 提供UI交互 在presenter的控制下修改UI. 将业务事 ...

  2. SQL Server备份还原数据库中的小把戏

    备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support  1 media families, but 2 media families are expected ...

  3. js中eval函数

    后台数据 // 回显复选框用 List<Long> tempRoles = new ArrayList<Long>(); @SuppressWarnings("unc ...

  4. Oracle 11g 新特性(一)-- 虚拟列

    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...

  5. CI 笔记 数据库

    demo: 1.  建立数据库,driver, 字段 name,telphone,idcard,car,content 2. 建立model,Driver_model.php文件, 建立add方法, ...

  6. MVC5学习笔记

    买了一本MVC5的书:ASP.NET MVC 5 高级编程(第5版).边学边记录一下 1.快速创建模型类,如:自动实现的属性 {get;set;} 输入“prop",按Tab两次,默认属性值 ...

  7. 比较ArrayList和LinkedList

    比较一:添加内容 涉及方法:add public void add_test(){ List<Person> addlist = new ArrayList<Person>() ...

  8. Java 设计模式_代理模式(2016-08-19)

    概念: 代理模式是对象的结构模式.代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用. 就是一个人或者机构代表另一个人或者机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一 ...

  9. .NET开源工程推荐(Accord,AForge,Emgu CV)

         本人用C#开发了一些项目,下面的开源工程给了我很大的帮助——详细的源代码介绍加丰富的实例运用,是非常不错的学习资源,分享给大家,同时附上我的相关开发项目.    Accord.NET The ...

  10. POJ_1088 滑雪(记忆型DP+DFS)

    Description Michael喜欢滑雪,这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...