BZOJ4197[NOI2005]寿司晚宴
Description
Input
输入文件的第 1 行包含 2 个正整数 n,p,中间用单个空格隔开,表示共有 n 种寿司,最终和谐的方案数要对 p 取模。
Output
输出一行包含 1 个整数,表示所求的方案模 p 的结果。
Sample Input
Sample Output
HINT
2≤n≤500
uses math;
const
zs:array[..]of longint=(,,,,,,,);
var
i,ii,j,jj,k,l,fl,n:longint;
a:array[..]of int64;
b:array[..]of int64;
dp:array[..]of int64;
dp2:array[..,..]of int64;
ans,tj,mo:int64;
begin
readln(n,mo);
b[]:=; for i:= to do b[i]:=b[i-]*;
for i:= to b[]- do dp[i]:=;
for i:= to n do
if a[i]= then
begin
j:=i*;
while j<=n do
begin
if i> then a[j]:= else a[j]:=max(a[j],);
j:=j+i;
end;
if i> then
begin
for j:= to b[]- do
begin
dp2[,j]:=dp[j]; dp2[,j]:=; dp2[,j]:=;
end;
ii:=i; k:=;
while ii<=n do
begin
for jj:= to do
for j:=b[]- downto do
if dp2[jj,j]> then
begin
tj:=j; fl:=;
for l:= to do
if k mod zs[l]= then
begin
if (tj div b[l-])mod =-jj then
begin fl:=; break; end else
tj:=tj+(jj-(tj div b[l-])mod )*b[l-];
end;
if fl= then dp2[jj,tj]:=(dp2[jj,tj]+dp2[jj,j])mod mo;
end;
for j:=b[]- downto do
begin
for jj:= to do
begin
tj:=j; fl:=;
for l:= to do
if k mod zs[l]= then
begin
if (tj div b[l-])mod =-jj then
begin fl:=; break; end else
tj:=tj+(jj-(tj div b[l-])mod )*b[l-];
end;
if fl= then dp2[jj,tj]:=(dp2[jj,tj]+dp2[,j])mod mo;
end;
end;
ii:=ii+i; inc(k);
end;
for j:= to b[]- do dp[j]:=(dp[j]+dp2[,j]+dp2[,j])mod mo;
end;
end else
if a[i]= then
begin
for j:=b[]- downto do
begin
for jj:= to do
begin
tj:=j; fl:=;
for l:= to do
if i mod zs[l]= then
begin
if (tj div b[l-])mod =-jj then
begin fl:=; break; end else
tj:=tj+(jj-(tj div b[l-])mod )*b[l-];
end;
if fl= then dp[tj]:=(dp[tj]+dp[j])mod mo;
end;
end;
end;
for i:= to b[]- do
begin
fl:=;
for l:= to do
if(zs[l]>n)and((i div b[l-])mod <>)then
begin fl:=; break; end;
if fl= then ans:=(ans+dp[i])mod mo;
end;
writeln(ans);
end.
BZOJ4197[NOI2005]寿司晚宴的更多相关文章
- [UOJ#129][BZOJ4197][Noi2015]寿司晚宴
[UOJ#129][BZOJ4197][Noi2015]寿司晚宴 试题描述 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司 ...
- 【BZOJ-4197】寿司晚宴 状压DP
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 694 Solved: 440[Submit][Status] ...
- [BZOJ4197][Noi2015]寿司晚宴
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 412 Solved: 279[Submit][Status] ...
- [NOI2005]寿司晚宴
题目描述 为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴.小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了n−1种不同的寿司,编号1,2,3,⋯,n-1 ...
- BZOJ4197 [Noi2015]寿司晚宴 【状压dp】
题目链接 BZOJ4197 题解 两个人选的数都互质,意味着两个人选择了没有交集的质因子集合 容易想到将两个人所选的质因子集合作为状态\(dp\) \(n\)以内质数很多,但容易发现\(\sqrt{n ...
- bzoj4197 [Noi2015]寿司晚宴——状压DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4197 首先,两个人选的数都互质可以看作是一个人选了一个数,就相当于选了一个质因数集合,另一个 ...
- 【BZOJ4197】【NOI2015】寿司晚宴(动态规划)
[BZOJ4197][NOI2015]寿司晚宴(动态规划) 题面 BZOJ 从\([2,n]\)中选择两个集合(可以为空集),使得两个集合中各选一个数出来,都互质. 求方案数. 题解 对于\(500\ ...
- 【BZOJ4197】[Noi2015]寿司晚宴 状压DP+分解质因数
[BZOJ4197][Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴 ...
- 【BZOJ4197】【Noi2015】寿司晚宴
Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了 n−1 种不同 ...
随机推荐
- 图解Android触摸事件分发
Android中触摸事件传递过程中最重要的是dispatchTouchEvent().onInterceptTouchEvent()和onTouchEvent()方法. View和Activity有d ...
- 不用画线 设置UITableView的全屏分隔线
如图 添加如下代码 sTableView.separatorInset = UIEdgeInsetsZero; sTableView.layoutMargins = UIEdgeInsetsZero ...
- iOS-点击推送消息跳转处理
当用户通过点击通知消息进入应用时 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDi ...
- 单例模式-用GCD实现
用GCD实现单例模式的步骤: 步骤1. 创建头文件 XZSingleton.h,里面代码如下: // .h文件 #define XZSingletonH(name) + (instancetype)s ...
- js 判断多个一样的name
var items = document.getElementsByName("spec_spec_1[]"); alert(items.length); for (i = 0; ...
- javaScript基础语法(下)
4.逻辑控制语句 4.1条件结构 条件结构分为if结构和switch结构. 通常在写代码时,您总是需要为不同的决定来执行不同的动作.您可以在代码中使用条件语句来完成该任务. 在 JavaScript ...
- hypervisor与VMware共存方法
bcdedit /set hypervisorlaunchtype offbcdedit /set hypervisorlaunchtype auto
- php示例代码之使用mysqli对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- npm常用命令小结
目录(更新于2016.09.23): 1.认识和使用NPM 2.npm包安装模式 3.npm包管理(package的安装.卸载.升级.查看.搜索.发布,其他等) npm install [-g] 本地 ...
- Java Se:Java Security
Java API中有很多都使用了SecurityManager,这到底是什么玩意?最近看公司的产品的源码,也有不少SecurityManager.AccessControlContext等相关的代码, ...