.
真是看懂std就秒的三道题,但是看懂就很难啊
(感谢superguymj和memset0两个大佬的代码)
稍微说一下题解
--------------------------------------------------------
「雅礼集训 2018 Day1」树
这道题的正解被superguymj大佬吊打了,原来
O
(
n
⋅
2
n
)
O(n·2^n)
O(n⋅2n)变成了
O
(
n
4
)
O(n^4)
O(n4)
取整?直接打表就行了不管了
对于取模的答案,首先考虑dp,我们记
F
(
i
,
j
)
F(i,j)
F(i,j)表示i个节点高度为j的方案数,期望最后除个
n
!
n!
n!就行了
怎么转移?发现没法转移?麦老大给出了一个非常通俗的方法
F
(
i
,
j
)
=
∑
x
=
1
i
[
(
∑
y
=
1
j
−
2
F
(
i
−
x
,
j
)
∗
F
(
x
,
y
)
∗
C
(
i
−
2
,
x
−
1
)
+
F(i,j)=\sum_{x=1}^i\big[(\sum_{y=1}^{j-2}F(i-x,j)*F(x,y)*C(i-2,x-1)+
F(i,j)=x=1∑i[(y=1∑j−2F(i−x,j)∗F(x,y)∗C(i−2,x−1)+
∑
y
=
1
j
F
(
i
−
x
,
y
)
∗
F
(
x
,
j
−
1
)
∗
C
(
i
−
2
,
x
−
1
)
]
\sum_{y=1}^jF(i-x,y)*F(x,j-1)*C(i-2,x-1)\big]
y=1∑jF(i−x,y)∗F(x,j−1)∗C(i−2,x−1)]这个转移式是什么意思呢
就是说,考虑到2号节点非常特殊,他的父亲一定是1,那么可以考虑枚举以2为根的那个子树的高度,以此作为转移的依据,当
H
(
2
)
<
j
−
1
H(2)<j-1
H(2)<j−1则剩下部分必须是高度为j,否则可以是任意,最后乘上标号即可
代码 (以后LOJ的代码直接放链接了节省版面)
--------------------------------------------------------
「雅礼集训 2018 Day1」仙人掌
这个题告诉我们圆方树其实不难写
我们先考虑树的情况,记
F
(
i
,
j
)
F(i,j)
F(i,j)表示当节点往i父亲的出度为j的时候的方案数
那么可以得到转移
F
(
i
,
0
)
=
∏
k
1
+
k
2
+
⋯
+
k
c
<
=
a
i
F
(
v
,
1
−
k
i
)
F(i,0)=\prod_{k_1+k_2+\dots+k_c<=a_i}F(v,1-k_i)
F(i,0)=k1+k2+⋯+kc<=ai∏F(v,1−ki)
F
(
i
,
1
)
=
∏
k
1
+
k
2
+
⋯
+
k
c
<
a
i
F
(
v
,
1
−
k
i
)
F(i,1)=\prod_{k_1+k_2+\dots+k_c<a_i}F(v,1-k_i)
F(i,1)=k1+k2+⋯+kc<ai∏F(v,1−ki)发现是一个非常熟悉的东西,就是卷积
那么直接用分治FFT乘起来就行了
那么加上了环,怎么办
先建一个圆方树(当然不建也可以,反正只需要单独处理环就可以了)
处理环的时候,我们先不管环的根(就是dfs树这个环的第一个节点)
让后按照一个顺序遍历整个环,枚举环根到第一个点的那条边的方向
记
G
(
i
,
j
)
G(i,j)
G(i,j)表示做到环上第i个节点,这个节点是否有出边的方案数
那么枚举下一个点出度的个数,也就是
F
(
x
,
j
)
F(x,j)
F(x,j)的j,转移就很简单了,可以直接看代码
最后记得加上第一条边,就得到了这个方点的方案
反正不太懂就看代码,很容易看懂
代码
--------------------------------------------------------
「雅礼集训 2018 Day1」图
此题妙哉
直接上正解吧,考虑dp
记
g
(
i
)
g(i)
g(i)表示以i结尾的点的路径的数量
记
F
(
i
,
x
,
y
)
F(i,x,y)
F(i,x,y)表示做到第i个点,有x个黑色的且
g
(
)
g()
g()为奇数的点,y类似
考虑转移,枚举第i+1个点的颜色,我们发现会改变路径数量奇偶性的因素只和这x个黑点
和y个白点有关系,所以直接枚举要连多少条这样的边就行了,剩下的就直接
2
n
2^n
2n
好的这样就有50分了,考虑优化
由于满分范围要求不高于
O
(
n
log
n
O(n\log n
O(nlogn)的做法,我们考虑简化状态
容易发现,最后答案只和
x
+
y
x+y
x+y的奇偶性有关,可以考虑从这里入手
记
F
(
i
,
j
,
x
,
y
)
F(i,j,x,y)
F(i,j,x,y)表示做到第i个点,满足条件的路径的奇偶性j,x和y表示有没有g()为奇数的黑点和白点
那么转移就会变得简单,只考虑下一个点是白色的情况,那么
1.如果x=0,那么加入这个白色点无论怎么连边,路径数一定会+一个奇数,乘上可以选择的i条边,得到转移
F
(
i
+
1
,
1
−
j
,
x
,
1
)
+
=
2
i
∗
F
(
i
,
j
,
x
,
y
)
F(i+1,1-j,x,1)+=2^i*F(i,j,x,y)
F(i+1,1−j,x,1)+=2i∗F(i,j,x,y)2.如果x=1,那么就要分别考虑路径数奇偶性变不变的情况,稍加分析即可发现,两者的情况,是一样的,都分别有
2
i
−
1
2^{i-1}
2i−1种方法,也就是说,只要有符合条件的点,那么转移的系数和,是固定的,和点数无关
于是就得到
F
(
i
+
1
,
1
−
j
,
x
,
1
)
+
=
2
i
−
1
∗
F
(
i
,
j
,
x
,
y
)
F(i+1,1-j,x,1)+=2^{i-1}*F(i,j,x,y)
F(i+1,1−j,x,1)+=2i−1∗F(i,j,x,y)和
F
(
i
+
1
,
j
,
x
,
y
)
+
=
2
i
−
1
∗
F
(
i
,
j
,
x
,
y
)
F(i+1,j,x,y)+=2^{i-1}*F(i,j,x,y)
F(i+1,j,x,y)+=2i−1∗F(i,j,x,y)剩下的过程就很简单了,预处理2的幂就行了
代码
相关推荐
PCB中的CAF深度剖析与对策研究
摘要:本文系统研究了PCB板的导电阳极丝(CAF)问题,阐明了CAF是在电场作用下铜离子沿玻纤微裂通道迁移形成导电丝的现象,其形成需铜、水汽、电解质、偏压和迁移通道五个条件。CAF会导致PCB绝缘性能下降和信号传输异常,严重影响电子产品可靠性。研究提出了板材选择、钻孔工艺控制、叠板结构优化等预防措施,以及增大孔距、错位排列等设计注意事项,并介绍了IPC-TM-650-2.6.25测试标准。未来应在耐CAF材料、测试技术和制造工艺方面深入研究,以提升PCB可靠性。(150字)
loj#6495「雅礼集训 2018 Day1」树 dp
Description 定义生成一棵树的方式:对于节点i从[1,i-1]随机一个父亲。求这棵树的期望高度 n≤24n\le24n≤24 Solution 设f[i,j]表示i个节点高度为j的方案数。注意到2的父亲一定是1,我们可以枚举2为根的子树的情况,然后讨论一下能否成为最大值就行了 转移看代码。。 Code #include <stdio.h> #include <st...
让闲置 MacBook 当 OpenClaw 主机:合盖运行 + 后台常驻
摘要 本文详细介绍如何将闲置MacBook改造为OpenClaw服务器,实现合盖后持续运行。首先推荐Ubuntu 22.04 LTS作为操作系统,提供详细的安装步骤和分区建议。重点介绍三种禁用合盖休眠的方法:修改systemd-logind配置、使用pm-utils工具以及调整GRUB设置。随后指导如何安装Docker并部署OpenClaw服务,包括创建docker-compose.yml文件和配置环境变量。最后说明如何设置系统服务实现OpenClaw开机自启。通过以上配置,可使MacBook在合盖状态下7
LOJ #6495. 「雅礼集训 2018 Day1」树
今天我们又做师兄出的比赛了! 我一道题都不会! 抱灵了! 要是这是CSP - Sday1难度我就赶紧退役滚回去搞课内吧 第一题就是期望题…… 题外话:师兄出题时把输出的第一行去掉了,就是说我们在考试的时候并不需要输出四舍五入的结果 别看它看上去很像概率期望DP,实际上你会发现你根本没有办法直接对期望进行状态转移 这道题实质上是一个计数类DP面向数据题 我们先统计出各种树的数量再给它们做一个平均值就...
YOLOv11在视频流中的时序建模改进-(加入ConvLSTM或Transformer捕捉帧间关联)
本文提出了一种结合ConvLSTM和Transformer的改进YOLOv11算法,用于增强视频目标检测的时序建模能力。针对视频检测中运动模糊、遮挡等挑战,研究分析了ConvLSTM的局部时空特征建模和Transformer的全局注意力机制之间的互补性。通过数学公式详细阐述了ConvLSTM的门控机制和Transformer的自注意力计算原理,并提出分层融合策略:底层使用ConvLSTM处理高分辨率特征捕捉局部运动,高层应用Transformer建立全局时空关联。改进方案在YOLOv11架构中插入时序增强模
【人工智能之深度学习】18. 金融风控实战:TCN时序卷积网络构建信用卡欺诈实时检测系统
摘要:信用卡欺诈交易识别是金融风控的核心环节,其面临欺诈样本占比低(仅0.1%)、实时响应要求高(毫秒级)等挑战。本文基于IEEE-CIS公开数据集,构建基于时序卷积网络(TCN)的欺诈检测系统,通过捕捉用户交易行为的时序模式识别异常。详细阐述全流程:从数据预处理(构造交易序列特征)、TCN模型设计(轻量级架构适配实时场景),到实时检测部署(异步处理确保低延迟)。实验显示,该系统精确率达63%、召回率89%,误杀率仅0.2%,推理延迟8ms,较XGBoost等传统模型性能显著提升。
【LOJ#6485】LJJ 学二项式定理(单位根反演)
【LOJ#6485】LJJ 学二项式定理(单位根反演) 题面 LOJ 题解 显然对于\(a0,a1,a2,a3\)分开算答案。 这里以\(a0\)为例 \[\begin{aligned} Ans&=\frac{1}{4}a_0\sum_{i=0}^n [4|i]{n\choose i}s^i\\ &=\frac{1}{4}a_0\sum_{i=0}^n{n\choose i}s^i...
Trae的付费之路还挺艰难,茫茫多的人想付付不了(附解决办法)
不得不说,Trae国际版这个付费其实整的挺复杂的,但没办法,毕竟有政策限制,付费成功后,你就是尊贵的Pro用户啦,使用Claude 4不排队还是挺爽的,而且600次其实不算少了,有一个小技巧,简单的问题就把模型切到Gemini-2.5-flag,因为使用这个模型是没有次数限制的。其次付费的时候有个ZIP Code,这东西也是个迷之存在,有的地区节点需要填,有的不需要,如果你选到了不需要填的节点,那很好,付费就行了,如果需要填,可以填一个51800试试。
POJ 3468 区间修改+区间求和 (树状数组/线段树)
~by Wjvje 2019-4-30 题目链接:http://poj.org/problem?id=3468 题目描述: A Simple Problem with Integers Time Limit:5000MS Memory Lim...
解决Home Assistant中安装的Advanced SSH & Web Terminal插件打开提示“502 Bad Gateway” 且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中“问题
在HomeAssistant的应用商店安装了【AdvancedSSH&WebTerminal】插件,但是打开这个终端连接到HomeAssistant的时候却提示“502BadGateway”且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中,您想重试吗?”一直无法进入HomeAssistant的系统中
Google Earth Engine:计算逐年全球潜在蒸发量(PET)的 ERA 数据
通过获取温度、湿度和降水数据,并使用Penman-Monteith公式,我们可以得到每年的潜在蒸发量。在本文中,我们将使用Google Earth Engine平台和ERA(欧洲再分析气象数据集)数据来计算逐年全球的潜在蒸发量(PET)。接下来,我们需要对ERA数据进行预处理,以获取我们需要的潜在蒸发量数据。有了温度、湿度和降水数据,我们可以使用Penman-Monteith公式来计算每年的潜在蒸发量。最后,我们可以将计算得到的潜在蒸发量数据进行可视化,以便更好地理解全球的水汽蒸发情况。
loj数列分块入门
数列分块入门入门 1-区间修改-单点查询入门 2-区间加法-区间查询入门 3-区间加法-单点查询入门 4-区间加法-区间查询入门 5-区间开方-区间查询入门 6-单点插入-单点查询入门 7入门 8入门 9 入门 1-区间修改-单点查询 ll n,a[maxn],lazy[maxn]; int main() { n = read; for(int i=1; i<=n; i++) a[i] = read; int blk = sqrt(n); for(int ii=1; ii<=n; ii
多跳问答技术解析:从原理到金融领域实践
多跳问答(Multi-hop QA)是自然语言处理中的高级任务,要求系统通过多步推理整合分散信息来回答问题。其核心技术在于理解文档间的复杂关联,相比单跳问答需要更精细的数据集设计和模型架构。在金融、医疗等专业领域,多跳问答能有效处理如'腾讯大股东投资的港股上市公司'这类需要串联多个信息点的问题。典型实现方案包括MR-Search框架的三级检索器设计,分别处理实体召回、关系匹配和数值比较。当前最佳实践表明,结合稠密检索与稀疏检索的混合策略,配合动态路由机制,能在保持较高精度的同时控制计算成本。这类技术在金融风
【分块入门】LOJ 数列分块入门 1 - 9 (学习更新……)
dl题解_「分块」数列分块入门1 – 9 by hzwer LOJ #6277. 数列分块入门 1 题意:给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 时间限制:100ms 分块 我们将整个数列划分为很多块,暂且分为n / m块,用block[ i ]记录第 i 个数据arr[ i ]对应的块的个数。O(n)【数据读入时就可以操作完成,block[ i ] = (i ...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
OJ(Online Judge)系统汇总
OJ百度百科 在线判题系统_百度百科 ***Openjudge和Poj 北大OJ(英文),经常服务器坏, Welcome To PKU JudgeOnline 备用网站 OpenJudge - NOI - 首页 ***《信息学奥赛一本通(C++版)》配套OJ 信息学奥赛一本通(C++版)在线评测系统 信息学奥赛一本通(C++版)在线评测系统 难度:中等,适合零基础 啊哈添柴: 在线OJ网站 - 啊哈添柴 ***洛谷 Luogu 洛谷比赛 比赛列表 - 洛谷 有很多网
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
数列分块LOJ为例
数列分块 分块的思想就是将整体划分为多个部分,将对整体的处理,看做对每个部分处理。这样做到的优点在于,如果一次对整体处理的时间复杂度为O(n),分块后将会变为O(k),k取决为分为多少块,一般而言分为n\sqrt{n}n份,这时复杂度为O(n\sqrt{n}n),而k取两个极端:1和n,会让复杂度趋近于O(n),所以k的取值,具体问题应具体分析。 分块被誉为“暴力美学”,它实质是暴力枚...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
loj 数列分块入门 1 ~ 9 做题笔记
前言 做了 hzwer 的分块系列( %%% hzwer 学长 loj6277 数列分块入门 1 给定数列,区间修改,单点查询。 区间修改可以打永久标记。没什么好说的,毕竟是 1。 #include <bits/stdc++.h> #define int long long using namespace std; inline int read(){ int x=0,f=0;char ch=getchar(); while(!isdigit(ch))f^=!(ch^45)
【Loj】 三种 带有上下界的网络流
题目描述 这是一道模板题。 n n n 个点,m m m 条边,每条边 e e e 有一个流量下界 lower(e) \text{lower}(e) lower(e) 和流量上界 upper(e) \text{upper}(e) upper(e),求一种可行方案使得在所有点满足流量平衡条件的前提下,所有边满足流量限制。 输入格式 第一行两个正整数 n n n、m m m。 之后的 m m...
[LOJ6507]「雅礼集训 2018 Day7」A
Description 给出一个长度为n的序列a,要求资瓷 区间或,区间与和求区间最小值 n<=5e5,ai<2^31 Solution 让我们先来考虑一个暴力: 如果一次操作对某个区间的影响是一样的(即最小值还是那个数),那么我们直接打标记退出;若一次操作对某个区间无影响就直接退出 只需要维护区间or和区间and 然后你就会发现你过了_ (:з」∠) _ 这是为什么呢? 让我们来分析...
[LOJ6510]「雅礼集训 2018 Day8」A
Description 求最小树形图 n<=500,m<=n^2 Solution 老年选手开始写模板题 最小树形图定义:一个有向图,存在某个点为根,能到所有点并且边权最小的生成树 最小树形图的朱刘算法: 选择一个点r做根,O(VE)的时间求出以r为根的最小树形图 1’,对于每个非根节点,找到最小的入边in[x] 2’,将只保留in[x]的有向环(肯定是简单环)缩起来 3’,建立新图,...
其他-做题记录 (14 Jan - 23 Feb, 2019)
01.14 A. 摆放正方形 线段上摆满任意个正方形,边不能在某些给定位置,一种方案的价值是正方形面积之积,求所有方案价值之和。 等价于以正方形边划分为 \(k\) 区域,每个区域可以扔黑白两颗球到任意格子的方案数 \(\sum_{l_1,l_2,\cdots, l_k}l_1^2\times l_2^2 \times \cdots \times l_k^2\) , \(l\) 是区间内...
数列分块入门——loj
数列分块入门1 传送门 数列分块 就是把一个数组分成一块一块的每个块的大小为sqrt(n) 对于每次对元素的查询修改 可以直接对它所在的块操作 可以节省很多时间 //乱七八糟的维护区间的 用分块去做 //分了根号n块 复杂度为根号n #include<bits/stdc++.h> using namespace std; const int maxn=1e5+10; long long belong[maxn],block,l[maxn],r[maxn],num=0; long long n
LOJ #6032 「雅礼集训 2017 Day2」水箱
题目链接 https://loj.ac/problem/6032 题解 扫描线,先将每个操作按照y轴排序,考虑水从下面淹到上面。 对于挡板被截断的情况:并查集合并左侧和右侧的格子。 对于要求没有水的情况:如果水不淹到上面,那么它一定会被满足。 对于要求有水的情况:直接把下面的全淹了,再来更新答案。 代码 #include <cstdio> #include ...
「LOJ2462」「2018 集训队互测 Day 1」完美的集合
Description 链接 Solution 首先对于每一种选取KKK个集合的方案,合法的测试点一定是个联通块。 所以可以容斥求出方案数,即uuu可行的减去faufa_ufau与uuu都可行的。 剩下的是一个组合数取模的问题,即求 ∏i∈[1,n],imod&ThinSpace;&ThinSpace;5≠0i×∏i∈[1,⌊n5⌋],imod&ThinSpace;&am...
loj 与众不同_自由开发人员是否与众不同?
loj 与众不同 合同编码器的兴起 在全球用于外包IT服务的856亿美元中 ,有成千上万的人在搅动着很大一部分……我们对此并不了解。 在所有在线自由职业者中,近三分之一是软件开发人员。 在全部零工经济职位中,有51 %是针对开发人员的,在过去三年中增长了16个百分点。 到2027年,仅在美国,自由职业者的数量就有望达到1亿 。 UpWork / Edelman和Gallup的调查经济...
1704



被折叠的 条评论
为什么被折叠?



