Codeforces Round #213 (Div. 2)(矩阵)
来源:互联网 发布:nginx本地c盘映射 编辑:程序博客网 时间:2024/06/06 01:38
A - Good Number
刚开始题意理解错了,wa了一次
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int N,K,a;int vis[10];bool is_good(int m){ memset(vis,0,sizeof(vis)); while(m>0) { int x=m%10; vis[x]++; m/=10; } for(int i=0;i<=K;i++) if(!vis[i]) return false; return true;}int main(){ scanf("%d%d",&N,&K); int ans=0; while(N--) { scanf("%d",&a); if(is_good(a)) ans++; } cout<<ans<<endl; return 0;}
B. The Fibonacci Segment
求最长的斐波那契数列
遍历一遍,如果满足则更新最大值,并保存下到当前的位置
#include<iostream>#include<cstdio>using namespace std;int n;int a[100010];void solve(){ int ans=2,i=3,x=1; while(i<=n) { if(a[i]!=a[i-1]+a[i-2]) { x=i-1; i++; continue; } ans=max(ans,i-x+1); i++; } cout<<ans<<endl;}int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; if(n<=2) { cout<<n<<endl; return 0; } solve(); return 0;}C. Matrix
题意:给你一个a,和一串数字s。让你求由b[i,j] = s[i]*s[j],构成的数组矩阵中和等于a的子矩阵的个数。
观察一下,矩阵其实很特殊。可以提取出每行的系数。
a1*(a1,a2,..,an)
a2*(a1,a2,..,an)
an*(a1,a2,..,an)
用sum[i]表示数列a的前i项和。
那么任意一个子矩阵和可以表示为(sum[col1]-sum[col0])*(sum[row1]-sum[row0]) (col0<y<=col1,row0<x<=row1)
然后n^2枚举统计就好了,注意一些细节
考虑一个矩形(x, y, z, t)的sum和等于 (s[x] + s[x+1] + ... +s[y]) * (s[z] + s[z+1] + ... s[t]),所以处理出所有子序列的和即可,有些小细节要注意比如说0。
#include<iostream>#include<cstring>#include<string>using namespace std;typedef long long LL;LL hash[36010],sum[4040];int a;string s;int main(){ cin>>a>>s; int len=s.size(); memset(sum,0,sizeof(sum)); memset(hash,0,sizeof(hash)); for(int i=0;i<len;i++) sum[i+1]=sum[i]+s[i]-'0'; for(int i=1;i<=len;i++) for(int j=0;j<i;j++) hash[sum[i]-sum[j]]++; LL cnt=0L; if(a==0) { for(int i=0;i<=sum[len];i++) cnt+=hash[0]*hash[i]; } for(int i=1;i<=sum[len];i++) if(a%i==0&&a/i<=sum[len]) cnt+=hash[a/i]*hash[i]; cout<<cnt<<endl; return 0;}
0 0
- Codeforces Round #213 (Div. 2)(矩阵)
- Codeforces Round #213 (Div. 2)
- Codeforces Round #213 (Div. 2)
- Codeforces Round #213 (Div. 2)
- Codeforces Round #291 (Div. 2)E(DP+矩阵)
- Codeforces Round #113 (Div. 2)E---Tetrahedron(矩阵,水题)
- Shifts-Codeforces Round #142 (Div. 2) C (矩阵)
- Codeforces Round #118 (Div. 2)-C-Plant(构造矩阵)
- Codeforces Round #226 (Div. 2) E(矩阵快速幂)
- Codeforces Round #213 (Div. 2) C Matrix
- Codeforces Round #213 (Div. 1)
- Codeforces Round #213 (Div. 1)
- Codeforces Round #102 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #104 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #105 (Div. 2)
- 【LeetCode】N-Queens && 【九度】题目1140:八皇后
- C++ Templates读书笔记1-8章
- 在iOS上使用ffmpeg播放视频
- 打开注解是对的,关闭是错的使用ThreadLocal实例
- JavaScript对象字面量
- Codeforces Round #213 (Div. 2)(矩阵)
- mysql在linux下诸多稀奇古怪的错误
- 网络编程
- 脸书收购链接分享服务Branch
- ifconfig eth0 up/down与ifup/ifdown eth0的区别
- android测试工具
- slab 着色的理解
- JavaScript类的定义和实例化
- 怎么获取网络游戏中出现的文本文字?