NOIP模擬 跟蹤

2021-07-23 07:42:46 字數 1130 閱讀 5089

由於一開始沒有明白題意,就沒有管這道題。

然而這道題是非常水的。

明顯是從s開始做。

然後每次往下走,如果兒子不是p或q的父親,那麼就可以直接算。

或者可以待在原題不動(直接算出答案)。

算的時候,畫個圖,推一推就好了。

#include

#include

#include

#include

#include

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

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

#define rep(i,a) for(i=first[a];i;i=next[i])

using

namespace

std;

const

int maxn=200007;

int i,j,k,l,t,n,m,ans,s,p,q,pp,qq,ppp,qqq;

int first[maxn*2],next[maxn*2],last[maxn*2],num;

int f[maxn],deep[maxn],shen[maxn];

int bz[maxn];

void add(int x,int y)

void dfs(int x,int y)

}}void dfs1(int x,int y,int z,int p,int q)

rep(i,x)}}

rep(i,x)

}k=min(p,q);

int o=z;

o+=(k/2)*3+(k%2)*2;

ans=max(ans,o);

}int main()

dfs(s,0);

while(pp)bz[pp]=p,pp=f[pp];

while(qq)bz[qq]=q,qq=f[qq];

dfs1(s,0,0,deep[p]-1,deep[q]-1);

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

}

NOIP模擬 修路

這題第一眼看上去有些懵逼,還以為是dp。第二眼,哦,這麼裸的最小生成樹,2分鐘打完,拍都沒對,自信100分。最終100分。每條邊的權值減去連個節點的權值,所有的邊做一次最小生成樹就好了。include include include include include define fo i,a,b f...

NOIP模擬 項鍊

經過一番周折,bob找到了alice,為了安慰alice驚魂未定的心,bob決定給alice買一條手鍊,這條手鍊由m個珍珠組成,每個珍珠上刻著不同的小寫字母。當alice看到一些字母按照一定的順序排列成的字串時,就會產生一定的愉悅值。bob現在可以在這m個珍珠上刻上字母,現在他想知道,如何刻字母可以...

NOIP模擬 幻象

phantom是一位愛思考的哲 學家。最近phantom得到了森 妖精的真傳。在他練功的時候,每秒他的思緒中都有一定的概率浮現出奇 異的幻象,持續x秒的幻象將產生 空格 的幻象值。phantom練功發自真心,他想知道,在n秒內他期望產生的幻象值是多少。等我比賽完之後,我們才知道 空格 是x2 所以比...