第三週組隊訓練賽 長沙現場賽解題報告

2021-06-22 23:12:16 字數 2455 閱讀 1755

這場比賽開的是長沙的現場賽,感覺難度不是很高的樣子。很多題目都可以開的樣子,然後妥妥的開了一道神奇的搜尋題,後面兩道幾何也都寫的比較挫,玻璃那道題還處理得不好,精度不夠一直wa,後來看了別人的二分寫法才知道自己的寫法太挫了,k題當時覺得是模板題沒敢開。

第一題:alice's print service

隊友做的,大概是有n種優惠方案,給出多次詢問,注意時間

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define pi acos(-1.0)

#define maxn 100100

#define eps 1e-7

#define inf 0x7fffffff

#define seed 131

//#define long long ll;

#define unsigned long long ull;

#define lson l,m,rt<<1

#define rson r,m+1,rt<<1|1

long long s[maxn],p[maxn];

long long minm[maxn];

int main()

for(i=0;i

#include #include #define eps 1e-8

struct point;

double max(double a,double b)

double xmult(point p1,point p2,point p0)

double distance(point p1,point p2)

double disptoline(point p,point l1,point l2)

point intersection(point u1,point u2,point v1,point v2)

//判直線和圓相交,包括相切

int intersect_line_circle(point c,double r,point l1,point l2)

//判線段和圓相交,包括端點和相切

int intersect_seg_circle(point c,double r,point l1,point l2)

//計算圓上到點p最近點,如p與圓心重合,返回p本身

point dot_to_circle(point c,double r,point p)

int main()

}//printf("%.6lf\n",sum1);

}double sum=-1;

for(int i=0;i

注意s是玻璃最小面積    h/l是每塊玻璃的高,所以邊長和邊數的關係就可以確定了,二分一下就可以得出結果。

#include #include #include #include #include #include #include #include using namespace std;

const double pi=acos(-1.0);

double getlen(int n,double r)

int main()

else

}ans+=num*s;

//k=num;

} printf("%.3lf\n",ans);

} return 0;

}

k題:看到是魔方題目,以為是模板題,比賽的時候沒敢做,賽後讀發現不是很難的題目

給了乙個2*2的魔方..每步操作可以將任意一面翻轉90度..現在問在n(<=7)步內..最多能翻出幾面相同的,因為最多隻旋轉7次,所以我們可以直接暴力搜尋求最大,六個面順時針逆時針一遍一共12中轉法,不過因為只有2*2*2,所以對於相對的兩個面,乙個面順時針旋轉等價於另乙個面逆時針轉,所以可以縮減為6種旋轉。只要把六種旋轉的面的對應關係搞清楚就行了.

打表寫法

#include #include #include #include #include #include #include #include using namespace std;

int ms[6][24]=,

, , ,,

};int ans;

void update(int *h)

void dfs(int n,int *h)

int p[24];

for(int k=0;k<6;k++)

dfs(n-1,p);

} return ;

}int main()

ans=0;

dfs(n,h);

printf("%d\n",ans);

} return 0;

}

ACM2016級新生第三週訓練賽

備用鏈結 題目還是比較基礎,比較簡單。認真補題,學會學習。a 人見人愛a b 題解 求 a的b次方,我們可以用迴圈進行累乘操作,進而計算出次方.因為題目要求只需要求出最後三位,所以每次對 1000 求餘數,最後輸出即可。include include include includeint main ...

UPC2018組隊訓練賽第十二場

1 include2 using namespace std 3char str 100050 4 typedef long long ll 5 intmain 622 else 2327 28 printf lld n ans 29 30return0 31 view code 訓練賽時想到的思路...

UPC2018組隊訓練賽第十場

直接按照題意寫 1 include 2 3using namespace std 4bool cmp int x,inty 5 8int n,m,a 1005 9 intmain 1025 return0 26 view code 輸入的兩個字串相同輸出 identical 如果只有乙個雙引號裡面的...