這場比賽開的是長沙的現場賽,感覺難度不是很高的樣子。很多題目都可以開的樣子,然後妥妥的開了一道神奇的搜尋題,後面兩道幾何也都寫的比較挫,玻璃那道題還處理得不好,精度不夠一直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 如果只有乙個雙引號裡面的...