[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点的电势 ...
随机推荐
- Foundation与Core Foundation内存管理基本原则简述
内存管理是一个十分重要的事情,稍有不慎就会发生内存泄漏或者是野指针的错误.内存泄漏一般表示没有任何指针指向的内存区域,由于这块内存在对象图中无法查找到,所以有可能永远都无法回收,如果内存泄漏的空间比较 ...
- bzoj 3626 LCA
这一道题咋一看只觉得是离线,可以求出所有的f(1,i,z), 答案就等于f(1,r,z)-f(1,l-1,z).但是没有具体的做法,但是求LCA的深度和有一个非常巧妙的做法,每加一个点,就把这个点到根 ...
- COM 学习小记录
COM组件程序:模块,它可以是 动态连接库(DLL) && 可执行程序(EXE),称为 进程内组件(in-of-process component) && 进程外组件( ...
- .NET架构师技能体系
.NET架构师应该掌握什么样的技术?其实这个问题很简单,去看看招聘.NET架构师的公司的职位要求就知道了.比如:http://www.cnblogs.com/guwei4037/p/5615471.h ...
- javascript常用对象
A,window对象 window对象是浏览器模型对象的顶层对象 常用属性: screen:客户端的屏幕和显示性能的信息. history:客户端访问过的url信息 location:当前url链接的 ...
- 解决EnableVisualStyles Bug
一位朋友碰到了一个WinForm的问题,在网上搜了一通,没找到能解决问题的方案, 正好我以前以碰到过,在这里把解决方案呈上,以便有遇到此问题的朋友能有帮助. 问题是这样的,当启用了虚拟样式后,设置好的 ...
- mcrypt加密与解密
$key = 'test'; $result_array = array('name' => 'ta', 'age' => 28); $str = encode($result_array ...
- Oracle分区表做跨分区查询
问:有一张大表,其中按时间字段(TIME_ID)进行表分区(按季度分区),但是如果业务人员做跨季度的大批量数据的查询时,未能走TIME_ID分区索引,导致全表扫描.此种情况该如何处理? 示例解析: 1 ...
- 统一iOS客户端和服务器端认证
最近公司的同事业余时间搞了一个内部的类about.me(https://about.me/)的网站Ocelots,想来是一个很洋气的注意,以后跟客户介绍公司的时候,直接登录该网站,谈到谁的时候,就打开 ...
- Entity Framework 学习笔记(一)安装
1.通过 VS2013 下载,这个没有限制,因为我用的vs是2013 Entity Framework包