首页 > TAG信息列表 > JSOI2019
「JSOI2019」精准预测
题目简介 有点长: 火星小镇上有\(n\)个居民(编号\(1,2,……,n\))。机器学习算法预测出这些居民在接下来\(T\)个时刻(编号\(1,2,……,T\))的生死情况,每条预测都是如下两种形式之一: 难兄难弟\(0\) \(t\) \(x\) \(y\):在\(t\)时刻,如果\(x\)是死亡状态,那么在\(t+1\)时刻,\(y\)是死亡状态。(注JSOI2019 神经网络
Description 火星人在出生后,神经网络可以看作是一个由若干无向树 \(\{T_1(V_1, E_1), T_2(V_2, E_2),\ldots T_m(V_m, E_m)\}\) 构成的森林。随着火星人年龄的增长,神经连接的数量也不断增长。初始时,神经网络中生长的连接 \(E^\ast = \varnothing\)。神经网络根据如下规则生长: 如[JSOI2019] 神经网络
一、题目 点此看题 二、解法 有一个神奇的题意转化:我们把每一棵树划分成若干条链,因为不同的树任意两点之间都有边,所以我们把这些链任意连接就形成哈密顿回路,要求是相邻的链必须来自不同的树。 首先我们考察把树划分成 \(i\) 条链的方案数 \(f_i\),可以直接树背包,在确定一条链并且这P5333-[JSOI2019]神经网络【dp,容斥】
正题 题目链接:https://www.luogu.com.cn/problem/P5333 题目大意 给出\(n\)棵树,第\(i\)棵树有\(k_i\)个点,每棵树上的每个点和其它树上的所有点都有连边。 求这棵树有多少条哈密顿回路。 答案对\(998244353\)取模。 \(\sum_{i=1}^nk_i\leq 5000\) 解题思路 我们把每棵树分成若干洛谷 P5332 - [JSOI2019]精准预测(2-SAT+bitset+分块处理)
洛谷题面传送门 七月份(7.31)做的题了,题解到现在才补,不愧是 tzcJSOI2019 节日庆典
题面 10pts:朴素算法:枚举每一个起点,时间复杂度\(O(n^3)\)。 40pts:玄学一点的算法:注意到当一个决策\(x\)在当前枚举到i时已经有一个决策\(y\)在\(i\)之前就小于\(x\),那么\(x\)在后续中都不会比\(y\)优用一个栈维护最优决策点,后缀数组判定字典序大小,但是\(aaaaa\)这样的数据就能卡得Luogu5334 [JSOI2019]节日庆典
Luogu5334 [JSOI2019]节日庆典 \(exkmp\) 容易发现,当我们处理到位置\(k\)时,对于此时的两个后缀\(i,j(i<j)\),如果\(T_i,T_j\)均有可能在\(\ge k\)的位置成为最优解,那么一定满足\(\operatorname{lcp}(T_i,T_j) \ge k-j+1\)。 本题的突破口在于,可能成为最优解的后缀数量极少(懵)。 对于【JSOI2019】精准预测(2-SAT & bitset)
Description 先有一台预测机,可以预测当前 \(n\) 个人在 \(T\) 个时刻内的生死关系。关系有两种: \(\texttt{0 t x y}\):如果 \(t\) 时刻 \(x\) 死了,那么 \(y\) 在第 \(t+1\) 时刻也会死亡。 \(\texttt{1 t x y}\):如果 \(t\) 时刻 \(x\) 或者,那么 \(y\) 在 \(t\) 时刻就会死亡。 这「JSOI2019」神经网络
Address luogu5333 loj3102 Solution 容易发现,一条哈密顿回路本质上就是:把每棵树都拆成若干条有向路径,再把所有的有向路径连接成环,环上的相邻两条有向路径不可以来自同一棵树。 先求出 gi,jg_{i,j}gi,j 表示把第 iii 棵树拆成 jjj 条有向路径的方案数。 考虑 dp\text{dp}d【LOJ】#3102. 「JSOI2019」神经网络
LOJ#3102. 「JSOI2019」神经网络 首先我们容易发现就是把树拆成若干条链,然后要求这些链排在一个环上,同一棵树的链不相邻 把树拆成链可以用一个简单(但是需要复杂的分类讨论)的树背包实现 \(dp[u][j][0/1/2]\)表示第\(u\)个点已经选了\(j\)条链,0是两个不同子树的链拼到一起,1是只有1个JSOI2019 Round2 做题笔记
JSOI的题质量很高…… 精准预测(2-SAT、拓扑排序、bitset) 不难发现两个条件都可以用经典的2-SAT连边方式连边,考虑如何加入时间的限制。对于第\(x\)个人在\(t\)时刻的状态是生/死建点\((x,0/1,t)\),连上边\((x , 0 , t) \rightarrow (x , 0 , t-1)\)和\((x,1,t) \rightarrow (x , 1 ,