破解
来源:互联网 发布:sql显示列名无效 编辑:程序博客网 时间:2024/04/20 11:35
Description
Input
第一行,一个整数
每组数据第一行,两个整数
接下来
Output
每组数据一行,一个整数表示所有的可能,答案对
Sample Input
2
3 3
1 1
2 2
3 3
5 2
1 2
4 5
Sample Output
8
4
Data Constraint
对于
对于
对于
Hint
第一组数据:每个位置都可以单个修改,所以所有长度为
第二组数据的四种可能如下:
solution
对于
我们枚举那操作哪些区间然后暴力翻转,最后用一个
即可。
时间复杂度:
对于
一个显然的结论:每次操作完的数列最后一定是
续的
么最终的一个数列必然可以由它的关键位置表示,即关键位置集合一
样的数列是同一个数列。现在问题变为所有可能的关键位置集合的种
类数。
现在假设我们有
假设现在选择
果我选择的区间端点出现了奇数次那么这个端点最终就是一个关键
位置,偶数次就不是。正确性比较显然,一个区间的端点第一次出现,
必然是关键位置,下一次出现会将其取反,使它变回非关键位置。
有了上述结论之后,问题就变得简单了,我们枚举操作那些区间
就可以统计答案了。
时间复杂度:
对于
有了上面的结论,我们可以更方便的处理问题。考虑转化成图论
模型来处理,对于一个区间
在要对每条边赋值为
要求最后有多少种不同的点权方案。这样做的好处是,我们可以独立
计算每一个联通块的方案,最后将它们乘起来就是答案。
至于计算联通块的内的方案数,这里又有一个比较容易想到的结
论:最终的方案数为
假如现在我们已经有一个大小为
将
可能方案,我们的新联通块方案数就是老方案数
再假如现在连了
边取
案数不变。
综上所述,大小为
设原图有
时间复杂度:
code
const maxn=10000005; mo=1000000007;var x,y,tt,ans,tot,t,fax,fay,i,m,n:longint; vis:array[0..maxn] of boolean; yy,next,dt:array[0..200005] of longint; g:array[0..maxn] of longint;procedure make(x,y:longint);begin inc(tot); yy[tot]:=y; next[tot]:=g[x]; g[x]:=tot;end;procedure dfs(x:longint);var y,i:longint;begin vis[x]:=true; i:=g[x]; inc(ans); while i<>0 do begin y:=yy[i]; if not vis[y] then dfs(y); i:=next[i]; end;end;function ni(x:longint):int64;var ans,y:int64;begin y:=2; ans:=1; while x<>0 do begin if x mod 2=1 then ans:=ans*y mod mo; y:=y*y mod mo; x:=x div 2; end; exit(ans);end;begin readln(t); for t:=1 to t do begin readln(n,m);ans:=0; fillchar(next,sizeof(next),0); fillchar(g,sizeof(g),0);tot:=0; fillchar(yy,sizeof(yy),0); fillchar(vis,sizeof(vis),false); tt:=0; for i:=1 to m do begin readln(x,y); x:=x-1; inc(tt);dt[tt]:=x; inc(tt);dt[tt]:=y; make(x,y); make(y,x); end; for i:=1 to tt do begin if not vis[dt[i]] then begin dfs(dt[i]); dec(ans); end; end; writeln(ni(ans)); end;end.
- 破解
- 破解
- 破解
- 破解
- 破解
- 破解
- 破解
- 破解
- 破解
- 破解天下,天下破解
- 破解MD5
- cmos破解
- 软件破解
- 破解JIRA
- ibqsPage破解
- 软件破解
- abap 破解
- 破解工具软件
- Shiro入门系列一
- HDU4858 项目管理 (分块)
- opencv车牌识别
- C++第六周学习笔记
- 第六天
- 破解
- javaWeb之监听器的分类2
- 163邮箱模拟登录
- PCA
- HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别(二)
- Maximum Subsequence Sum
- Qbxt 模拟赛 Day4 T2 gcd(矩阵乘法快速幂)
- 输出99口诀
- 算法入门(2)——动态规划算法