Super OJ 序列计数】的更多相关文章

题意: 给出序列 a1,a2,--an(0≤ai≤109),求三元组(ai,aj,ak)(1≤i<j<k≤n)满足 ai<aj>ak 的数量. 分析: 开两个\(BIT\),分别维护前面比它小的和后面比它大的,然后组合计数一下即可 代码: #include<bits/stdc++.h> #define lowbit(x) (x & (-x)) #define ll long long #define N (100000 + 5) using namespace…
[Sdoi2017]序列计数 题意:长为\(n \le 10^9\)由不超过\(m \le 2 \cdot 10^7\)的正整数构成的和为\(t\le 100\)的倍数且至少有一个质数的序列个数 总-没有质数 裸矩阵快速幂,\(i \rightarrow (i+k)\mod t\) 但是构造矩阵m个数一个个试的话复杂度\(O(mt)\) 我们只管心\(\mod t\)之后的结果,处理处每个模t等价类的个数用它来构造矩阵就好了.我是zz 注意卡内存,存质数的数组可以小一点 #include <io…
BZOJ_4818_[Sdoi2017]序列计数_矩阵乘法 Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 Output 一行一个数,满足Alice的要求的序列数量,答案对20170408取模.…
序列计数 Time Limit: 4500/4000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 348    Accepted Submission(s): 117 Problem Description 度度熊了解到,1,2,…,n 的排列一共有 n!=n×(n−1)×⋯×1 个.现在度度熊从所有排列中等概率随机选出一个排列 p1,p2,…,pn,你需要对 k=1,2,…
Description Alice想要得到一个长度为nn的序列,序列中的数都是不超过mm的正整数,而且这nn个数的和是pp的倍数. Alice还希望,这nn个数中,至少有一个数是质数. Alice想知道,有多少个序列满足她的要求. 输入输出格式 输入格式: 一行三个数,n,m,p. 输出格式: 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. 输入输出样例 输入样例#1: 3 5 3 输出样例#1: 33 说明 对20%的数据,1≤n,m≤100 对50%的数据,1≤m≤…
4818: [Sdoi2017]序列计数 Time Limit: 30 Sec  Memory Limit: 128 MB Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 Output 一行一个数…
4818: [Sdoi2017]序列计数 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 560  Solved: 359 Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<…
P3702 [SDOI2017]序列计数 链接 分析: 首先可以容斥掉,用总的减去一个质数也没有的. 然后可以dp了,f[i][j]表示到第i个数,和在模p下是j的方案数,矩阵快速幂即可. 另一种方法:设T[1]是一个生成函数,为选了一个数,和在模p是多少的的方案数,那么T[1] * T[1] 即选了2个的方案数,这是一个卷积的形式,但是p特别小,直接暴力计算即可,然后外面套上快速幂. 代码: #include<cstdio> #include<algorithm> #includ…
[BZOJ4818][Sdoi2017]序列计数 Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 Output 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. Sampl…
BZOJ4818 LOJ2002 SDOI2017 序列计数 Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数. Alice还希望,这n个数中,至少有一个数是质数. Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 Output 一行一个数,满足Alice的要求的序列数量,答案对20170408取模…
[BZOJ4818]序列计数(生成函数) 题面 BZOJ 题解 显然是求一个多项式的若干次方,并且是循环卷积 或者说他是一个\(dp\)也没有问题 发现项数很少,直接暴力乘就行了(\(FFT\)可能还慢一些) 然后容斥减掉没有质数的就行了 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algor…
序列计数 Time Limit: 30 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. Output 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. Sample…
「SDOI2017」序列计数 思路: 矩阵快速幂: 代码: #include <bits/stdc++.h> using namespace std; #define mod 20170408 #define ll long long struct MatrixType { int n,m; ll ai[][]; void mem(int n_,int m_) { n=n_,m=m_; ;i<=n;i++) ;v<=m;v++) ai[i][v]=; } MatrixType op…
4818: [Sdoi2017]序列计数 Time Limit: 30 Sec  Memory Limit: 128 MBSubmit: 972  Solved: 581[Submit][Status][Discuss] Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^…
[Sdoi2017]序列计数 题目大意:https://www.lydsy.com/JudgeOnline/problem.php?id=4818. 题解: 首先列出来一个递推式子 $f[i][0]$表示$i$个任意数的答案. $f[i][1]$表示$i$个合数的答案. 转移的时候发现可以用矩阵优化这个过程. 至于怎么把矩阵建出来,我们可以开个桶来解决这个问题. 代码: #include <bits/stdc++.h> using namespace std; typedef long lon…
题面: 传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=4818 Solution 看到这道题,我们不妨先考虑一下20分怎么搞 想到暴力,本蒟蒻第一反应就是dfs,想法也很简单: 枚举n个数中的每一个数,枚举完每一种情况都判断一下是否满足要求 复杂度O(n^m) 显然,这样的复杂度一分都得不到,但是可以作为对拍用的暴力程序 既然dfs行不通了,那我们换个想法吧,考虑一下用dp来搞这个问题 设 f[i][j] 表示选到第i个数,前i个数的总…
Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0 < n,m < 1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数. Output 对每组测试数据按从大到小的顺序输出前m大的数. Sample Input 5 3 3 -35 92 213 -644 Sample Output 213 92 3 emm 一开始呢,用快速排序找前m大的数 一提交,超时--淦 后来度娘一…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1588 题目大意: 给n1个0和n2个1,连续的0不超过k1个,连续的1不超过k2个.问序列有几种(对1000000001(109+1)取模) n1,n2<=100 k1,k2<=10 题目思路: [动态规划] 动态规划比较明显. f[i][j][k][0]表示 i个0 j个1 末尾连续k个0的方案数 f[i][j][k][1]表示 i个0 j个1 末尾连续k个1的方案数 根据最后末…
Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. Input 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 Output 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. Sample Input 3 5 3 Sample Outpu…
题目描述 Alice想要得到一个长度为nn的序列,序列中的数都是不超过mm的正整数,而且这nn个数的和是pp的倍数. Alice还希望,这nn个数中,至少有一个数是质数. Alice想知道,有多少个序列满足她的要求. 输入输出格式 输入格式: 一行三个数,n,m,pn,m,p. 输出格式: 一行一个数,满足Alice的要求的序列数量,答案对2017040820170408取模. 输入输出样例 输入样例#1: 复制 3 5 3 输出样例#1: 复制 33 说明 对20\%20%的数据,1\leq…
Description Alice想要得到一个长度为 \(n\) 的序列,序列中的数都是不超过 \(m\) 的正整数,而且这 \(n\) 个数的和是 \(p\) 的倍数. Alice还希望,这 \(n\) 个数中,至少有一个数是质数. Alice想知道,有多少个序列满足她的要求. Input 一行三个数,\(n,m,p\). Output 一行一个数,满足Alice的要求的序列数量,答案对 \(20170408\) 取模. Sample Input 3 5 3 Sample Output 33…
BZOJ 洛谷 竟然水过了一道SDOI!(虽然就是很水...) 首先暴力DP,\(f[i][j][0/1]\)表示当前是第\(i\)个数,所有数的和模\(P\)为\(j\),有没有出现过质数的方案数. 我们发现每一次的转移都是一样的. 假设没有第三维\(0/1\),那如果拿DP数组\(f[i]\)和\(f[i]\)组合,得到的就是\(f[2\times i]\)(\(i\)次DP后的结果与\(i\)次DP后的结果组合,就是\(2\times i\)次DP后的结果).所以有:\(f[2\times…
传送门 题意简述:问有多少长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数,且其中至少有一个数是质数,答案对201704082017040820170408取模(n≤1e9,m≤2e7,p≤100)(n\le1e9,m\le2e7,p\le100)(n≤1e9,m≤2e7,p≤100). 思路: 首先因为只需要是ppp的倍数,因此可以看成全局和对ppp取模为000方案数. 设状态f0/1,i,jf_{0/1,i,j}f0/1,i,j​表示不限制选出的数/选出的数不能是质…
http://www.lydsy.com/JudgeOnline/problem.php?id=4818 (题目链接) 题意 一个长度为$n$的序列,每个元素是不超过$m$的正整数,且这$n$个数的和是$p$的倍数,这$n$个数中至少有一个是质数,问这样的序列有多少个. Solution md吓死我了,还以为想错了,$p^2\log n$的半天不敢写=.= $f[i][j]$表示忽略质数条件下的长度为$i$,和$mod~p=j$的序列数:$g[i][j]$表示满足没有一个数是质数的情况下长度为$…
链接:https://www.luogu.org/problemnew/show/P3702 题解: 碰到计数题都要想想容斥 就跟碰到最大值最小要想想二分一样 考虑没有一个数是质数 那就确定了每一个数的取值范围 那么dp方程很显然 然后构造矩阵来优化转移 可以发现每个决策时一样的 所以矩阵可以一列一列的复制 #include <bits/stdc++.h> #pragma comment(linker,"/STACK:102400000,102400000") #pragm…
\(prufer\)序列和完全图的生成树一一对应(考虑构造) 完全图的生成树个数为\(n^{n - 2}\) 满足第\(i\)个点的度数为\(d_i\)的生成树为\(\frac{n!}{\prod (d_i - 1) !}\) 把\(m\)个联通块,第\(i\)个大小为\(a_i\),连接起来的方案数为\(n^{m - 2} \prod a_i\) \(n\)个点,指定\(k\)个点在不同的树中,形成\(k\)个森林的方案数为\(k * n^{n - k - 1}\)…
Portal -->broken qwq Description ​​  给你一个长度为\(n\)的序列,序列中的每个数都是不超过\(m\)的正整数,求满足以下两个条件的序列数量: 1.序列中至少有一个质数 2.序列中\(n\)个数之和为\(p\)的倍数 ​​  数据范围:\(1<=n<=10^9,1<=m<=2*10^7,1<=p<=100\) Solution ​​  我的妈呀真实智力康复..为什么连最基础的矩乘优化都忘了== ​​  记\(f[i][j]\)…
原文地址:http://www.cnblogs.com/GXZlegend/p/6825132.html 题目描述 Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. 输入 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 输出 一行一个数,满足Alice的要求的序列数量,答案对2017…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4818 [算法] 考虑容斥 , 用有至少有一个质数的合法序列数 - 没有质数的合法序列数 这两个问题是等价的 , 为方便讨论 , 我们考虑前者该如何计算 : 用fi , j表示前i个数 , 模p余j的合法序列数 显然有fi , j = sigma{ fi - 1 , j - k } 矩阵优化即可 时间复杂度 : O(M + logN) [代码] #include<bits/stdc+…
题目 Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. 输入格式 一行三个数,n,m,p. 1<=n<=10^9,1<=m<=2×10^7,1<=p<=100 输出格式 一行一个数,满足Alice的要求的序列数量,答案对20170408取模. 输入样例 3 5 3 输出样例 33 题解 由题目中"至少一个是质数的条件…