水題
目錄暴力模擬,額寫了2遍。。。
噗噗大神自己寫過這個遊戲。。。
數學歸納法就可以證明,只有乙個單調上公升子串行或乙個單調上公升子串行+乙個單調下降子串行最優,於是dp。。。
話說當時愣是沒推出來(%pb大神);#include
#include
using
namespace
std;
#define lowbit(x) (x&(-x))
const
int maxn=100005;
int a[maxn],no[maxn],n,hs[maxn];
double arr[maxn],up[maxn],down[maxn];
inline
int read();
bool cmp(const
int &x,const
int &y)
inline
double qry(int r)
int main()
up[1]=a[1];
add(up[1],no[1]);
for(int i=2;i<=n;++i)
for(int i=1;i<=n;++i)
arr[i]=0;
down[n]=a[n];
add(down[n],no[n]);
for(int i=n-1;i;--i)
double ans=0;
for(int i=1;i<=n;++i)
printf("%.3lf",ans);
fclose(stdin);
fclose(stdout);
return0;}
inline
int read()
普通mst其實也是按邊對最終的樹的邊權貢獻關係排的,並且是相對關係(大小嗎。。。)。於是這題我們yy出最終向量的傾角θ,則邊在最終向量的投影——即貢獻為a*cosθ+b*sinθ,列舉求任意兩對邊貢獻相等時的傾角,根據三角函式單調性可知:在這些θ分成的不同角的區域,邊的相對關係不變,mst相同,於是求每個區域中θ(兩邊邊界平均值即可)下的mst取最優解。。。
注意去重,而且atan∈[-π/2,3*π/2],排序後,最大的θ和最小的θ要手動加入,或者序列裡人工加上-π/2,3*π/2
#include
#include
#include
using
namespace
std;
inline
int read();
const
int maxn=55,maxm=205;
const
double pi=acos(-1);
int fa[maxn],part,n,m;
double theta[maxm*maxm<<1];
struct lineed[maxm];
bool cmp(const line &a,const line &b)
inline
void clean()
int find(int x)
inline
void uni(const
int &x,const
int &y)
inline
void prepare()
theta[++part]=k;
theta[++part]=k+pi;}}
theta[++part]=-pi/2;
theta[++part]=3*pi/2;
sort(theta+1,theta+part+1);
part=unique(theta+1,theta+part+1)-theta-1;
}inline
double kruskal()
}sum=suma*suma+sumb*sumb;
ans=max(ans,sum);
}return
sqrt(ans);
}int main();
prepare();
printf("%.6lf",kruskal());
fclose(stdin);
fclose(stdout);
return0;}
inline
int read()
北京集訓DAY3
消去合法的序列 剩下的不合法序列一定是 3兩種括號個數各加1除2 手算一下即可4 5 include 6 include 7 include 8 9const int maxn 100010 10 11int len,top,cnt 1213 char s maxn 1415 inthh 25int...
Day3實訓筆記
上午老是帶領答加學習前端,雖然前端我也學過一些東西,但是實訓老師所涉及到的知識點那都是我們書本上可以說是不曾見過的東西。還有一些快捷鍵我們也不太了解,有時候老師講的一句話我要理解好一會兒才能想起來。哦,好像是這麼回事兒!先把學習的知識羅列下吧。上午 1 提供給我們幾個 學習 1.1 元件 這是前端經...
2019 7 8海亮暑假集訓Day3考試總結
t1,顯然是乙個dfs暴力就可以過,但是我的yes小寫了 沉默兩秒.t2,這一道題我要好好講講 下面是我寫的題解 下面有四種情況 看懂了嗎 看懂了!還是挺好理解的 可是考試時候還是推不出來啊 t3,這一題我一開始想的是分塊 因為下午要講的是分塊,所以我就沒多想 後來正解竟然是倍增 說實話,我的倍增除...