Description

Input

Output

Sample Input

3 3
1 2 3 4 5 6
1 2 3 0 0 0
0 0 0 4 5 6

Sample Output

2

HINT

题解:

一脸容斥的样子。

枚举判断是否相同的泉水集合S,若|S|>=K,则inc(ANS,(-1)^(|S|-K)*C(|S|,K)*相同对数)

哈希表记录、判断(我之前竟然写了类似字符串哈希的的做法,哈希值相同直接判断相同,WA惨了)。

代码:

 var
i,j,k,l,n,m:longint;
f:array[..,..]of int64;
b:array[..]of longint;
c:array[..,..]of int64;
cc:array[..]of longint;
d:array[..,-..]of longint;
a:array[..]of int64;
ans:int64;
procedure find(x,z:longint;y:int64);
var i,j,l:longint;
begin
i:=cc[a[z]];
while i> do
begin
l:=;
for j:= to x do if d[i,j]<>f[z,b[j]] then begin l:=; break; end;
if l= then begin ans:=ans+y*d[i,]; inc(d[i,]); exit; end;
i:=d[i,-];
end;
inc(m); for i:= to x do d[m,i]:=f[z,b[i]];
d[m,]:=; d[m,-]:=cc[a[z]]; cc[a[z]]:=m;
end;
function ss2(x:longint;y:int64):int64;
var i,j,k:longint;
begin
ss2:=; m:=;
for i:= to do cc[i]:=;
for i:= to n do
begin
a[i]:=;
for j:= to x do a[i]:=(a[i]*+f[i,b[j]])mod ;
find(x,i,y);
end;
end;
procedure ss(x,y:longint);
var i:longint;
begin
if x> then
begin
if y>=k then
begin
if(y-k)mod = then ss2(y,c[y,k])
else ss2(y,-c[y,k]);
end;
exit;
end;
ss(x+,y);
inc(y); b[y]:=x; ss(x+,y);
end;
begin
c[,]:=;
for i:= to do
begin
c[i,]:=; c[i,i]:=;
for j:= to i- do c[i,j]:=c[i-,j-]+c[i-,j];
end;
readln(n,k);
for i:= to n do
for j:= to do read(f[i,j]);
ss(,);
writeln(ans);
end.

BZOJ3198[SDOI2013]SPRING的更多相关文章

  1. bzoj3198[Sdoi2013]spring 容斥+hash

    3198: [Sdoi2013]spring Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 1143  Solved: 366[Submit][Sta ...

  2. BZOJ3198 [Sdoi2013]spring 哈希 容斥原理

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3198 题意概括 有n(1<=n<=100000)组数据,每组数据6个数. 现在问有几对 ...

  3. BZOJ 3198: [Sdoi2013]spring [容斥原理 哈希表]

    3198: [Sdoi2013]spring 题意:n个物品6个属性,求有多少不同的年份i,j满足有k个属性对应相等 一开始读错题了,注意是对应相等 第i个属性只能和第i个属性对应 容斥一下 \[ 恰 ...

  4. BZOJ 3198 SDOI2013 spring

    为什么SDOI省选一年考两次容斥原理? 我们很容易发现>=k个相等时很好计算的 但是我们要求恰好k个,那么我们容斥即可 至于计算>=k个相等,首先我们枚举相等位置,对每个串对应位置做一遍h ...

  5. bzoj 3198 [Sdoi2013]spring(容斥原理+Hash)

    Description Input Output Sample Input 3 3 1 2 3 4 5 6 1 2 3 0 0 0 0 0 0 4 5 6 Sample Output 2 HINT [ ...

  6. [BZOJ 3198] [Sdoi2013] spring 【容斥 + Hash】

    题目链接:BZOJ - 3198 题目分析 题目要求求出有多少对泉有恰好 k 个值相等. 我们用容斥来做. 枚举 2^6 种状态,某一位是 1 表示这一位相同,那么假设 1 的个数为 x . 答案就是 ...

  7. 3198: [Sdoi2013]spring【容斥原理+hash】

    容斥是ans= 至少k位置相等对数C(k,k)-至少k+1位置相等对数C(k+1,k)+至少k+2位置相等对数*C(k+2,k) -- 然后对数的话2^6枚举状态然后用hash表统计即可 至于为什么要 ...

  8. [SDOI2013]spring

    Description Input Output Sample Input 3 3 1 2 3 4 5 6 1 2 3 0 0 0 0 0 0 4 5 6 Sample Output 2 HINT 容 ...

  9. sdoi2013 spring(hash+容斥)

    大体思路是先求出来\(f[i]\)代表有至少\(i\)个位置相同的点对数. 然后就已经没什么好害怕的了(跟BZOJ3622一样) 然后这个\(f[i\)]怎么求呢? 最无脑的方法就是枚举位置,然后\( ...

随机推荐

  1. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  2. Linux 开机时网络自动连接

      简单版本: cd /etc/sysconfig/network-scripts/ vi ifcfg-enoXXX 输入:reboot重启 或者输入:service network restart ...

  3. 重撸JS_1

    1.声明 用 var 或 let 声明的未赋初值的变量,值会被设定为undefined(译注:即未定义值,本身也是一个值) 试图访问一个未初始化的变量会导致一个 ReferenceError 异常被抛 ...

  4. python 入门笔记

    1.pip包安装 pip install *** pip 中http和https代理设置(/etc/profile) 2.强制保存 :w !sudo tee % 3.cffi是python调用C的包 ...

  5. setCapture、releasCapture 浅析

    1. setCapture 简介 setCapture可以将鼠标事件锁定在指定的元素上,当元素捕获了鼠标事件后,该事件只能作用在当前元素上. 以下情况会导致事件锁定失败: 当窗口失去焦点时,锁定的事件 ...

  6. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  7. can't run roscore 并且 sudo 指令返回 unable to resolve host

    I'm using ubuntu14 LTS. Problems: 1. When run roscore, got a mistake and an advice to ping the local ...

  8. 自定义ConfigSection

      CCustom configuration section with intelisense

  9. Python处理Excel表格

    同事小王今天说他有一个Excel表格,表格如下,一列是姓名,一列是电话号码,总共有大概2000行数据. 有的姓名占了一行,有的占了两行,还有一些占了三行的.如下图: 他问我可不可以全部统一成一行,而且 ...

  10. Android(2)—Mono For Android App版本自动更新

    0.前言 公司Android查询的项目已经开始,整体采用Java后台+App前台来实现,由于项目小,App这块就我一个人开发,首先需要研究的是:Android版本的更新升级问题:本人经过近一周的学习整 ...