[CQOI2009]dance跳舞(最大流+二分)

[CQOI2009]dance跳舞

每个人拆成$2$个点,表示是否与喜欢的人跳舞

跳$m$首舞曲时,满足最大流为$n*m$

二分$m$,跑最大流即可

#include<cstdio>
#include<cstring>
inline int min(int A,int B){return A<B?A:B;}
#define W 9999
int n,k,S,T,cur[W],d[W],L,R,h[W]; 
char q[55][55]; bool vis[W];
int Cnt,hd[W],nxt[W],ed[W],poi[W],val[W];
void adde(int x,int y,int v){
    nxt[ed[x]]=++Cnt; hd[x]=hd[x]?hd[x]:Cnt;
    ed[x]=Cnt; poi[Cnt]=y; val[Cnt]=v;
}
inline void link(int x,int y,int v){adde(x,y,v),adde(y,x,0);}
#define to poi[i]
bool bfs(){
    for(int i=1;i<=T;++i) cur[i]=hd[i],vis[i]=0;
    h[L=1]=S; R=2; vis[S]=1;
    while(L!=R){
        int x=h[L++]; if(L>=W)L=1;
        for(int i=hd[x];i;i=nxt[i])
            if(!vis[to]&&val[i]){
                vis[to]=1,d[to]=d[x]+1;
                h[R++]=to; if(R>=W)R=1;
            }
    }return vis[T];
}
int dfs(int x,int a){
    if(x==T||!a) return a;
    int F=0,f;
    for(int &i=cur[x];i;i=nxt[i]){
        if(d[to]==d[x]+1&&(f=dfs(to,min(a,val[i])))>0)
            F+=f,a-=f,val[i]-=f,val[i^1]+=f;
        if(!a) break;
    }return F;
}
int dinic(){int re=0; while(bfs())re+=dfs(S,W); return re;}
int chk(int x){
    memset(hd,0,sizeof(hd)); Cnt=1;
    memset(ed,0,sizeof(ed));
    memset(nxt,0,sizeof(nxt));
    for(int i=1;i<=n;++i) link(S,i,x),link(i+n*3,T,x);
    for(int i=1;i<=n;++i){
        link(i,i+n,k); link(i+n*2,i+n*3,k);
        for(int j=1;j<=n;++j){
            if(q[i][j]=='Y') link(i,j+n*3,1);
            else link(i+n,j+n*2,1);
        }
    }return dinic()==x*n;
}
int main(){
    scanf("%d%d",&n,&k); S=n*4+1,T=S+1;
    for(int i=1;i<=n;++i) scanf("%s",q[i]+1);
    int l=1,r=n+1;
    while(l<r){
        int mid=(l+r)/2;
        if(chk(mid)) l=mid+1;
        else r=mid;
    }printf("%d",l-1);
    return 0;
}

 

转载于:https://www.cnblogs.com/kafuuchino/p/11461532.html

### 美女跳舞工作流与流程设计 在设计美女跳舞的相关工作流时,可以综合考虑舞蹈的主题、技术工具的应用以及具体实现的步骤。以下是基于已有参考资料的设计方案: #### 舞蹈主题提示词设计 为了确保生成的内容既具有创意又符合实际需求,可以根据舞蹈的具体风格和特点来设计提示词。例如,在创建关于“美女跳舞”的场景时,可以通过描述舞者的动作特征、服装样式、背景环境等细节来增强效果[^1]。 #### 使用 Stable Diffusion 和 Ebsynth_Utility 插件 对于图像处理部分,特别是当需要提升分辨率或者优化画面质量时,“Stable Diffusion”配合其插件“Ebsynth_Utility”是一个不错的选择。通过该插件中的第四步功能即可轻松完成图片放大的操作,从而获得更加清晰细腻的结果[^2]。 ```python def upscale_image(input_path, output_path): from PIL import Image original_img = Image.open(input_path) resized_img = original_img.resize((original_img.width * 2, original_img.height * 2), resample=Image.BICUBIC) resized_img.save(output_path) # Example usage of the function to upscale an image file named 'dance.png' upscale_image('dance.png', 'high_res_dance.png') ``` #### ComfyUI 中的工作流设置 如果希望进一步扩展到动态视频领域,则可以借助软件平台如ComfyUI来进行复杂任务管理。在这个案例里提到的方法涉及到了多个ControlNet模型之间的协作关系——其中openpose主要用于捕捉人体姿态信息;而其他两个则分别负责细化轮廓线条和平滑过渡区域纹理等方面的表现力[^3]。 ```bash # Command line example for running comfyui with specific configurations related to dance animations. comfyui --controlnet-models=openpose,detail_enhancer,lineart_anime \ --workflow="let plants move like dancers" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值