[Gauss]HDOJ3364 Lanterns
题意:有n个灯笼,m个开关
每个开关可以控制k个灯笼, 然后分别列出控制的灯笼的编号(灯笼编号为1到n)
下面有Q个询问,每个询问会有一个最终状态(n个灯笼为一个状态)0代表关 1代表开
问到达这种状态,按开关的方法总数
解释一下案例:
3 2 (有3个灯笼, 2个开关)
2 1 2 (第一个开关控制2个灯笼,这两个灯笼的编号是1、2)
2 1 3 (第一个开关控制2个灯笼,这两个灯笼的编号是1、3)
2 (2个询问)
0 1 1 (这3个灯笼变为关、开、开 有几种按开关的方法)
1 1 1 (这3个灯笼变为开、开、开 有几种按开关的方法)
很明显的高斯消元,与POJ 1830 开关问题几乎完全一样
本题是n个灯 m个开关(即 n个方程m个未知数)
P.s. 要记得每个Q都要对状态初始化!
][];
];
int n;
int Gauss(int n, int m)
{
, k, num=;
;k<n && col<m;k++, col++)
{
int max_r=k;
;i<n;i++)
if(abs(a[i][col])>abs(a[max_r][col]))
max_r=i;
if(max_r!=k)
;j++)
swap(a[k][j], a[max_r][j]);
if(!a[k][col])
{
k--;
free_x[num++]=col;
continue;
}
;i<n;i++)
if(a[i][col])
;j++)
a[i][j]^=a[k][j];
}
for(int i=k;i<n;i++)
if(a[i][col])
;
return m-k;
}
][];
int main()
{
;
scanf("%d", &t);
while(t--)
{
memset(a, , sizeof(a));
memset(b, , sizeof(b));
int n, m;
scanf("%d%d", &n, &m);
;i<m;i++)
{
int k;
scanf("%d", &k);
while(k--)
{
int X;
scanf("%d", &X);
a[X-][i]=;
b[X-][i]=;
}
}
int Q;
scanf("%d", &Q);
printf("Case %d:\n", ca++);
while(Q--)
{
;i<n;i++)
;j<m;j++)
a[i][j]=b[i][j];
;i<n;i++)
scanf("%d", &a[i][m]);
int t=Gauss(n, m);
)
{
puts(");
continue;
}
LL ans=1LL<<t;
cout<<ans<<endl;
}
}
;
}
HDOJ 3364
[Gauss]HDOJ3364 Lanterns的更多相关文章
- OPEN CASCADE Gauss Least Square
OPEN CASCADE Gauss Least Square eryar@163.com Abstract. The least square can be used to solve a set ...
- OpenCASCADE Gauss Integration
OpenCASCADE Gauss Integration eryar@163.com Abstract. Numerical integration is the approximate compu ...
- HDU 3364 Lanterns 高斯消元
Lanterns Problem Description Alice has received a beautiful present from Bob. The present contains ...
- Lanterns
Lanterns 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=86640#problem/B 题目: Description ...
- C# 列主元素(Gauss)消去法 计算一元多次方程组
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- C# 顺序高斯(Gauss)消去法计算一元多次方程组
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- HDU 3364 Lanterns (高斯消元)
题意:有n个灯和m个开关,每个开关控制数个灯的状态改变,给出k条询问,问使灯的状态变为询问中的状态有多少种发法. 析:同余高斯消元法,模板题,将每个开关控制每个灯列成行列式,最终状态是结果列,同余高斯 ...
- 整数矩阵CMO 2102回馈(gauss整数解)
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! 本题是CMO(数学 Olympics) 2012 第二题 所以还是很坑的…… ...
- [Gauss]HDOJ3976 Electric resistance
题意: 一看图就明白了 要求的是1与n端点间的等效电阻 重点在于转化成考虑电流 根据KCL定理:在任一瞬间流出(流入)该节点的所有电流的代数和恒为零 U = IR 可以令1点的电势为零 那么n点的电势 ...
随机推荐
- HTML+CSS学习笔记 (6) - 开始学习CSS
HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...
- 详解null
前言 在java中初始化的时候经常用到null,也经常会碰到空指针异常(NullPointerException),由于碰到的频率比较高,我认为有必要进行一下了解,揭开它的神秘面纱. 一.null是代 ...
- poj 3046 Ant Counting
Ant Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4982 Accepted: 1896 Desc ...
- 《C#高级编程》
<C#高级编程>是一本真正的C#技术"字典",长达36章.1200页的内容-涵盖了C#..NET各个方面的基础内容. 当然这本书我没有真正的看过一遍,只是在需要的时候才 ...
- encodeURIComponent=>Uri.EscapeDataString
javascript: encodeURIComponent=> C#: Uri.EscapeDataString http://stackoverflow.com/questions/5754 ...
- mysql 不能远程连接
不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直 ...
- 上传图片(基于zepto.js)
效果如下: <div class="otherPic"> <div id="showOtherImage"></div> & ...
- input属性disabled和readonly的区别
两种属性的写法如下: 1.<input type="text" name="name" value="xxx" disabled=&q ...
- 使用WebGL实现一个Viewer来显示STL文件
关键字:WebGL,STL,ThreeJS,Chrome,Viewer,Python3.4, HTML5,Canvas. OS:Windows 10. 本文介绍如何使用ThreeJS来实现一个WebG ...
- List<t>中如何将指定元素的值放到第一位
public static List<GCountryExtend> GetList() { try { var result = new List<GCountryExtend&g ...