CodeForces Div2 433
阿新 • • 發佈:2017-09-08
spa 技術分享 rac 當前 lap you code 賽後 scanf
A題 Fraction
暴力枚舉 無思維難度 無坑點
1 #include <cstdio> 2 #include <algorithm> 3 using namespace std; 4 int n,Mi,Mj; 5 double Max,now; 6 int main(){ 7 scanf("%d",&n); 8 for(int i=1;i<n;i++){ 9 for(int j=1;j<i;j++){ 10 //printf("%d %d gcd:%d\n",i,j,__gcd(i,j));T111 if(i+j==n && __gcd(i,j)==1){ 12 double x=i; 13 double y=j; 14 now = y/x; 15 //printf("%.2f\n",now); 16 if(now>Max){ 17 Max = now; 18 Mi = i; 19 Mj = j;20 } 21 } 22 } 23 } 24 printf("%d %d\n",Mj,Mi); 25 return 0; 26 }
B題 Maxim Buys an Apartment
手寫幾組數據就能發現這是一個結論題目,特判一下特殊情況就OK了。
1 #include <cstdio> 2 #include <iostream> 3 typedef long long ll; 4 ll n,k; 5 int main(){T26 std::cin>>n>>k; 7 if(n==1){ 8 printf("0 0"); 9 return 0; 10 } 11 if(n==k){ 12 printf("0 0"); 13 return 0; 14 } 15 if(k==0){ 16 printf("0 0"); 17 return 0; 18 } 19 printf("1 "); 20 if(2*k<=n-k){ 21 std::cout<<2*k; 22 } 23 else std::cout<<n-k; 24 return 0; 25 }
C題 Planning
比賽時始終沒有想到這個算法怎麽實現。。。賽後看了下題解,發現還是自己too young
貪心思路:每一秒走能走的最貴的飛機
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 struct p 5 { 6 ll x,y; 7 p(ll x=0,ll y=0):x(x),y(y){} 8 bool operator <(const p&t)const 9 { 10 if (x==t.x) return y<t.y; 11 return x>t.x; 12 } 13 }; 14 p a[300005]; 15 p b[300005]; 16 int num[300005]; 17 bool use[300005]; 18 int main() 19 { 20 ios::sync_with_stdio(false); 21 ll n,k; 22 cin>>n>>k; 23 for(int i=1;i<=n;i++) 24 { 25 cin>>a[i].x; 26 a[i].y=i; 27 } 28 //排序 29 sort(a+1,a+1+n); 30 ll ans=0; 31 int now=1; 32 memset(use,0,sizeof(use)); 33 for(int i=1;i<=n;i++) 34 if (!use[i]) 35 { 36 //如果當前有和y一樣的次序 就不用加和 37 while(a[now].y>i+k) 38 { 39 num[a[now].y]=a[now].y; 40 use[a[now].y-k]=1; 41 now++; 42 } 43 //對於當前比較大的 我盡量讓差值盡量下就行了,因為i+k是遞增的,所以當前值一定是最優的 44 if (i+k>=a[now].y) 45 { 46 num[a[now].y]=i+k; 47 ans+=a[now].x*(i+k-a[now].y); 48 use[i]=1; 49 now++; 50 } 51 } 52 cout<<ans<<endl; 53 for(int i=1;i<n;i++) 54 cout<<num[i]<<" "; 55 cout<<num[n]<<endl; 56 return 0; 57 }T3
D題 Jury Meeting
待補
E題
思路:容斥原理+可持久化線段樹
可持久化線段樹不會寫Orz 繼續留坑
CodeForces Div2 433