-
个人简介
想要高精度模板的请移步这里,公益程序,想要自取
#include<bits/stdc++.h> using namespace std; int main(){ ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); freopen("birthday.in","r",stdin); freopen("birthday.out","w",stdout); int n; cin >> n; map<pair<int,int>,int> mp; for(int i=1;i<=n;i++) { int m, d; cin >> m >> d; mp[{m,d}]++; } cout << mp.size(); return 0; }
#include<bits/stdc++.h> using namespace std; int a[1005][1005], b[1005][1005]; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; int n, m; int qu(int x1, int y1, int x2, int y2) { if(x1>x2) swap(x1,x2); if(y1>y2) swap(y1,y2); return b[x2][y2]-b[x2][y1-1]-b[x1-1][y2]+b[x1-1][y1-1]; } int main(){ ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); freopen("matrix.in","r",stdin); freopen("matrix.out","w",stdout); cin >> n >> m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin >> a[i][j]; b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j]; } } int Max=0; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(a[i][j]==1) continue; for(int k=0;k<4;k++) { int fx=k; int x=i, y=j, nx, ny; int flag=0; for(int id=0,len=1,ans=1;ans<=100;id++,fx=(fx+1)%4,len=(id%2==0? len+1:len)) { nx=x+len*dx[fx], ny=y+len*dy[fx]; ans+=len; if(nx<1) { nx=1; flag=1; } if(nx>n) { nx=n; flag=1; } if(ny<1) { ny=1; flag=1; } if(ny>m) { ny=m; flag=1; } if(qu(x,y,nx,ny)!=0) { if(fx==0) { for(int nj=y;nj<=ny;nj+=dy[fx]) { if(a[nx][nj]==1) { nx=nx, ny=nj; break; } } } if(fx==1) { for(int ni=x;ni<=nx;ni+=dx[fx]) { if(a[ni][ny]==1) { nx=ni, ny=ny; break; } } } if(fx==2) { for(int nj=y;nj>=ny;nj+=dy[fx]) { if(a[nx][nj]==1) { nx=nx, ny=nj; break; } } } if(fx==3) { for(int ni=x;ni>=nx;ni+=dx[fx]) { if(a[ni][ny]==1) { nx=ni, ny=ny; break; } } } here:; ans-=len; ans+=(abs(nx-x)+abs(ny-y)-1); Max=max(Max,ans); break; } if(flag==1) { ans-=len; ans+=abs(nx-x)+abs(ny-y); Max=max(Max,ans); break; } x=nx, y=ny; } } } } cout << Max; return 0; }
#include<bits/stdc++.h> using namespace std; long long a[5005]; long long b[5005]; long long c[5005]; long long dp[5005]; int main(){ ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); //freopen("bag.in","r",stdin); //freopen("bag.out","w",stdout); int n, m; cin >> n >> m; for(int i=1;i<=n;i++) { cin >> a[i]; c[i]=c[i-1]+a[i]; } for(int i=1;i<=m;i++) { int x; long long y; cin >> x >> y; b[x]+=y; } for(int i=1;i<=n;i++) { if(i>=3) dp[0]=max(dp[0],dp[i-2]); for(int j=i;j>=1;j--) { dp[j]=max(max(dp[j],a[i]+b[1]),dp[j-1]+a[i]+b[j]); } } int Max=0; for(int i=0;i<=n;i++) { Max=max(Max,dp[i]); } cout << Max; return 0; }
-
通过的题目
-
最近活动
-
最近编写的题解
This person is lazy and didn't wrote any solution