csp-s模拟12

news/2024/10/18 17:58:01

csp-s模拟12

\(T1\) T2918. 小 h 的几何 \(100pts\)

  • 对于任意三角形,均有其三条边的中点、三条高的垂足、三个顶点与垂心连线的中点,这九个点在一个圆上。

  • 观察样例可知,对于单位圆上 \(\triangle ABC\) 的三个顶点 \(A(x_{a},y_{a}),B(x_{b},y_{b}),C(x_{c},y_{c})\) ,其九点圆圆心为 \(\Omega (A,B,C)=(\dfrac{x_{a}+x_{b}+x_{c}}{2},\dfrac{y_{a}+y_{b}+y_{c}}{2})\)

    • 证明
      • 直接构造坐标(从单位圆的角度考虑)

        • 不妨只取三条边的中点参与计算,等价于求 \(D(\dfrac{x_{a}+x_{b}}{2},\dfrac{y_{a}+y_{b}}{2}),E(\dfrac{x_{a}+x_{c}}{2},\dfrac{y_{a}+y_{c}}{2}),F(\dfrac{x_{b}+x_{c}}{2},\dfrac{y_{b}+y_{c}}{2})\) 的外接圆圆心。
        • \(\Omega (A,B,C)=(x,y)\) 等价于求 \(\begin{cases} (x-\frac{x_{a}+x_{b}}{2})^{2}+(y-\frac{y_{a}+y_{b}}{2})^{2}=r^{2} \\ (x-\frac{x_{a}+x_{c}}{2})^{2}+(y-\frac{y_{a}+y_{c}}{2})^{2}=r^{2} \\ (x-\frac{x_{b}+x_{c}}{2})^{2}+(y-\frac{y_{b}+y_{c}}{2})^{2}=r^{2} \end{cases}\) ,又因为 \(x_{a}^{2}+y_{a}^{2}=x_{b}^{2}+y_{b}^{2}=x_{c}^{2}+y_{c}^{2}=(2r)^{2}=4r^{2}=1^{2}=1\) ,不难想到构造 \(\begin{cases} x=\frac{x_{a}+x_{b}+x_{c}}{2} \\ y=\frac{y_{a}+y_{b}+y_{c}}{2} \end{cases}\)
          • 由中点三角形的相似性 \(\triangle ABC \backsim \triangle FED\) 和相似比等于 \(2\) ,不难得到 \(\triangle ABC\) 外接圆半径和 \(\triangle FED\) 外接圆半径的相似比也等于 \(2\)
            • 好像这个结论不是很显然(从代数推导的角度可能会比较显然?),证明咕了。
      • 挂下题解做法。

  • 统计 \((x_{i},y_{i})\) 作为 \(A,B,C\) 计算次数的贡献即可,拆开式子减小精度误差,有 \(\dbinom{n-i}{2}+\dbinom{i-1}{1}\dbinom{n-i}{1}+\dbinom{i-1}{2}=\dfrac{(n-i)(n-i-1)}{2}+(i-1)(n-i)+\dfrac{(i-1)(i-2)}{2}\)

    点击查看代码
    const double Pi=3.141592653589,mod=1000000000;
    int main()
    {freopen("geometry.in","r",stdin);freopen("geometry.out","w",stdout);ll n,i;double q,x,y,ansx=0,ansy=0;cin>>n;for(i=1;i<=n;i++){cin>>q;x=cos(q/mod*Pi);y=sin(q/mod*Pi);if(i<=n-2){ansx+=x*(n-i)*(n-i-1)/2;ansy+=y*(n-i)*(n-i-1)/2;}if(2<=i&&i<=n-1){ansx+=x*(i-1)*(n-i);ansy+=y*(i-1)*(n-i);}if(3<=i){ansx+=x*(i-1)*(i-2)/2;ansy+=y*(i-1)*(i-2)/2;}}ansx*=(3.0/n/(n-1)/(n-2));ansy*=(3.0/n/(n-1)/(n-2));printf("%.12lf %.12lf",ansx,ansy);fclose(stdin);fclose(stdout);return 0;
    }
    

\(T2\) T2919. 小 w 的代数 \(10pts\)

  • 部分分

    • 子任务 \(3\) :对于整条链上的每个节点都有选/不选两种选择,且最终得到的非空点集一定合法,故 \(2^{n}-1\) 即为所求,时间复杂度为 \(O(\log n)\)
  • 正解

    • 等学了圆方树再来补。

\(T3\) T2920. 小 y 的数论 \(15pts\)

  • 多倍经验: 2023牛客OI赛前集训营-提高组(第一场) D 虚树

  • 因为本身就是棵树,所以最小斯坦纳树 \(f(S)\) 等价于点集 \(S\) 的虚树。

  • 部分分

    • 子任务 \(1\) :爆搜后虚树正常做即可,时间复杂度为 \(O(2^{n}qk( \log k+ \log n))\)

      点击查看代码
      struct node
      {ll nxt,to,w;
      }e[600010];
      ll head[600010],fa[600010],siz[600010],dep[600010],son[600010],top[600010],dis[600010],dfn[600010],pos[600010],tot=0,cnt=0,ans;
      vector<ll>s,tmp;
      void add(ll u,ll v,ll w)
      {cnt++;e[cnt].nxt=head[u];e[cnt].to=v;e[cnt].w=w;head[u]=cnt;
      }
      void dfs1(ll x,ll father)
      {tot++;dfn[x]=tot;pos[tot]=x;siz[x]=1;fa[x]=father;dep[x]=dep[father]+1;for(ll i=head[x];i!=0;i=e[i].nxt){if(e[i].to!=father){dis[e[i].to]=dis[x]+e[i].w;dfs1(e[i].to,x);siz[x]+=siz[e[i].to];son[x]=(siz[e[i].to]>siz[son[x]])?e[i].to:son[x];}}
      }
      void dfs2(ll x,ll id)
      {top[x]=id;if(son[x]!=0){dfs2(son[x],id);for(ll i=head[x];i!=0;i=e[i].nxt){if(e[i].to!=fa[x]&&e[i].to!=son[x]){dfs2(e[i].to,e[i].to);}}}
      }
      ll lca(ll u,ll v)
      {while(top[u]!=top[v]){if(dep[top[u]]>dep[top[v]]){u=fa[top[u]];}else{v=fa[top[v]];}}return (dep[u]>dep[v])?v:u;
      }
      ll get_dis(ll x,ll y)
      {x=pos[x];y=pos[y];return dis[x]+dis[y]-2*dis[lca(x,y)];
      }
      void dfs(ll pos,ll n,ll k)
      {if(s.size()==k){tmp.clear();for(ll i=0;i<s.size();i++){tmp.push_back(s[i]);}sort(tmp.begin(),tmp.end());ll sum=get_dis(tmp[0],tmp.back());for(ll i=1;i<tmp.size();i++){sum+=get_dis(tmp[i],tmp[i-1]);}	ans=max(ans,sum/2);return;}if(pos==n+1){return;}else{s.push_back(dfn[pos]);dfs(pos+1,n,k);s.pop_back();dfs(pos+1,n,k);}
      }
      int main()
      {freopen("number.in","r",stdin);freopen("number.out","w",stdout);ll n,q,u,v,w,l,r,len,k,i;scanf("%lld",&n);for(i=1;i<=n-1;i++){scanf("%lld%lld%lld",&u,&v,&w);add(u,v,w);add(v,u,w);}dfs1(1,0);dfs2(1,1);scanf("%lld",&q);for(i=1;i<=q;i++){scanf("%lld%lld%lld",&l,&r,&k);ans=0;dfs(l,r,k);printf("%lld\n",ans);}fclose(stdin);fclose(stdout);return 0;
      }
      
  • 正解

\(T4\) T2921. 小j 的组合 \(15pts\)

  • 部分分

    • 子任务 \(3\) :整条链本身就是一条哈密顿回路,直接输出 \(1 \sim n\) 即可。
  • 正解

    • 操作实际上是将 \(v\) 复制给 \(v'\) ,本质是从 \(v\) 的某个子节点回溯到 \(v/v'\) 的过程。
    • 然后做法就和 [ABC361E] Tree and Hamilton Path 2 一样了,不在直径上回溯即可。
    • 具体地,记录重儿子(子树深度最大的儿子),再次遍历时优先遍历轻儿子,那么最后遍历的一定是直径,通过遍历节点数量特判即可(当深度相同时,难以钦定直径端点在的方向的儿子为重儿子)。
    点击查看代码
    struct node
    {int nxt,to;
    }e[10010];
    int head[10010],dep[10010],son[10010],maxx[10010],vis[10010],cnt=0,tot=0,rt=0;
    vector<int>ans;
    void add(int u,int v)
    {cnt++;e[cnt].nxt=head[u];e[cnt].to=v;head[u]=cnt;
    }
    void dfs1(int x,int fa)
    {maxx[x]=dep[x]=dep[fa]+1;son[x]=0;for(int i=head[x];i!=0;i=e[i].nxt){if(e[i].to!=fa){dfs1(e[i].to,x);son[x]=(maxx[e[i].to]>maxx[son[x]])?e[i].to:son[x];maxx[x]=max(maxx[x],maxx[e[i].to]);}}
    }
    void dfs2(int x,int fa,int n)
    {tot++;ans.push_back(x);	if(son[x]!=0){for(int i=head[x];i!=0;i=e[i].nxt){if(e[i].to!=fa&&e[i].to!=son[x]){dfs2(e[i].to,x,n);ans.push_back(x);}}dfs2(son[x],x,n);if(tot!=n){ans.push_back(x);}}
    }
    int main()
    {freopen("combo.in","r",stdin);freopen("combo.out","w",stdout);int n,u,v,rt_sum,i;cin>>n;rt_sum=n;for(i=1;i<=n-1;i++){cin>>u>>v;add(u,v);add(v,u);}dfs1(1,0);for(i=1;i<=n;i++){rt=(dep[i]>dep[rt])?i:rt;}dfs1(rt,0);dfs2(rt,0,n);cout<<ans.size()-n<<endl;for(i=0;i<ans.size();i++){if(vis[ans[i]]==0){vis[ans[i]]=1;}else{cout<<ans[i]<<" ";rt_sum++;ans[i]=rt_sum;}}cout<<endl;for(i=0;i<ans.size();i++){cout<<ans[i]<<" ";}fclose(stdin);fclose(stdout);return 0;
    }
    

总结

  • \(T1\) 赛时猜的结论赶紧有点不符合常识,但因为本场难度过于逆天且 \(T1\) 没有大样例就直接交了。
    • 在 C/C++ 插件里通过自动补全捣鼓出一些东西。
      • math.h 里的一些常用常数,貌似是 GNU 下独有的(存疑)。

        点击查看代码
        /* Some useful constants.  */
        #if defined __USE_MISC || defined __USE_XOPEN
        # define M_E		2.7182818284590452354	/* e */
        # define M_LOG2E	1.4426950408889634074	/* log_2 e */
        # define M_LOG10E	0.43429448190325182765	/* log_10 e */
        # define M_LN2		0.69314718055994530942	/* log_e 2 */
        # define M_LN10		2.30258509299404568402	/* log_e 10 */
        # define M_PI		3.14159265358979323846	/* pi */
        # define M_PI_2		1.57079632679489661923	/* pi/2 */
        # define M_PI_4		0.78539816339744830962	/* pi/4 */
        # define M_1_PI		0.31830988618379067154	/* 1/pi */
        # define M_2_PI		0.63661977236758134308	/* 2/pi */
        # define M_2_SQRTPI	1.12837916709551257390	/* 2/sqrt(pi) */
        # define M_SQRT2	1.41421356237309504880	/* sqrt(2) */
        # define M_SQRT1_2	0.70710678118654752440	/* 1/sqrt(2) */
        #endif/* The above constants are not adequate for computation using `long double's.
        Therefore we provide as an extension constants with similar names as a
        GNU extension.  Provide enough digits for the 128-bit IEEE quad.  */
        #ifdef __USE_GNU
        # define M_El		2.718281828459045235360287471352662498L /* e */
        # define M_LOG2El	1.442695040888963407359924681001892137L /* log_2 e */
        # define M_LOG10El	0.434294481903251827651128918916605082L /* log_10 e */
        # define M_LN2l		0.693147180559945309417232121458176568L /* log_e 2 */
        # define M_LN10l	2.302585092994045684017991454684364208L /* log_e 10 */
        # define M_PIl		3.141592653589793238462643383279502884L /* pi */
        # define M_PI_2l	1.570796326794896619231321691639751442L /* pi/2 */
        # define M_PI_4l	0.785398163397448309615660845819875721L /* pi/4 */
        # define M_1_PIl	0.318309886183790671537767526745028724L /* 1/pi */
        # define M_2_PIl	0.636619772367581343075535053490057448L /* 2/pi */
        # define M_2_SQRTPIl	1.128379167095512573896158903121545172L /* 2/sqrt(pi) */
        # define M_SQRT2l	1.414213562373095048801688724209698079L /* sqrt(2) */
        # define M_SQRT1_2l	0.707106781186547524400844362104849039L /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT16 && defined __USE_GNU
        # define M_Ef16		__f16 (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef16	__f16 (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef16	__f16 (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f16	__f16 (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f16	__f16 (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf16	__f16 (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f16	__f16 (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f16	__f16 (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf16	__f16 (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf16	__f16 (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf16	__f16 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f16	__f16 (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f16	__f16 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT32 && defined __USE_GNU
        # define M_Ef32		__f32 (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef32	__f32 (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef32	__f32 (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f32	__f32 (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f32	__f32 (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf32	__f32 (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f32	__f32 (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f32	__f32 (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf32	__f32 (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf32	__f32 (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf32	__f32 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f32	__f32 (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f32	__f32 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT64 && defined __USE_GNU
        # define M_Ef64		__f64 (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef64	__f64 (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef64	__f64 (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f64	__f64 (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f64	__f64 (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf64	__f64 (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f64	__f64 (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f64	__f64 (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf64	__f64 (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf64	__f64 (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf64	__f64 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f64	__f64 (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f64	__f64 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT128 && defined __USE_GNU
        # define M_Ef128	__f128 (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef128	__f128 (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef128	__f128 (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f128	__f128 (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f128	__f128 (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf128	__f128 (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f128	__f128 (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f128	__f128 (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf128	__f128 (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf128	__f128 (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf128	__f128 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f128	__f128 (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f128	__f128 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT32X && defined __USE_GNU
        # define M_Ef32x	__f32x (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef32x	__f32x (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef32x	__f32x (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f32x	__f32x (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f32x	__f32x (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf32x	__f32x (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f32x	__f32x (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f32x	__f32x (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf32x	__f32x (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf32x	__f32x (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf32x	__f32x (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f32x	__f32x (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f32x	__f32x (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif#if __HAVE_FLOAT64X && defined __USE_GNU
        # define M_Ef64x	__f64x (2.718281828459045235360287471352662498) /* e */
        # define M_LOG2Ef64x	__f64x (1.442695040888963407359924681001892137) /* log_2 e */
        # define M_LOG10Ef64x	__f64x (0.434294481903251827651128918916605082) /* log_10 e */
        # define M_LN2f64x	__f64x (0.693147180559945309417232121458176568) /* log_e 2 */
        # define M_LN10f64x	__f64x (2.302585092994045684017991454684364208) /* log_e 10 */
        # define M_PIf64x	__f64x (3.141592653589793238462643383279502884) /* pi */
        # define M_PI_2f64x	__f64x (1.570796326794896619231321691639751442) /* pi/2 */
        # define M_PI_4f64x	__f64x (0.785398163397448309615660845819875721) /* pi/4 */
        # define M_1_PIf64x	__f64x (0.318309886183790671537767526745028724) /* 1/pi */
        # define M_2_PIf64x	__f64x (0.636619772367581343075535053490057448) /* 2/pi */
        # define M_2_SQRTPIf64x	__f64x (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */
        # define M_SQRT2f64x	__f64x (1.414213562373095048801688724209698079) /* sqrt(2) */
        # define M_SQRT1_2f64x	__f64x (0.707106781186547524400844362104849039) /* 1/sqrt(2) */
        #endif
        
      • 一些常用的三角函数(弧度制)

        • double cos(double x)
          • 计算并返回 \(x\) 的余弦值(邻边比斜边) \(\cos\)
        • double sin(double x)
          • 计算并返回 \(x\) 的正弦值(对边比斜边) \(\sin\)
        • double tan(double x)
          • 计算并返回 \(x\) 的正切值(对边比邻边) \(\tan\)
        • double acos(double x)
          • 计算并返回范围在 \(0 \sim \pi\) 弧度之间的 \(x\) 的反余弦值。
        • double asin(double x)
          • 计算并返回范围在 \(-\frac{\pi}{2} \sim \frac{\pi}{2}\) 弧度之间的 \(x\) 的反余弦值。
        • double atan(double x)
          • 计算并返回范围在 \(x\) 的反正切值。
        • double atan2(double x,double y)
          • 计算并返回范围在 \(\frac{y}{x}\) 的反正切值。
      • 调用 \(\pi\) 的另一个方法是 const double Pi=acos(-1);

  • \(T2\)
    • 读假题了,理解错了枚举顺序和编号顺序的关系,导致子任务 \(4,5\) 菊花加树的做法写假了。
    • 赛时不会无向图的基环树找环,导致子任务 \(6\)\(15pts\) 的部分分没写,虽然写了也会像子任务 \(4,5\) 一样假掉。
    • 题面中对仙人掌的描述太过抽象,换个定义。
      • 如果一个无向连通图的每条边最多在一个环里,则称它是一棵 仙人掌 。多棵仙人掌可以组成 沙漠
      • 仙人掌 满足任意两点间最多有两条边不相交的路径,此性质和定义是等价的。
  • \(T2,T4\) 的子任务 \(4\)\(i\) 看出 \(1\) 了,导致菊花的部分分写成了链的部分分。

后记

  • 题目来自 accoders NOI 2022NOIP A层联测11 。

  • \(T2,T3,T4\) 的题面有点抽象,理解起来需要花不少时间。

  • 温馨提示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73150.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Android8,reactnative中webView传的token,vue中获取不到是怎么回事?

rn代码是这样的,要在vue页面获取到tokenvue中是这样写的,安卓9以上都能得到,就是8获取不到有没有大佬帮忙看看,跪谢!!!!

实时同步服务

1 实时同步应用场景通过rsync+定时任务实现定时备份/同步 对于NFS我们需要进行实时同步2 实时同步工具选型实时同步工具 特点 选型inotify工具+脚本inotify监控指定的目录,监控 目录下是否有变化,显示变化了的文件. 通过rsync服务端与客户端传送,书写脚本.不推荐,有性能问题.se…

DevExpress隐藏列表中显示的加号+

GridView1.OptionsDetail.EnableMasterViewMode = False

人大金仓kingbase部署

环境准备: 系统版本:CentOS Linux release 7.9.2009 (Core) 硬件配置:4C4G200G 安装包准备:KingbaseES_V008R006C008B0020_Lin64_install.iso https://www.kingbase.com.cn/xzzx/index.htmlicense准备:license_企业版.zip https://www.kingbase.com.cn/xzzx/index.htm计划…

从深海探测到海洋强国:数字孪生助力海洋装备跨越式发展

浮力调节系统作为涉及潜水的海洋设备的关键部件,能够为潜水器提供稳定悬浮的深度控制,并能根据工作深度的不同通过改变浮力来带动潜水器上浮或下潜。海洋广袤无垠,蕴藏着丰富的资源。近现代以来,人类使用各种手段探索海洋探索,广袤无垠的海洋与人类的生活越来越紧密,至少…

python - 分享绕过验证码登录的方法

一、通过webdriver启动浏览器:二、添加cookie:三、切换到目标地址: # This is a sample Python script. from selenium import webdriver import time # Press Shift+F10 to execute it or replace it with your code. # Press Double Shift to search everywhere for clas…

通义灵码上线一周年:超 600 万下载量,国内用户规模第一,新功能有奖测评

通义灵码,是基于通义大模型的 AI 研发辅助工具,包含 AI 编码助手和 AI 程序员。其中,AI 编码助手为开发者写代码、补代码、写注释、写单测、写代码优化和排查问题,是开发者的编码搭子!通义灵码,是基于通义大模型的 AI 研发辅助工具,包含 AI 编码助手和 AI 程序员。 其中…

mysql当数据库发现了慢sql怎么定位?--待验证

1、应用侧生成链路id。 使用skywalking 2、mybatis写拦截器,sql里面加入链路id `@Intercepts({ @Signature( type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class} ) }) public class SqlStatementInterceptor implements…