1

double l=1,r=2000;
    while(r-l>1e-5){
        double mid=(l+r)/2;
        if(check(mid))l=mid;
        else r=mid;
    }
    printf("%d\n",r);
lg[1]=0;
for (int i=2;i<=n;i++) lg[i]=lg[i>>1]+1;

void update(int x,int l,int r,long long val)

for(int i=1;i<=m;i++) 看清n和m

for(int i=0;i<=cnt;i++){
			for(int j=0;j<=70;j++){
				tr[i][j]=0;
			}
		}
while(!q.empty()){
		int now=q.front();
		!!vis[now]=0;
		q.pop();
		for(int i=head[now];i!=-1;i=e[i].nxt){
			if(dis[e[i].to]>dis[now]+e[i].w){
				dis[e[i].to]=dis[now]+e[i].w;
				!!if(!vis[e[i].to]) {
				!!if(++cntu[e[i].to]>=n) return false;//
					q.push(e[i].to);
					vis[e[i].to]=1;
				}
			}
		}
ini jia(int *a,int *b)
{
    int lenc=0,x=0;
    while (lenc<a[0] || lenc<b[0])
    {
        a[++lenc]=a[lenc]+b[lenc]+x;
        x=a[lenc]/10;
        a[lenc]%=10;    
    }
    if (x>0) a[++lenc]=x;
    a[0]=lenc;
}
jia(a[j],a[j-1]);
jia(ans,a[j]);

线段树2:即2个标记使它们一定满足,先乘后加

struct Edge{
	int to,w,nxt=-1;
}e[N<<1];
void add(int u,int v,int w){
	e[++cnt].to=v;
	e[cnt].w=w;
	e[cnt].nxt=head[u];
	head[u]=cnt;
}

https://www.cnblogs.com/acgoto/p/9824723.html

https://www.luogu.com.cn/article/sl0a654e

https://www.luogu.com.cn/article/atlbk9ek

https://www.luogu.com.cn/article/g43ra1qf

posted @ 2025-11-28 15:18  wangjiajin  阅读(0)  评论(0)    收藏  举报