新疆大学ACM新生赛(公开赛)
生活随笔
收集整理的這篇文章主要介紹了
新疆大学ACM新生赛(公开赛)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
A~D簽到題,E稍微用點腦子?F經典分治題(lyd藍書的襲擊)反正分治算就行了復雜度2個log(用個歸并能到1個log)
A - hello world
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; int main() {IO;int T=1;//cin>>T;while(T--){cout<<"ifmmp!xpsme\n";}return 0; }B - 掛科
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; int main() {IO;int T=1;//cin>>T;while(T--){int n,x,y;cin>>n>>x>>y;cout<<min(x,y)<<' '<<max(x+y-n,0)<<'\n';}return 0; }C - a+b
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; int main() {IO;int T=1;//cin>>T;while(T--){int a,b;cin>>a>>b;cout<<hex<<a+b;}return 0; }D - 數組的和
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=200010; ll a[N]; ll s[N]; int n,k; int main() {IO;int T=1;//cin>>T;while(T--){cin>>n>>k;ll res=1e18;for(int i=1;i<=n;i++) {cin>>a[i];s[i]=s[i-1]+a[i];}for(int i=1;i<=n;i++){int j=i+k-1;if(j<=n)res=min(res,s[i-1]+s[n]-s[i+k-1]);}cout<<res<<'\n';}return 0; }E - 異或
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0) #pragma GCC optimize(2) #include<set> #include<map> #include<cmath> #include<queue> #include<string> #include<vector> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=200010; ll a[N]; int p[N]; int main() {IO;int T=1;//cin>>T;while(T--){int n,q;ll now=0;cin>>n>>q;while(q--){int k,v;cin>>k>>v;if(k<=n) p[k]^=v;int cnt=n/k;if(cnt&1) now^=v;cout<<now<<'\n';}for(int i=1;i<=n;i++)if(p[i])for(int j=i;j<=n;j+=i)a[j]^=p[i];for(int i=1;i<=n;i++)cout<<a[i]<<' ';}return 0; }F - 最近的兩個點
#include<bits/stdc++.h>using namespace std; typedef long long ll; typedef pair<int,int> pii; const int N=100010; int n; struct node {double x,y,z; }p[N],tmp[N]; bool cmpx(node a,node b) {return a.x<b.x; } bool cmpy(node a,node b) {return a.y<b.y; } double dis(node a,node b) {double dx=a.x-b.x;double dy=a.y-b.y;double dz=a.z-b.z;return sqrt(dx*dx+dy*dy+dz*dz); } double solve(int l,int r) {if(l==r) return 1e10;int mid=l+r>>1;double flag=p[mid].x;double res=min(solve(l,mid),solve(mid+1,r));//sort(p+l,p+r+1,cmpy);// 歸并這一步能夠少一個loginplace_merge(p+l,p+mid+1,p+r+1,cmpy); // 歸并排序int k=0;for(int i=l;i<=r;i++)if(p[i].x>=flag-res&&p[i].x<=flag+res)tmp[++k]=p[i];// 經證明下面操作復雜度線性?for(int i=1;i<=k;i++)for(int j=i-1;j&&tmp[i].y-tmp[j].y<res&&abs(tmp[i].z-tmp[j].z)<res;j--)res=min(res,dis(tmp[i],tmp[j]));return res; } int main() {cin>>n;for(int i=1;i<=n;i++) cin>>p[i].x>>p[i].y>>p[i].z;sort(p+1,p+1+n,cmpx);printf("%.3lf\n",solve(1,n));return 0; }總結
以上是生活随笔為你收集整理的新疆大学ACM新生赛(公开赛)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新款奥迪 Q5L Sportback 上
- 下一篇: 国行 1549 元:苹果 AirPods