网站建设 需求调研,企业网站优化推广方法,wordpress后台登录美化,企业网站的网址有哪些题解 双向链表加倍增。。。 正写着不一定能写对2333 终于写对了。。。 然而我的双向链表和别人的都不一样。。。 瑟瑟发抖。。。 代码 //by 减维
#includecstdio
#includeiostream
#includecstring
#includequeue
#includecstdlib
#in… 题解 双向链表加倍增。。。 正写着不一定能写对2333 终于写对了。。。 然而我的双向链表和别人的都不一样。。。 瑟瑟发抖。。。 代码 //by 减维
#includecstdio
#includeiostream
#includecstring
#includequeue
#includecstdlib
#includectime
#includecmath
#includemap
#includealgorithm
#define ll long long
#define inf (9223372036854775807LL)
using namespace std;struct biao{int i,to,fr;ll v;
}e[100005];int n,m,hest,ys[100005],zj[100005],cj[100005],f[100005][33];
ll x,her,a[100005][33],b[100005][33],h[100005];bool cmp(const biaox,const biaoy){return x.vy.v;}
bool cm2(const biaox,const biaoy){return x.iy.i;}int main()
{scanf(%d,n);for(int i1;in;i){scanf(%lld,e[i].v),e[i].ii,h[i]e[i].v;if(h[i]her) herh[i],hesti;}sort(e1,en1,cmp);for(int i1;in;i)e[i].fre[i-1].i,e[i].toe[i1].i;sort(e1,en1,cm2);for(int i1;in;i){ll m1inf,m2inf,hh[5];int pos[5],a1,a2;hh[1]abs(h[i]-h[e[i].fr]); pos[1]e[i].fr;hh[2]abs(h[i]-h[e[e[i].fr].fr]); pos[2]e[e[i].fr].fr;hh[3]abs(h[i]-h[e[i].to]); pos[3]e[i].to;hh[4]abs(h[i]-h[e[e[i].to].to]); pos[4]e[e[i].to].to;if(e[i].fr0)hh[1]inf;if(e[e[i].fr].fr0)hh[2]inf;if(e[i].to0)hh[3]inf;if(e[e[i].to].to0)hh[4]inf;for(int j1;j4;j)if(m1hh[j]||(m1hh[j]h[a1]h[pos[j]]))m2m1,a2a1,m1hh[j],a1pos[j];elseif(m2hh[j]||(m2hh[j]h[a2]h[pos[j]]))m2hh[j],a2pos[j];if(m1!inf)zj[i]a1;if(m2!inf)cj[i]a2;if(e[i].fr!0)e[e[i].fr].toe[i].to;if(e[i].to!0)e[e[i].to].fre[i].fr;}for(int i1;in;i){f[i][0]zj[cj[i]];if(in-2)a[i][0]abs(h[i]-h[cj[i]]);if(in-1)b[i][0]abs(h[cj[i]]-h[zj[cj[i]]]);}for(int i1;i22;i)for(int j1;jn;j){f[j][i]f[f[j][i-1]][i-1];a[j][i]a[j][i-1]a[f[j][i-1]][i-1];b[j][i]b[j][i-1]b[f[j][i-1]][i-1];}scanf(%lld,x);int ans1;double m1inf;ll mh-1;for(int i1;in;i){int posi;ll lx,disa0,disb0;for(int j22;j0;--j){if(f[pos][j]!0a[pos][j]b[pos][j]l){disaa[pos][j];disbb[pos][j];l-a[pos][j]b[pos][j];posf[pos][j];}}if(a[pos][0]l){disaa[pos][0];l-a[pos][0];}double cinf;if(disb0) cinf;else cdisa*1.0/disb;if(cm1||(cm1h[i]mh)){m1c;mhh[i];ansi;}}if(m1!inf)printf(%d\n,ans);else printf(%d\n,hest);scanf(%d,m);for(int i1;im;i){int s;scanf(%d%lld,s,x);int poss;ll lx,disa0,disb0;for(int j22;j0;--j){if(f[pos][j]!0a[pos][j]b[pos][j]l){disaa[pos][j];disbb[pos][j];l-a[pos][j]b[pos][j];posf[pos][j];}}if(a[pos][0]l){disaa[pos][0];l-a[pos][0];}printf(%lld %lld\n,disa,disb);}
} 转载于:https://www.cnblogs.com/rir1715/p/7695611.html