"题面" 这是一道典型的 部分分启发正解 的题。 所以我们先来看两个部分分。 Part 1 菊花图 这应该是除了暴力以外最好想的一档部分分了。 如上图(节点上的数字已省略),如果我们依次删去边(2)(1)(3)(4),那么操作完后2号点上的数字就会跑到1号点上,1号点数字会跑到3号点上,3号点数字跑 ...
分类:
其他好文 时间:
2019-12-21 20:22:27
阅读次数:
73
1 //拓扑排序判断是否有环 2 #include<cstdio> 3 #include<algorithm> 4 #include<string.h> 5 #include<math.h> 6 #include<queue> 7 using namespace std; 8 typedef lon ...
分类:
编程语言 时间:
2019-11-11 00:13:42
阅读次数:
111
$\Huge % Dybala$ T1 神奇单调栈,但是有点码农,要对着对拍调很久。 T2 观察到队长跑到i点之后,前面的[1,i)的点都被经过了偶数次,再次到达的时候又得被暗杀 所以通过点i的花费可以看成一个区间和的形式 T3 按拓扑序枚举。 由于起点&终点未知,建超级源汇。 然后最长路一定以源开 ...
分类:
其他好文 时间:
2019-11-06 10:24:27
阅读次数:
59
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int map[100][100],visited[100],du[100],flag,n,m,i,j,k; 5 int main() 6 { 7 while(~sc ...
分类:
其他好文 时间:
2019-11-02 20:26:11
阅读次数:
96
输出原序列有45分…… 字典序最小可以和拓扑序联系起来。 根据原来的题意不是很可做,于是对原序列求逆,令q[p[i]]=i; 那么就成功将题意转化:相邻元素值的差大于等于k时可以交换,使序列字典序最小。 考虑一下$n^2$怎么做,对于$i<j$,如果$abs(q[i]-q[j])<k$,那么q[i] ...
分类:
其他好文 时间:
2019-10-07 09:47:51
阅读次数:
105
9.6偏序关系(Partial Order) 偏序(Partial Order) 定义: 偏序(Partial order):定义在A上的集合R是偏序关系iff(当且仅当)其具有以下性质: 1. 自反性(reflexive) 2. 反对称性(antisymmetric) 3. 传递性(transti ...
分类:
其他好文 时间:
2019-10-07 00:40:59
阅读次数:
147
题目是古埃及神话??? A. 天空龙 傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...) B. 巨神兵 难度爆增,一脸懵比..... 60分状压: 因为是求有向图,关于有向图好像拓扑用的很多,考虑到每个图的拓扑序是一定的 那么我们可以借此转移,设f[i][j]为当前点的状态为i,出度 ...
分类:
其他好文 时间:
2019-10-04 23:11:55
阅读次数:
110
考前被奶了,然后没什么感觉,很冷静的水完T1,本来一直以为这会是套水题,然后才发现T2T3不可做,心态很炸地写完了,T2暴力写错了很多东西,调了好久 T1淼题 T2「状压DP」「边化点」 首先根据n很小可以想到状压 60%算法: 根据拓扑序构造DAG 定义f[s][ss]表示构造出来的DAG中 选出 ...
分类:
其他好文 时间:
2019-10-04 22:44:05
阅读次数:
91
60pts: 每个DAG的拓扑序是唯一的,所以考虑将DAG分层。f[i][j]记录当前选择的节点状态是i,最后一层的节点状态为j(dep取最大)。 初始状态:$f[i][i]=1;i\in [1,1<<n)$。那么我们第一层枚举当前状态i,第二层枚举[1,1<<n)。那么令s=i&j,t=j&(~i ...
分类:
其他好文 时间:
2019-10-04 18:39:28
阅读次数:
89
T1: 贴心送分题。 对于每种颜色,如果多了,就会有多的数量除二的贡献,反之会有少的数量的需求。 最后判断贡献和需求哪个大即可。 时间复杂度$O(1)$。 T2: 边数太多,考虑将状态记录在点上。 每一种可行方案是一个dag,可以按照拓扑序列分层。 状态记录当前选中的集合,和最后一层的点的集合,然后 ...
分类:
其他好文 时间:
2019-10-04 17:18:01
阅读次数:
87