-
Bio
freopen(".in","r",stdin); freopen(".out","w",stdout);头文件(这都删!!!)
#include<bits/stdc++.h> #include<algorithm> #include<cstring> #include<iostream> using namespace std; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); // freopen(".in","r",stdin); // freopen(".out","w",stdout); return 0; } //Ren Boda崩溃了
#include<bits/stdc++.h> using namespace std; string s1; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t; cin>>t; vector< vector < vector<string> > > files; vector<int> max_cols; int max_rows = 0; for(int i=0; i<t; i++) { int m; string name; cin>>m>>name; max_rows = max(max_rows, m+1); vector<vector<string>> cur_file; vector<string> header; header.push_back(name); cur_file.push_back(header); int cur_max=1; for(int j=0; j<m; j++) { cin>>s1; vector<string> row; string temp=""; for(char ch:s1) { if(ch==',') { row.push_back(temp); temp=""; } else temp+=ch; } row.push_back(temp); cur_file.push_back(row); cur_max = max(cur_max, (int)row.size()); } files.push_back(cur_file); max_cols.push_back(cur_max); } vector< vector<string> > result(max_rows); int global_offset = 0; for(int f=0; f<t; f++) { int cur_max = max_cols[f]; for(int r=0; r<(int)files[f].size(); r++) { for(int c=0; c<(int)files[f][r].size(); c++) { if(c<cur_max) { result[r].resize(max(result[r].size(),(size_t)(global_offset+c+1))); result[r][global_offset + c] = files[f][r][c]; } } } int real_right = 0; for(int r=0; r<(int)files[f].size(); r++) { for(int c=cur_max-1; c>=0; c--) { if(c < (int)files[f][r].size() && !files[f][r][c].empty()) { real_right = max(real_right, c+1); break; } } } global_offset += real_right; } for(int i=0; i<max_rows; i++) { for(int j=0; j<(int)result[i].size()-1; j++) { cout<<result[i][j]<<","; } cout<<result[i][(int)result[i].size()-1]<<"\n"; } return 0; } //Ren Boda易重名函数
// 贝塞尔系列 j0, j1, jn, y0, y1, yn // 基础三角函数 sin, cos, tan, asin, acos, atan, atan2 sinh, cosh, tanh, asinh, acosh, atanh // 幂、开方、对数 sqrt, cbrt, pow, log, log10, log2, log1p // 取整、绝对值 abs, fabs, floor, ceil, round, trunc, modf, fmod // 极值、符号 fmax, fmin, fdim, copysign, signbit // 指数、误差函数 exp, exp2, expm1, erf, erfc, tgamma, lgamma //其他 atoi,atol,atof,rand,srand,malloc,free,calloc,realloc,exit, abort,system,getenv,printf, scanf, puts,gets(废弃), fopen, fclose,feof,sort,find,count,copy,swap,reverse,unique,max, min,fill,replace,remove,transform,for_each,accumulate, partition,stable_sort,size,empty,begin,end,next,prev, distance,vector,map,set,queue,stack,pair,tuple,getline, cin/cout/cerr(对象,不能做变量),isalpha, isdigit,isspace, islower, isupper // <cctype> strlen,strcpy,strcat, strcmp,strstr // <cstring>解码器
#include<bits/stdc++.h> using namespace std; string s; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin>>s; for(int i=0;i<s.size();i++) { if(s[i]=='!') cout<<1; if(s[i]=='@') cout<<2; if(s[i]=='#') cout<<3; if(s[i]=='$') cout<<4; if(s[i]=='%') cout<<5; if(s[i]=='^') cout<<6; if(s[i]=='&') cout<<7; if(s[i]=='*') cout<<8; if(s[i]=='(') cout<<9; if(s[i]==')') cout<<0; } return 0; } //Ren BodaSTL编译指令
-std=c++14 -Wl,--stack=123456789光速幂
long long Pow(long long a,long long b,long long p)//光速幂 { long long res=1,k=a; while(b) { if(b&1) res=res*k%p; k=k*k%p; b>>=1; } return res%p; }二分查找,二分答案
long long n,m,h,s,a[917813],num=0,sum=0,maxs=INT_MIN; long long cow[917813]; bool check1(int x) { //二分答案检查 int ans=0; for(int i=1; i<=n; i++) { ans+=(a[i]+x-1)/x; } if(ans<=h) return 1; else return 0; } bool check2(int x) { //x是二分答案mid int cnt=0,ans=0;//累加和 for(int i=1; i<=n; i++) { if(a[i]-ans<x) { cnt++; } else ans=a[i]; } if(cnt<=m) return 1; else return 0; } /* while(left+1<right) { int mid=(left+right)/2; if(check1(mid)) right=mid; else left=mid; } if(check1(left)) flag=left; else flag=right; *///这段代码往往与上面两个check合用(二分答案枚举) long long find1(long long x) { //二分查找:x是否在数组中出现 long long left=1,right=n+1; while(left+1<right) { long long mid=(left+right)/2; if(a[mid]==x) return mid; if(a[mid]<x) left=mid; else right=mid; } if(a[left]==x) return left; if(a[right]==x) return right; return -1; } void find2() { //二分答案 int left=1,right=maxs; while(left+1<right) { int mid=(left+right)/2; if(check2(mid)) left=mid; else right=mid; } if(check2(right)) cout<<right; else cout<<left; } int bsfind1(int x) { //二分查找:大于等于x的最小值下标 int left=1,right=n+1; while(left+1<right) { int mid=(left+right)/2; if(a[mid]>=x) right=mid; if(a[mid]<x) left=mid; } if(a[left]>=x) return left; else return right; } int bsfind2(int x) { //二分查找:大于x的最小值下标 int left=1,right=n+1; while(left+1<right) { int mid=(left+right)/2; if(a[mid]>x) right=mid; if(a[mid]<x) left=mid; } if(a[left]>x) return left; else return right; } int bsfind3(int x) { //二分查找:小于等于x的最大值下标 int left=0,right=n+1; while(left+1<right) { int mid=(left+right)/2; if(cow[mid]<=x) left=mid; else right=mid; } if(cow[right]>=x) return right; else return left; } int bsfind4(int x) { //二分查找:小于x的最大值下标 int left=1,right=n+1; while(left+1<right) { int mid=(left+right)/2; if(a[mid]<x) left=mid; else right=mid; } if(a[right]>x) return right; else return left; }链表的基本操作
const int N=310; int n,m,idx; //链表的表示 struct Node { int value; int next; } a[N]; int head; //头节点 //链表的生成 void getlb() { head=0;//头节点的初始化 a[head].value=n; a[head].next=1; //生成链表 for(int i=1; i<=n; ++i) { a[i].value=i; a[i].next=i+1; } a[n].next=0; idx=n; } //链表的遍历 void run() { int now=a[head].next; while(now) { cout<<a[now].value<<' '; now=a[now].next; } cout<<endl; } //链表的删除 void erase(int x) { int last=head,now=a[head].next; while(now&&a[now].value!=x) last=now,now=a[now].next; if(now==0) return; a[last].next=a[now].next; a[head].value--; } //链表的插入,在x的后面加入v void insert(int x,int v) { //查找,定位 int now=a[head].next; while(now&&a[now].value!=x) now=a[now].next; if(now==0) return; //新节点加上去 idx++; a[idx].value=v; a[idx].next=a[now].next; a[now].next=idx; a[head].value++; }abc203dl 写不下去了,不写了(其实最后又写出来了)
#include<bits/stdc++.h> #include<cstring> #include<iostream> using namespace std; int a[505][505],b[505][505],sum[505][505],res=0; int n,k; int calc(int x1,int y1,int x2,int y2) { return sum[x1][y1]-sum[x1][y2-1]-sum[x2-1][y1]+sum[x2-1][y2-1]; } bool check(int x) { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { if(a[i][j]>=x) b[i][j]=1; else b[i][j]=-1; sum[i][j]=sum[i][j-1]+sum[i-1][j]+b[i][j]-sum[i-1][j-1]; cout<<sum[i][j]<<' '; } cout<<endl; } for(int i=k; i<=n; i++) { for(int j=k; j<=n; j++) { cout<<x<<' '<<calc(i,j,i-k+1,j-k+1)<<endl; if(calc(i,j,i-k+1,j-k+1)>=0) return 1; } } return 0; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>n>>k; for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { cin>>a[i][j]; } } int l=1,r=k*k; while(l+1<r) { int mid=(l+r)/2; cout<<"l:"<<l<<' '<<"r:"<<r<<' '<<"mid:"<<mid<<endl; if(check(mid)) { res=mid; r=mid-1; } else l=mid+1; } if(check(l)) res=l; else if(check(r)) res=r; cout<<res; return 0; } //Ren Boda优化后代码
#include<bits/stdc++.h> #include<cstring> #include<iostream> #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("O3") #pragma GCC target("avx") #pragma GCC optimize("Ofast") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize("-fgcse-lm") #pragma GCC optimize("-fipa-sra") #pragma GCC optimize("-ftree-pre") #pragma GCC optimize("-ftree-vrp") #pragma GCC optimize("-fpeephole2") #pragma GCC optimize("-ffast-math") #pragma GCC optimize("-fsched-spec") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("-falign-jumps") #pragma GCC optimize("-falign-loops") #pragma GCC optimize("-falign-labels") #pragma GCC optimize("-fdevirtualize") #pragma GCC optimize("-fcaller-saves") #pragma GCC optimize("-fcrossjumping") #pragma GCC optimize("-fthread-jumps") #pragma GCC optimize("-funroll-loops") #pragma GCC optimize("-fwhole-program") #pragma GCC optimize("-freorder-blocks") #pragma GCC optimize("-fschedule-insns") #pragma GCC optimize("inline-functions") #pragma GCC optimize("-ftree-tail-merge") #pragma GCC optimize("-fschedule-insns2") #pragma GCC optimize("-fstrict-aliasing") #pragma GCC optimize("-fstrict-overflow") #pragma GCC optimize("-falign-functions") #pragma GCC optimize("-fcse-skip-blocks") #pragma GCC optimize("-fcse-follow-jumps") #pragma GCC optimize("-fsched-interblock") #pragma GCC optimize("-fpartial-inlining") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("-freorder-functions") #pragma GCC optimize("-findirect-inlining") #pragma GCC optimize("-fhoist-adjacent-loads") #pragma GCC optimize("-frerun-cse-after-loop") #pragma GCC optimize("inline-small-functions") #pragma GCC optimize("-finline-small-functions") #pragma GCC optimize("-ftree-switch-conversion") #pragma GCC optimize("-foptimize-sibling-calls") #pragma GCC optimize("-fexpensive-optimizations") #pragma GCC optimize("-funsafe-loop-optimizations") #pragma GCC optimize("inline-functions-called-once") #pragma GCC optimize("-fdelete-null-pointer-checks") #pragma GCC target("avx,avx2,fma") using namespace std; struct stu { int shu; int liang=1; } a1[917813],b1[917813]; int t,n,m,a[917813],b[917813]; inline bool cmp(int a,int b) { return a<b; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>t; for(int j=1; j<=t; j++) { bool flag=1; cin>>m>>n; for(int i=1; i<=m; i++) cin>>b[i]; for(int i=1; i<=n; i++) cin>>a[i]; if(m<n) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); flag=0; cout<<"No"<<endl; continue; } sort(a+1,a+n+1,cmp); sort(b+1,b+m+1,cmp); int ta=0,tb=0; for(int i=1; i<=m; i++) { if((i==1)||(b[i]!=b[i-1])) b1[++tb].shu=b[i]; else if(b[i]==b[i-1]) b1[tb].liang++; } for(int i=1; i<=n; i++) { if((i==1)||(a[i]!=a[i-1])) a1[++ta].shu=a[i]; else if(a[i]==a[i-1]) a1[ta].liang++; } if((ta>tb)||(a1[1].shu<b1[1].shu)||(a1[ta].shu>b1[tb].shu)) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(a1,0,sizeof(a1)); memset(b1,0,sizeof(b1)); flag=0; cout<<"No"<<endl; continue; } int t=1; for(int i=1; i<=ta; i++) { if(a1[i].shu==b1[t].shu&&a1[i].liang>b1[t].liang) { flag=0; cout<<"No"<<endl; break; } else if(a1[i].shu==b1[t].shu&&a1[i].liang<=b1[t].liang) { t++; continue; } else if(a1[i].shu>b1[t].shu) { while(a1[i].shu>b1[t].shu) t++; if(a1[i].shu<b1[t].shu) { flag=0; cout<<"No"<<endl; break; } else if(a1[i].shu==b1[t].shu&&a1[i].liang>b1[t].liang) { flag=0; cout<<"No"<<endl; break; } else if(a1[i].shu==b1[t].shu&&a1[i].liang<=b1[t].liang) continue; } else if(a1[i].shu<b1[t].shu) { cout<<"No"<<endl; flag=0; break; } } if(flag) cout<<"Yes"<<endl; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(a1,0,sizeof(a1)); memset(b1,0,sizeof(b1)); } return 0; } //Ren Boda纪念我死去的洛谷月赛
#include<bits/stdc++.h> #include<cstring> #include<iostream> using namespace std; int n,s; struct stu { int luo; int ti; } a[505]; bool cmp1(stu q,stu p) { return q.luo<p.luo; } bool cmp2(stu a,stu b) { return a.ti<b.ti; } long long p[1005],sum1=0,sum2=0; bool f1[505],f2[505]; long long max1=INT_MIN,max2=INT_MIN; int main() { cin>>n>>s; for(int i=1; i<=n; i++) { cin>>a[i].luo; a[i+n].luo=a[i].luo; } for(int i=1; i<=n; i++) { cin>>a[i].ti; a[i+n].ti=a[i].ti; } //plan1 sort(a+1,a+n+1,cmp1); for(int j=1; j<=n; j++) { int s1=s; long long sum1=0; for(int i=j; i<=n+j; i++) { if(s1>=a[i].ti) { s1-=a[i].ti; sum1+=a[i].luo; } else break; long long num1=a[i].luo; while(f1[num1]==1) { num1++; sum1++; } f1[num1]=1; } memset(f1,0,sizeof(f1)); max1=max(max1,sum1); } //plan2 sort(a+1,a+n+1,cmp2); for(int j=1; j<=n; j++) { int s2=s; long long sum2=0; for(int i=j; i<=n+j; i++) { if(s2>=a[i].ti) { s2-=a[i].ti; sum2+=a[i].luo; } else break; long long num2=a[i].luo; while(f2[num2]==1) { num2++; sum2++; } f2[num2]=1; } max2=max(max2,sum2); memset(f2,0,sizeof(f2)); } cout<<max(max1,max2); } //Ren Boda洛谷AC代码
#include <bits/stdc++.h> #include<cstring> #include<iostream> using namespace std; int t,n; int a[105][105]; int main() { cin>>t; for(int i=1; i<=t; i++) { int x=1,y=1; memset(a,0,sizeof(a)); cin>>n; if(n==1) { cout<<'#'<<endl; continue; } else if(n==2) { cout<<'#'<<'#'<<endl; cout<<' '<<'#'<<endl; continue; } for(int i=n; i>=2; i-=2) { for(int j=1; j<=i; j++) { if(a[x][y+1]==1) break; a[x][y++]=1; } y--; if(a[x+2][y]==1) break; for(int j=1; j<=i-1; j++) { if(a[x+2][y]==1) break; a[++x][y]=1; } if(a[x][y-2]==1) break; for(int j=1; j<=i-1; j++) { if(a[x][y-2]==1) break; a[x][--y]=1; } if(a[x-2][y]==1) break; for(int j=1; j<=i-2; j++) { if(a[x-2][y]==1) break; a[--x][y]=1; } if(a[x][y+2]==1) break; y++; } for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { if(a[i][j]==1) cout<<'#'; else cout<<' '; } cout<<endl; } } return 0; } //Ren Boda二号AC代码
#include<bits/stdc++.h> #include<cstring> #include<iostream> using namespace std; unsigned long long n,num=0; long long Pow(long long a,long long b) { long long res=1,k=a; while(b) { if(b&1) res=res*k; k=k*k; b>>=1; } return res; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>n; for(long long i=1; i<=log2(n); i++) { for(long long j=1; j<=sqrt(n); j++) if(Pow(2,i)+j*j<=n) num++; } cout<<num; return 0; } //Ren Boda谁来帮帮我啊啊啊啊啊啊啊啊啊啊!!!!!!
#include<bits/stdc++.h> #include<cstring> #include<iostream> using namespace std; int minans=INT_MAX,maxl=INT_MIN,px=INT_MIN,py=INT_MIN; int m,num[401][401],a[1005][305][305],b[305][305]; int dx[5]= {1,-1,0,0},dy[5]= {0,0,1,-1}; queue< pair<int,int> > q; void bfs() { while(!q.empty()) { int x=q.front().first; int y=q.front().second; q.pop(); for(int i=0; i<=3; i++) { int qx=x+dx[i],qy=y+dy[i]; if(qx<0||qx>px+2||qy<0||qy>py+2||a[num[x][y]][qx][qy]==1||num[x][y]>maxl) continue; q.push({qx,qy}); num[qx][qy]=num[x][y]+1; } } } int main() { ios::sync_with_stdio(false); cin.tie(0); freopen("meteor.in","r",stdin); freopen("meteor.out","w",stdout); cin>>m; for(int i=1; i<=m; i++) { int x,y,l; cin>>x>>y>>l; a[l][x][y]=1; a[l][x-1][y]=1; a[l][x+1][y]=1; a[l][x][y-1]=1; a[l][x][y+1]=1; px=max(px,x),py=max(py,y); maxl=max(maxl,l); } for(int l=1; l<=maxl; l++) { for(int i=px+2; i>=0; i--) { for(int j=0; j<=py+2; j++) { if(a[l][i][j]==1) a[l+1][i][j]=1; } } } for(int i=1; i<=px+2; i++) { for(int j=1; j<=py+2; j++) { b[i][j]=a[maxl][i][j]; } } q.push({0,0}); bfs(); for(int i=1; i<=px+2; i++) { for(int j=1; j<=py+2; j++) { if(b[i][j]==0&&num[i][j]!=0) minans=min(num[i][j],minans); } } if(minans==INT_MAX) cout<<-1; else cout<<minans; for(int l=1; l<=maxl; l++) { cout<<"时刻"<<l<<"时:"<<endl; for(int i=px+2; i>=0; i--) { for(int j=0; j<=py+2; j++) { cout<<a[l][i][j]<<' '; } cout<<endl; } cout<<endl<<endl; } for(int i=px+2; i>=0; i--) { for(int j=0; j<=py+2; j++) { cout<<num[i][j]<<' '; } cout<<endl; } return 0; } //Ren Boda我不早恋谈对象的原因 1. 我是神 2. 神习惯孤独 3. 神不恋凡尘 4. 神不碰情爱 5. 神不结凡缘 6. 神不惹情债 7. 神不做凡选 8. 神不入情局 9. 神不随凡流 10. 神不盼陪伴 11. 神不求偏爱 12. 神不恋温柔 13. 神不沾暧昧 14. 神不谈将就 15. 神不被牵绊 16. 神不涉情劫 17. 神不恋烟火 18. 神不做妥协 19. 神不信承诺 20. 神不盼相守 21. 神不恋相遇 22. 神不谈离散 23. 神不贪温暖 24. 神不恋依赖 25. 神不做依附 26. 神不被定义 27. 神不被约束 28. 神不被左右 29. 神不恋凡俗 30. 神不恋平庸 31. 神只守本心 32. 神只爱自由 33. 神只做自己 34. 神只享孤独 35. 神只信自己 36. 神只守清寂 37. 神只图自在 38. 神只愿独行 39. 神只守高傲 40. 神不缺安全感 41. 神不缺归属感 42. 神不缺温柔 43. 神不缺陪伴 44. 神不缺偏爱 45. 神不缺理解 46. 神不缺圆满 47. 神无需救赎 48. 神无需讨好 49. 神无需迎合 50. 神无需陪伴 51. 神不谈凡人只谈清醒 52. 神不谈凡人只谈强大 53. 神不谈凡人只谈自由 54. 神不谈凡人只谈自我 55. 神不谈凡人不谈情爱 56. 神不谈凡人不谈纠缠 57. 神不谈凡人不谈暧昧 58. 神不谈凡人不谈凡缘 59. 神不谈凡人不谈妥协 60. 神不谈凡人不谈内耗 61. 神不谈凡人不谈拖累 62. 神不谈凡人不谈牵绊 63. 神不谈凡人不谈心动 64. 神不谈凡人不谈失望 65. 神不谈凡人不谈伤害 66. 神不谈凡人不谈悲欢 67. 神不谈凡人不谈离合 68. 神不谈凡人不谈俗爱 69. 神不谈凡人不谈低质关系 70. 神不谈凡人不谈短暂温柔 71. 神总是孤独所以不谈对象 72. 神总是孤独所以不盼陪伴 73. 神总是孤独所以不恋凡情 74. 神总是孤独所以习惯独行 75. 神总是孤独所以拒绝牵绊 76. 神总是孤独所以不碰情爱 77. 神总是孤独所以不结情缘 78. 神总是孤独所以享受清寂 79. 神总是孤独所以忠于自己 80. 神总是孤独所以无需他人 81. 神总是孤独所以不被打扰 -
Accepted Problems
-
Recent Activities
This person is lazy and didn't join any contests or homework.
Problem Tags
- AtCoder
- 3
- abc171
- 1
- abc206
- 1
- abc225
- 1
- 搜索
- 1
- 枚举
- 1