【uoj129】 NOI2015—寿司晚宴
http://uoj.ac/problem/129 (题目链接)
题意
给出2~n这n-1个数,求选2个集合,使得从两集合中任意各选取1个数出来它们都互质。求方案数。
Solution
细节
最后更新f的时候要取模再加模再取模,因为两个g加起来就是2P了,再加个P就加爆了→_→,我还是图样
代码
// uoj129
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<vector>
#include<cmath>
#define LL long long
#define inf 2147483647
#define Pi acos(-1.0)
#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);
using namespace std; const int maxn=1010,maxs=1ll<<8;
int f[maxs][maxs],g[2][maxs][maxs],id[100],bin[30];
int n,P;
struct data {int s,k;}a[maxn]; bool cmp(data a,data b) {
return a.k<b.k;
}
int main() {
scanf("%d%d",&n,&P);
id[2]=0,id[3]=1,id[5]=2,id[7]=3,id[11]=4,id[13]=5,id[17]=6,id[19]=7;
bin[0]=1;for (int i=1;i<=20;i++) bin[i]=bin[i-1]<<1;
for (int i=2;i<=n;i++) {
int x=i,y=2;
while (x!=1 && y<20) {
while (x%y==0) a[i-1].s|=bin[id[y]],x/=y;
y++;
}
a[i-1].k=x;
}
sort(a+1,a+n,cmp);
f[0][0]=1;
for (int i=1;i<n;i++) {
if (i==1 || a[i].k==1 || a[i].k!=a[i-1].k) {
memcpy(g[0],f,sizeof(f));
memcpy(g[1],f,sizeof(f));
}
for (int j=bin[8]-1;j>=0;j--)
for (int k=bin[8]-1;k>=0;k--) {
if (!(k&a[i].s)) (g[0][j|a[i].s][k]+=g[0][j][k])%=P;
if (!(j&a[i].s)) (g[1][j][k|a[i].s]+=g[1][j][k])%=P;
}
if (i==n-1 || a[i].k==1 || a[i].k!=a[i+1].k)
for (int j=0;j<bin[8];j++)
for (int k=0;k<bin[8];k++)
f[j][k]=((g[0][j][k]+g[1][j][k]-f[j][k])%P+P)%P;
}
int ans=0;
for (int i=0;i<bin[8];i++)
for (int j=0;j<bin[8];j++)
if (!(i&j)) (ans+=f[i][j])%=P;
printf("%d\n",ans);
return 0;
}
【uoj129】 NOI2015—寿司晚宴的更多相关文章
- BZOJ4197 / UOJ129 [Noi2015]寿司晚宴
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- UOJ129 NOI2015 寿司晚宴 数论、状压DP
传送门 数论题\(n \leq 500\)肯定是什么暴力算法-- 注意到每一个数\(> \sqrt{n}\)的因子最多只有一个,这意味着\(> \sqrt{n}\)的因子之间是独立的,而只 ...
- [BZOJ4197][Noi2015]寿司晚宴
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 412 Solved: 279[Submit][Status] ...
- BZOJ 4197: [Noi2015]寿司晚宴( dp )
N^0.5以内的质数只有8个, dp(i, j, k)表示用了前i个大质数(>N^0.5), 2人选的质数(<=N^0.5)集合分别为j, k时的方案数. 转移时考虑当前的大质数p是给哪个 ...
- BZOJ_4197_[Noi2015]寿司晚宴_状态压缩动态规划
BZOJ_4197_[Noi2015]寿司晚宴_状态压缩动态规划 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被 ...
- [NOI2015]寿司晚宴 --- 状压DP
[NOI2015]寿司晚宴 题目描述 为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴. 小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了n−1种不同的寿 ...
- 【BZOJ4197】[Noi2015]寿司晚宴 状压DP+分解质因数
[BZOJ4197][Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴 ...
- [UOJ#129][BZOJ4197][Noi2015]寿司晚宴
[UOJ#129][BZOJ4197][Noi2015]寿司晚宴 试题描述 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司 ...
- BZOJ 4197: [Noi2015]寿司晚宴 状态压缩 + 01背包
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MB Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿 ...
- BZO4197 & 洛谷2150 & UOJ129:[NOI2015]寿司晚宴——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4197 https://www.luogu.org/problemnew/show/P2150 ht ...
随机推荐
- DP使用GUI推送WIN客户端是报110:1022错误的解决办法
在使用GUI推送WIN客户端时,输入用户名和密码后报错: [Critical 110::1022] Cannot connect to the SCM (Service Control Manage ...
- 安装keystone时创建用户失败
系统:centos7.3 版本:openstack ocata 1.问题描述 安装keystone在创建用户时报错: The request you have made requires authen ...
- 初学node.js-nodejs安装运行(1)
1.Node.js中文官网http://nodejs.cn/download/下载node.js 学习node.js需要有javascript基础,没有基础的可以在http://www.w3schoo ...
- Docker部署Golang
1. 安装docker 2. mkdir myDocker 3. cd myDocker && touch Dockerfile 4. Dockerfile写入 # 将golang ...
- dubbo支持协议及具体对比
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况,本文参考dubbo官方文档 http://dubbo.io/User+Guide-zh.htm dubbo共支持如下几种通信协议: ...
- 网页调起App之应用实践
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场.举报 新春佳节即将到来,北京的上地&西二旗.望京&国贸.五道口&中关村地区等程序员 ...
- Linux基础入门--04
目录结构及文件基本操作 实验介绍: 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录结构之 ...
- ### Error building SqlSession.
org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may e ...
- B3
吴晓晖(组长) 过去两天完成了哪些任务 一些细节的debug,部分优化,算法中有关记录的部分 展示GitHub当日代码/文档签入记录 接下来的计划 推荐算法 还剩下哪些任务 组员:刘帅珍 过去两天完成 ...
- mysql hibernate 关于默认值
字段的默认值 写 NOT NULL DEFAULT 0 等等 一直不行, 算了 干脆在创建的时候 在代码set好了 版权声明:本文为博主原创文章,未经博主允许不得转载.