Codeforces - Gym102028 - 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest
阿新 • • 發佈:2019-03-03
alpha c++ iic img std namespace all 求和 最小
http://codeforces.com/gym/102028
A. Xu Xiake in Henan Province
看起來像水題。亂搞一下,還真是。
#include<bits/stdc++.h> using namespace std; #define ll long long int main(){ int n; while(~scanf("%d",&n)){ for(int i=0;i<n;i++){ int cnt=0; for(int j=0;j<4View Code;j++){ int t; scanf("%d",&t); if(t) cnt++; } string ans; switch(cnt){ case 0: ans="Typically Otaku"; break; case 1: ans="Eye-opener"; break; case 2: ans="Young Traveller"; break; case 3: ans="Excellent Traveller"; break; case 4: ans="Contemporary Xu Xiake"; break; } cout<<ans<<endl; } } }
I. Distance
看起來蠻暴力的?每次選離點多的那一側最遠的那個?(也就是輪流選)先莽一發。
差點被卡memset,還好發現得早……
居然忘記處理t組數據,都已經掃進來了!
#include<bits/stdc++.h> using namespace std; #define ll long long bool c[100005]; int x[100005]; int main(){ int t; while(~scanf("%d",&t)){ while(t--){ int n; scanf("%d",&n); memset(c,0,sizeof(c[0])*n); memset(x,0,sizeof(x[0])*n); x[0]=0; for(int i=0;i<n-1;i++){ int d; scanf("%d",&d); x[i+1]=x[i]+d; } printf("%d %d",0,x[n-1]); c[0]=c[n-1]=1; int cleft=1,cright=1; int i=1,j=n-2; ll ans=x[n-1]; ll cur=x[n-1]; while(cleft+cright<n){ if(cleft==cright){ ans+=cur; if(x[i]-x[i-1]<=x[j+1]-x[j]){ //cur+=x[i]-x[i-1]; c[i]=1; i++; cleft++; } else{ //cur+=x[j+1]-x[j]; c[j]=1; j--; cright++; } } else if(cleft<cright){ cur+=x[j+1]-x[i]; ans+=cur; c[i]=1; i++; cleft++; } else{ cur+=x[j]-x[i-1]; ans+=cur; c[j]=1; j--; cright++; } printf("% lld",ans); //printf("cur=%lld\n",cur); } printf("\n"); } } } /* 1 8 7 6 5 4 5 6 7 */View Code
E. Resistors in Parallel
感覺像是選不超過n的最小的質因數連乘形成的乘積的因數。我們要求的還有某個數的所有因子求和。
這裏給出一個定理:求 $36=2*2*3*3$ 的所有因子的和,當然是等於 $(1+2+2^2)*(1+3+3^2)$ 。(拆開立刻就知道非常顯然!)
變成每一個質因子的等比數列求和再求積。由 $36=2^2*3^2$ ,得其所有因子的和等於 $(\frac{1*(1-2^3)}{1-2})*(\frac{1*(1-3^3)}{1-3})$ ,
其實就是 $\prod\frac{p^{\alpha+1}-1}{p-1}$ 。這這道題中, $\alpha=1$ ,所以就是 $\prod{(p+1)}$ ,啊!數學真好玩?!
那現在的問題是求不超過 $10^{100}$ 的質因數連乘。大數交給潘哥去做。
D. Keiichi Tsuchiya the Drift King
看起來像幾何題……不知道是不是錯覺。
Codeforces - Gym102028 - 2018-2019 ACM-ICPC, Asia Jiaozuo Regional Contest