Shake It!

Windows 10 下 DockerToolbox 安装全攻略:从下载到配置阿里云镜像加速 本文详细介绍了在Windows 10系统上安装和配置DockerToolbox的完整流程。从下载安装包、执行初步安装,到关键步骤——修改虚拟机存储路径以及配置阿里云镜像加速器,旨在帮助开发者,尤其是初次接触Docker的新手,快速搭建高效的本地容器开发环境,并解决国内镜像下载缓慢的痛点。 阅读详情

题目传送门

前言:

好题 ,DP+组合+最大流(或者最小割)

题目大意:

给定 n , m n,m n,m,现在按照此规则生成无向图,初始我们有一张图 G G G,仅包含两个节点 s , t s,t s,t,以及连接 s → t s\to t s→t 的边。
每次你可以选择一条已经存在的边 ( u , v ) (u,v) (u,v),然后将往图中加入节点 w w w 和边 ( u , w ) , ( w , v ) (u,w),(w,v) (u,w),(w,v),这样操作 n n n 次,我们将得到一张图 G ′ G' G′
定义 G ′ G' G′ 合法,当且仅当 mincut ( s , t ) = m \textrm{mincut}(s,t)=m mincut(s,t)=m,即 s → t s\to t s→t 的最小割为 m m m
求本质不同的合法的图 G ′ G' G′ 的数量,答案对 1 0 9 + 7 10^9+7 109+7 取模。
其中,两张图 G 1 , G 2 G_1,G_2 G1​,G2​ 不同,当且仅当不存在一种作用于点集的置换,使得边对应相同,同时 s , t s,t s,t 对应相同。

解题思路:

第一眼感觉可以DP或者搜索
肯定选DP呀
于是
设计状态
直接有什么限制就设什么
f i , j 表示操作 i 次,得到的最大流为 j 的图的个数 f_{i,j}表示操作i次,得到的最大流为j的图的个数 fi,j​表示操作i次,得到的最大流为j的图的个数

初始状态:
初始图的形态为
在这里插入图片描述
因此 f 0 , 1 = 1 f_{0,1}=1 f0,1​=1

状态转移
考虑用 f f f转移 f f f,发现行不通,还差点东西
我们考虑,最大流由什么贡献而来,如图
在这里插入图片描述
最大流 = 1 + m i n ( x , y ) + m i n ( z , p ) , ( x , y , z , p 表示边上的流量 ) 最大流=1+min(x,y)+min(z,p),(x,y,z,p表示边上的流量) 最大流=1+min(x,y)+min(z,p),(x,y,z,p表示边上的流量)
所以最大流由两部分贡献: 1.初始的1流量
\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad 2. m i n ( 中转点到起点的流量,中转点到终点的流量 ) min(中转点到起点的流量,中转点到终点的流量) min(中转点到起点的流量,中转点到终点的流量)
所以我们设
g i , j 表示初始有 s , t , w 三个点, s − w , t − w 两条边,经过 i − 1 次(由于提前加入了 w ,所以操作次数为 i − 1 )操作后,最大流为 j 的方案数 g_{i,j}表示初始有s,t,w三个点,s-w,t-w两条边,经过i-1次(由于提前加入了w,所以操作次数为i-1)操作后,最大流为j的方案数 gi,j​表示初始有s,t,w三个点,s−w,t−w两条边,经过i−1次(由于提前加入了w,所以操作次数为i−1)操作后,最大流为j的方案数
若我们已求出了 g i , j g_{i,j} gi,j​,那我们可以枚举一个 t t t
故 f n , m < − f n − t ∗ i , m − t ∗ j ∗ C ( ) f_{n,m} <- \quad f_{n-t*i,m-t*j}*C() fn,m​<−fn−t∗i,m−t∗j​∗C(),我们再乘上一个组合数即可
这个组合数的意义就是,在选择 t t t个形如 s − w − t s-w-t s−w−t且操作 i − 1 i-1 i−1次后最大流为 j j j的方案数
我们的 g g g计算的就是供选择的集合的大小
用隔板法的思想,将 t t t个球放入 g i , j g_{i,j} gi,j​个箱子
所以 f n , m < − f n − t ∗ i , m − t ∗ j ∗ C ( g i , j + t − 1 , t ) f_{n,m} <- \quad f_{n-t*i,m-t*j}*C(g_{i,j}+t-1,t) fn,m​<−fn−t∗i,m−t∗j​∗C(gi,j​+t−1,t)

g的转移
用 f f f转移g
g n , m < − ∑ i = 0 n − 1 ∑ m i n ( x , y ) = m f i , x ∗ f n − 1 − i , y g_{n,m} <- \quad \sum_{i=0}^{n-1}\sum_{min(x,y)=m}f_{i,x}*f_{n-1-i,y} gn,m​<−i=0∑n−1​min(x,y)=m∑​fi,x​∗fn−1−i,y​
就是枚举有 i i i次操作在 s − w s-w s−w上, ( n − 1 ) − i (n-1)-i (n−1)−i次操作在 w − t w-t w−t上
这个转移是 O ( n 2 ) O(n^2) O(n2),但通过处理后缀和就可以做到 O ( n ) O(n) O(n)
这是一个技巧,处理 m i n 卷积 min卷积 min卷积时都可以用,即设 f i , j ′ 为 f i , j 到 f i , n + 1 的和 f'_{i,j}为f_{i,j} 到f_{i,n+1}的和 fi,j′​为fi,j​到fi,n+1​的和就是后缀和的啦 然后设 g i , j ′ 也为 g 的后缀和函数 g'_{i,j}也为g的后缀和函数 gi,j′​也为g的后缀和函数
就有
g n , m ′ < − ∑ i = 0 n − 1 f i , m ′ ∗ f n − 1 − i , m ′ g'_{n,m}<-\quad \sum_{i=0}^{n-1}f'_{i,m}*f'_{n-1-i,m} gn,m′​<−i=0∑n−1​fi,m′​∗fn−1−i,m′​

g g g数组差分一下 g ′ g' g′即可得到

复杂度分析
枚举 g g g转移 f f f是 O ( n 4 ) O(n^4) O(n4)
枚举 t t t是调和级数 O ( α ) O(\alpha) O(α)
考虑最坏的情况,枚举 t t t达到 O ( ln ⁡ n ) O(\ln n) O(lnn)
总的复杂度为 O ( n 4 ln ⁡ n ) O(n^4 \ln n) O(n4lnn)

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=55,mod=1e9+7;
int n,m;
int f[N][N],g[N][N],sf[N][N],sg[N][N],inv[N];
int main() {
    scanf("%d%d",&n,&m);  f[0][1]=sf[0][1]=1;
    for(int i=(inv[0]=inv[1]=1)+1;i<=N-5;i++) 
        inv[i]=(1ll*inv[mod%i]*(mod-mod/i))%mod;
    // for(int i=1;i<=50;i++) printf("%d:%d ",i,inv[i]);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n+1;j++)
            for(int k=0;k<=i-1;k++)
                sg[i][j]=(1ll*sg[i][j]+1ll*sf[k][j]*sf[(i-1)-k][j]%mod)%mod;
        for(int j=1;j<=n+1;j++) g[i][j]=((sg[i][j]-sg[i][j+1])%mod+mod)%mod;
        for(int j=1;j<=n+1;j++){
            for(int k=n+1;k;k--) {
                for(int l=n+1;l;l--){
                    int mul=1;
                    for(int t=1;t*i<=k && t*j<=l ;t++){
                        mul=(1ll*mul*(g[i][j]+t-1)%mod*inv[t]%mod)%mod;
                        f[k][l]=(1ll*f[k][l]+1ll*f[k-t*i][l-t*j]*mul%mod)%mod;
                    }
                }
            }
        }
        for(int j=n+1;j;j--) sf[i][j]=(1ll*f[i][j]+1ll*sf[i][j+1])%mod;
    }
    printf("%d\n",f[n][m]);
}

完

树莓派CM4 PCIe扩展方案与ASM1184e芯片应用 PCIe(Peripheral Component Interconnect Express)是计算机硬件中重要的高速串行总线标准,广泛应用于存储、网络等设备连接。其核心原理是通过差分信号实现高带宽传输,PCIe Gen2 x1的理论带宽可达5Gbps。在嵌入式开发中,PCIe扩展技术能有效解决单板计算机接口不足的问题,特别适合树莓派等微型平台。ASMedia ASM1184e作为PCIe交换芯片,可将单个接口扩展为多个,支持热插拔且免驱动,极大提升了工程灵活性。通过PCIe交换机方案,开发者能在树莓派CM 阅读详情

相关推荐

【Musescore 】开源打谱软件 快速入门笔记

前两天做了个西贝柳斯的打谱软件学习笔记,反正都是初学,今天再来学习一款同类软件,比较之后确定一款深入学习。 西贝柳斯的学习笔记在此:https://blog.youkuaiyun.com/yuetaope/article/details/120020342 西贝柳斯是商业收费软件,要么花钱,要么盗版,如果您觉得这两者都不大好,那么推荐您试试Musescore。 Musescore是一款非常优秀的开源的打谱软件,生态繁荣。“开源”和“生态”是码农业的术语,我用正常人类的语言简单解释一下。 开源就是开放程序源代码,对码农

专注于医院数据分析技术与系统开发的创作与分享。 1万+

地道英语表达:手机振动用vibrate而非shake

在英语学习中,准确使用动词描述动作是基础但关键的能力。以电子设备的振动为例,中文常统称为'振动',但英文需根据场景选择精确动词。技术场景中,vibrate专指电子设备的小幅度规律振动,如手机来电提醒,而shake则描述物理晃动。这种词汇选择差异源于语义精确性和技术术语规范。掌握这类表达不仅能提升语言准确性,在跨国协作、技术文档阅读等场景也尤为重要。本文以手机振动为例,解析vibrate/shake/tremble等近义词的技术使用边界,帮助学习者避免常见直译错误。

android_mylove的专栏 356

PredFormer实战:用Transformer搞定交通流量预测(附TaxiBJ数据集代码)

本文详细介绍了如何利用PredFormer这一基于Transformer的先进模型进行交通流量预测,特别针对TaxiBJ数据集提供了完整的实战代码和优化策略。PredFormer通过门控Transformer块(GTB)的创新设计,在时空预测任务中展现出显著优势,相比传统方法将MSE降低33.1%,推理速度提升4.4倍。文章还涵盖了模型轻量化、部署优化等实用技巧,为智慧城市建设中的交通预测提供了高效解决方案。

weixin_29194817的博客 445

[CF848D]Shake It!

然而将最后一部分的转移用组合数维护也忒离谱了点。

StaroForgin的博客 162

手把手教你设计T型和Π型衰减器:从分贝计算到电阻选型全攻略

本文提供了一份T型和Π型衰减器的详细设计指南,涵盖从分贝计算到电阻选型的全过程。文章以50欧姆系统为例,通过公式推导和实例演示,手把手教你计算两种经典拓扑的电阻值,并深入探讨了电阻选型、误差控制及高频应用等关键实践技巧,帮助工程师和爱好者精准实现信号衰减与阻抗匹配。

blue42的博客 1334

Error relaunching VirtualBox VM process:5错误解决

前几天在重新使用VirtualBox的时候出现了一个挺恶心的错误,如图 百度了好久没有找到合适的解决方法。功夫不负有心人,在查阅了vb相关论坛时发现了大牛对此问题的诸多解决方案。下面我把此论坛的内容总结一下,希望对大家有帮助。 论坛链接:Diagnosing VirtualBox Hardening Issues 时间不足的小伙伴可以直接看 解决方法 造成这个错误的主要原因是,windows操作系统与oracle vb的不兼容。有两个方面,一是非官方windows系统中包含了一些没有签名的d

JaCenz的博客 3万+

[codeforces848D] Shake It!

题目大意 给定n,m,最开始一个无向图中只有两个点s,t和连接它们的一条边。你需要进行n次操作,每次选择图中一条边(u,v),加入一个点i,并且添加两条边(u,i),(i,v)。 问最终有多少种不同构的图,满足其s-t最小割为m。模10^9+7输出 n,m≤50 分析 设f[i][j]表示i次操作,s-t最小割为j的方案数。 接下来你需要枚举五个数a,b,c,d,x(其中四元组(a,b

WorldWide_D的博客 808

YOLOv8改进002:添加小目标检测头(小目标检测大量涨点)

YOLOv8 目标检测算法改进之添加小目标检测头,亲测在小目标检测的数据集上有大幅度的涨点效果(mAP直接涨了 0.04 左右)。

m0_46496775的博客 9877

Codeforces848D Shake It! -- DP

令 fi,jf_{i,j} 表示 ii 次操作后最小割为 jj 的方案数。于是可以在 fi,jf_{i,j} 的基础上选取 fa,bf_{a,b} , fc,df_{c,d} ,使 fa,bf_{a,b} 的 ss 与 fi,jf_{i,j} 的 ss 重合,fa,bf_{a,b} 的 tt 与 fc,df_{c,d} 的 ss 重合,fc,df_{c,d} 的 tt 与 fi,jf_{i,j} 的

gjghfd 748

C++面试八股文

和静态多态(又称编译期多态,即在系统编译期间就可以确定程序将要执行哪个函数),其中动态多态是通过虚函数实现的,虚函数是类的成员函数,存在存储虚函数指针的表叫做虚函数表,虚函数表是一个存储类成员虚函数的指针,每个指针都指向调用它的地方,当子类调用虚函数时,就会去虚表里面找自己对应的函数指针,从而实现“谁调用、实现谁”从而实现多态。而C++符号表中的符号不是以函数名命名的,称为函数名修饰规则,虽然函数名相同,但是函数参数等其他属性不同,取的符号也不同,所以不会产生查询歧义的问题,使得函数可以重载。

qq_46676829的博客 905

YOLO-World:从入门到实战的多模态目标检测全指南

想象一下,你给模型一张“公园”的图片,再输入文字“红色的郁金香”,它能直接在图中框出所有红色郁金香的位置——这就是多模态目标检测:结合图像视觉信息和文本语义信息,同时完成“是什么”(分类)和“在哪里”(定位)的任务。传统目标检测(如YOLOv5、YOLOv8)只能识别预定义的类别(比如训练时学过“猫”“狗”),但多模态目标检测摆脱了“类别预定义”的限制,只要文本能描述,它就能检测,这就是“开放词汇检测(Open-Vocabulary Detection)”的魅力。

know_F0727的博客 204

codeforces 848D. Shake It!

我们发现,操作若干次后形成的世界,实际是在原来的一对点(源汇集合)的基础上,加入了许多对(pair)小世界,每一对小世界由中间的连接点和他连接的两个小世界组成,每对之间互相独立,无序,于是我们发现可以把问题不断这样划分直到一个世界就只有源汇和他们之间的边 我们用f[i][j]表示i次操作后,最小割为j的世界有多少个,他可以由某个世界添加一对或者多对规模相同的小世界得到,于是有 f[i][j]=f

L_0_Forever_LF的专栏 607

C# 的 Dapper 库高级进阶:刨根问底的深度解析

通过今天的探索,我们了解了 Dapper 的一些高级功能,包括如何处理复杂的查询、执行批量操作以及如何优化性能。希望这篇深入浅出的文章能帮助你在实际项目中更好地运用 Dapper!🎈好了,小伙伴们,今天的分享就到这里啦!如果你有任何疑问或者想要分享自己的经验,请在评论区留言。我们下次再见!👋上述示例代码仅供参考,实际使用时请根据项目需求进行适当调整。✨Dapper 官方文档Dapper 性能优化指南Dapper 动态参数使用来同时执行多个查询。利用Execute和Query方法来简化 SQL 调用。

java专栏 813

【Codeforces 949D】Shake It! 【动态规划】

参考: http://blog.youkuaiyun.com/gjghfd/article/details/77824901 所求的是满足条件的图中“不同构”的数量,意味着操作的顺序是可以忽略的。考虑若干次操作后得到的一个“World” G,其中某次操作(s(G), t(G))生成的节点为w,则由s(G)到w和由w到t(G)的所有路径及途径点生成的两个子图分别符合“World”的...

weixin_30456039的博客 256

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【Codeforces Round #431 (Div. 1) D.Shake It!】

·最小割和组合数放在了一起,产生了这道题目。 英文题,述大意; 一张初始化为仅有一个起点0,一个终点1和一条边的图。输入n,m表示n次操作(1<=n,m<=50),每次操作是任选一条已存在的边,新建一个编号为(n+1)的节点并向这条边的两个端点连边(共连接两条边)。输入n次操作后满足最小割为m的图有多少种。此处两个图相同当且仅当两边集和点集满足双射。答案取模109+7...

weixin_30919235的博客 125

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【Shake_It_Off】mmd动作+镜头下载

下载地址:https://go.ysboke.cn/archives/846 I stay out too late Got nothing in my brain That’s what people say, mmm-mmm That’s what people say, mmm-mmm I go on too many dates [chuckle] But I can’t make them stay At least that’s what people say, mmm-mmm That’s w

布洛尼亚 784

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【【相机运动】_Camera_shake镜头晃动动画】

评论(0)

zszwebart的博客 525

手机震动英语表达指南:vibrate与shake的区别

在电子设备领域,震动(vibration)是一种常见的机械运动形式,与日常生活中的摇晃(shake)有本质区别。从技术原理来看,vibrate专指电子设备产生的高频小幅机械振动,常见于手机、按摩器等智能设备。这种精确控制的震动技术在现代电子产品中广泛应用,如触觉反馈(haptic feedback)和静音提醒(silent alert)等功能。正确使用vibrate和buzz等专业术语不仅能准确描述设备状态,在商务会议等正式场合也体现专业素养。本文通过对比shake与vibrate的差异,详解手机震动相关的

weixin_34014555的博客 341

flutter打包报错This application cannot tree shake icons fonts. It has non-constant instances of IconData

解决方法 在Icon 前面加const修饰

华山派developer的博客 6303

Shake Motion Recognizer

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34026484的博客 83

美通企业日报 | Shake Shack汉堡明年北京开店;万豪推出一价全包度假服务平台...

要闻百威携手挪威设计师推出七夕限定款亲吻瓶卡特彼勒牵手CBA联赛助力中国篮球发展纽约汉堡品牌Shake Shack将于2020年进驻北京万豪国际将推出一价全包度假服务平台...

美通社 1933

IT人员必须掌握的10项软技能

现代企业的IT部门员工在具备技术能力的同时,还需要掌握一些软技能。现在来看这些软技能其实并不是什么新鲜事物,只是IT人员所需的这些软技能的范围与数量正在不断增加着。 IT人员需要具备哪些技术能力,要取决于其就职于哪家企业。但无论哪家企业的IT部门员工都需要具备同样的“软技能”。这些对IT人员的要求很早就已经被提出来了。30多年前的时候,就曾有企业的IT部门专门招聘人文社科专业的毕...

weixin_33736048的博客 140

中小企业可以招募和挽留顶尖的IT人才的八种方法

在职业生涯管理, 2013年7月16日,5:02 PM 由玛丽Shacklett 出现事件规模较大的企业对员工有更多的诱惑,也有一些非常重要的特殊待遇,员工希望变现中小企业。  中小企业(小型和中小型企业)往往处于劣势的感觉,当它涉及到的IT人才的招聘和保留,因为即使在一个缓慢的市场,各种规模的企业正面竞争,为优秀的人才。 热门的表演所吸引巨大的薪金,良好的福利待遇,

冰的城 1000

手机震动英语表达误区与正确用法

在技术领域,振动(vibration)与晃动(shake)是描述物体运动的两个基础概念。振动特指有规律的高频往复运动,常见于手机震动马达、电动牙刷等精密设备;而晃动则描述无规则的大幅度位移,如地震时的建筑物摇晃。这种物理原理的差异直接影响了专业术语的使用——手机振动采用vibrate而非shake,因为现代智能手机使用ERM偏心转子马达或LRA线性谐振马达,产生的是受控的规律振动。正确区分这两个术语对技术文档编写、跨文化沟通都至关重要,比如在描述传感器数据时应使用vibrating at 50Hz而非sha

weixin_34337381的博客 413

IT人员应该具备的10项软技能

现代企业的IT部门员工在具备技术能力的同时,还需要掌握一些软技能。现在来看这些软技能其实并不是什么新鲜事物,只是IT人员所需的这些软技能的范围与数量正在不断增加着。 IT人员需要具备哪些技术能力,要取决于其就职于哪家企业。但无论哪家企业的IT部门员工都需要具备同样的“软技能”。这些对IT人员的要求很早就已经被提出来了。30多年前的时候,就曾有企业的IT部门专门招聘人文社科专业的毕业生来担任业务系

liuwei063608的专栏 1015
上一篇: CF解题报告:7
下一篇: Bitset
PocketSam
博客等级 码龄4年 24粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值