首页 > 其他分享 >CF 1061C

CF 1061C

时间:2023-02-22 19:01:49浏览次数:38  
标签:1061C int CF sov 序列 fac include

给定一个序列 A,求有多少非空序列 B 满足 B 是 A 的子序列   并且 ∀ k ∈ [1,lenb],  k∣bk∀ k ∈ [1,lenb​],  k∣bk​,

 

// f[i][j]= f[i-1][j] + (f[i-1][j-1] ,a[i]%j==0 )

   优化: 枚举 a[i] 的因数作为 j

#include <iostream>
#include<vector> 
#include <algorithm>
#define IOS std::ios::sync_with_stdio(0)
using namespace std;
 const int N =1e5+3,M=1e6+3, mod=1e9+7;
 int n,a[N],f[M] ;
 vector<int> fac;
 
 
 // f[i][j]= f[i-1][j] + (f[i-1][j-1] ,a[i]%j==0 )
 void sov(){
 	int i,j;
 	f[0]=1;
 	for(i=1;i<=n;i++){
 		fac.clear();
 		for(j=1;j*j<=a[i];j++){
 			if(a[i]%j==0){
 				fac.push_back(j);
 				if(j*j!=a[i]) fac.push_back(a[i]/j);
 			}
 		}
 		sort(fac.begin(),fac.end());
 		
 		for(j=fac.size()-1;j>=0;j--)
 			f[fac[j]]=f[fac[j]]+f[fac[j]-1],f[fac[j]]%=mod;
 	}
 	
 	int ans=0;
 	for(i=1;i<=n;i++) ans+=f[i],ans%=mod;
 	cout<<ans<<endl;
 }
 
 signed main(){
 	cin>>n;
 	for(int i=1;i<=n;i++)
 	 cin>>a[i];
 	sov();
 }
 
 
 

 

 

 

 

标签:1061C,int,CF,sov,序列,fac,include
From: https://www.cnblogs.com/towboa/p/17145518.html

相关文章

  • CF 191A
    大意是:给你nn个字符串,将这些字符串拼接,求一个最长的序列,使这个其中每个串的最后一个字母与第一个字母相同(最后一个串的最后一个字母与第一个串的第一个字母相同),而且后面的......
  • CF750H New Year and Snowy Grid
    \(\text{Solution}\)这个问题是不好判断的考虑简单点的,\((1,1)\)到\((h,w)\)是否连通那么只要在最外围一圈#(显然一些位置不能加),判断\((h+1,n)\)和\((0,w+1)\)是......
  • CF623A Graph and String
    个人思路:显然,和其他所有点连边的点都是b。我们接下来不考虑这些点。剩余a和c必然自己形成一个连通块,每个点与块内其他所有点连边。超过\(2\)个连通块,或存在点没......
  • CCF 小明放学 201812-2
    弄一个时间轴分析比较好每次输入完剩余时间都转换为已经亮了多久然后加上已经经过的时间看现在是什么灯调用小明上学201812-1可以得到答案#include<iostream>using......
  • RCF
    1.RCF:纯c++的RPC,不引入IDL,大量用到boost,比较强大.2.casocklib:  protobuf+asio较完善实现3.eventrpc:protobuf+libevent较完善实现4.evproto:protobuf......
  • CF837F-Prefix Sums
    首先,我们发现这道题目“序列会增长”的情况完全就是唬人的,因为我们把\(x_i\)输入之后,\(y_i\)永远是\(0\),而前导\(0\)在计算的过程中没有任何的作用。所以可以直接原......
  • Not Adding (CF2D) (基底转化,两两操作->多个操作,+)
      思路:题目信息:转化:选出子序列求一个gcd,很关键基底转化:枚举1-1e6的数,看能不能产生这个数, 在利用那个那个的性质即可,贪心让所有合理的数gcd起来是不......
  • CF1795C Tea Tasting
    有一排桌子,每个桌子上有\(a_i\)杯茶,现有\(m\)个人,第\(i\)个人在一轮喝茶中要喝\(b_i\)杯茶,如果桌子上不满\(b_i\)杯茶,那他将该桌子上的茶全部喝光,初始第\(i\)......
  • CF1188DE
    D.MakeEqual题意:给定\(n\)个正整数\(a_1,a_2,...,a_n\),每次操作可以给一个\(a_i\)加上\(2\)的一个非负整数次幂,问最少多少次使得全同。题解:很妙啊!感觉非常没有......
  • CF1734E Rectangular Congruence 题解
    可能更好的阅读体验题目传送门toluogu为什么只有VP才会遇到这种简单E。题目大意给定一个质数\(n\)和长度为\(n\)的序列\(b\),要求构造一个\(n\timesn\)矩......