Codeforces Round #213 (Div. 2) C Matrix
2013-11-20 08:50
85 查看
num【len】【i】表示长度为len,起点是j(终点是j+len-1)的和;
vis【state】代表该数字出现过几次。因为最大和《=9*4000,所以vis数组大小无需超过40000;
所以ans就为:
if(vis[i]&&a%i==0)
if(a/i<=40000)
ans+=vis[i]*vis[a/i];
复杂度为n*n/2;
特别注意当0的时候,使用容斥原理求得ans;
vis【state】代表该数字出现过几次。因为最大和《=9*4000,所以vis数组大小无需超过40000;
所以ans就为:
if(vis[i]&&a%i==0)
if(a/i<=40000)
ans+=vis[i]*vis[a/i];
复杂度为n*n/2;
特别注意当0的时候,使用容斥原理求得ans;
#include<cstdio> #include<iostream> #include<cstring> using namespace std; #define LL long long LL num[4010][4010]; LL vis[41000]; char str[4100]; int main() { LL a; LL sum; cin>>a; sum=0; cin>>str; int n=strlen(str); for(int i=1;i<=n;i++) { num[1][i]=str[i-1]-'0'; vis[num[1][i]]++; sum++; } for(int i=2;i<=n;i++) for(LL j=1;j<=n-i+1;j++) { num[i][j]=num[i-1][j]+str[i+j-2]-'0'; vis[num[i][j]]++; sum++; } if(a==0) { cout<<(vis[0]*sum*2-vis[0]*vis[0])<<endl; return 0; } LL ans=0; for(int i=1;i<=40000;i++) if(vis[i]&&a%i==0) if(a/i<=40000) ans+=vis[i]*vis[a/i]; cout<<ans<<endl; return 0; }
相关文章推荐
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies SET的妙用
- BestCoder Round #81 (div.1) A Matrix
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies
- Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies
- Codeforces Round #495 (Div. 2) Sonya and Matrix
- BestCoder Round #63 (div.1) B.matrix
- Codeforces Round #277 (Div. 2)B——OR in Matrix
- codeforces#234_div2_B Inna and New Matrix of Candies
- [容斥原理][Meet-in-middle][Matrix-Tree定理] SRM551 Div1 Hard SweetFruits
- Codeforces Round #221 (Div. 2) D. Maximum Submatrix 2 (思维题)
- Codeforces 400 B. Inna and New Matrix of Candies 【 Codeforces Round #234 (Div. 2)】
- codeforces#234_div2_B Inna and New Matrix of Candies
- Javascript使div旋转倾斜 Matrix
- Codeforces 400 C. Inna and Huge Candy Matrix【 Codeforces Round #234 (Div. 2)】
- Codeforces Round #221 (Div. 2)-D. Maximum Submatrix 2
- Codeforces Round #277(Div. 2) (A Calculating Function, B OR in Matrix, C Palindrome Transformation)
- [CF #236 (Div. 2) E] Strictly Positive Matrix(强联通分量)
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) C. Little Artem and Matrix 模拟
- IE8 div旋转 Matrix
- cf-213-div1-A. Matrix