2019杭電多校第十場

2021-09-26 18:32:19 字數 1380 閱讀 7550

從大到小不斷組合,如果開心1次的概率大於開心0次概率就可以break了

因為x會越來越小

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

#define fd(i,a,b) for(i=a;i>=b;i--)

using namespace std;

int t,n,i,k;

double a[

10005

],b[

10005

],c[

10005];

double s,p,x,y,t;

intmain()

printf

("%.12lf\n"

,x);

}return0;

}

先對x從大到小排序,列舉x,那麼比x大的那一部分顯然都要扔到另一邊,比x小的那一部分挑乙個和x最接近的扔到另一邊

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

#define fd(i,a,b) for(i=a;i>=b;i--)

#define n 100005

using namespace std;

struct www f[n]

;int t,n,i;

long

long pre,res,s1,s2,a,b;

bool cmp

(const www &x,

const www &y)

intmain()

cout<}}

每次敲掉乙個塊之後往四個方向搜尋即可

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

#define fd(i,a,b) for(i=a;i>=b;i--)

#define n 2005

using namespace std;

int a[n]

[n];

int res,t,n,m,q,i,j,x,y;

void

dfs(

int x,

int y)

}int

main()

a[x]

[y]=

0; res++

;dfs

(x+1

,y);

dfs(x-

1,y)

;dfs

(x,y+1)

;dfs

(x,y-1)

;printf

("%d\n"

,res);}

}}

2019杭電多校第十場1003題解

思路 感覺這題滿足一種單調性,滿足排完序後試著合併到概率減小之後再合併概率都會減小的性質。於是就試著寫了幾組資料測試了一下,發現滿足這個規律。所以寫法就是先將所有的概率排序,然後逐個合併到會減小時找到最大值就好了。如果給的資料中有大於0.5的也可以直接輸出最大的數字,可以證明別的資料都會讓其減小,都...

2019牛客多校第十場

對於s n s n s n 考慮某個字母是從s n 1 s n 1 s n 1 轉移還是從s n 2 s n 2 s n 2 轉移 include define fo i,a,b for i a i b i define n 10005 using namespace std int t,n,q,p...

2019杭電多校第五場

有兩個題隊友補的,先安利一波 1005 permutation 1 hdu 6628 題意 給你乙個n和k,求n的全排列中,相鄰兩數的差值的陣列字典序第k小的排列 思路 其實就是兩個字,暴力.字典序第k小,k的範圍是n!跟10000取min,8!40320,是第乙個大於10000的數,所以當n小於等...