随笔分类 - DP
CF1089I Interval-Free Permutations
摘要:题目大意: 有一个排列,长度为n,一个区间为连续段当且仅当最大值减最小值加一为区间的长度。问所有长度为n的排列,有多少个满足只有长度为1或n的连续段。要求n^3求出所有长度为1到n的答案。 思考:考虑连续段的性质。容易发现的是,两个相交连续段的并还是一个连续段。 首先我们特判n=2。然后我们i使用容
阅读全文
[校内训练2021_03_25]BC
摘要:题目大意:求一个 有标号树的 本质不同的 有根点分树 数量。要求平方。 思考:咕咕咕 1 #include<bits/stdc++.h> 2 #define mod 1000000007 3 using namespace std; 4 typedef long long int ll; 5 con
阅读全文
[校内训练2021_03_04]AC_平面图转对偶图2
摘要:我发现平面图转对偶图经常和最小割在一起。 HDU5518 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long int ll; 4 typedef long double ld; 5 typedef pair<int
阅读全文
[校内训练2021_03_03]C
摘要:题目大意:问平面上有多少个不同的由n个点组成的无向无标号的树(即在纸上画树,树边不能交叉)。n=10000000,对质数取模。 思考: 由于树太难直接考虑,我们需要建立一种一一对应的关系来方便计数。这里将树变成了平面图,即对于任意一个有2(n-1)个点均匀分布在圆周上的圆,我们给这些点两两配对,连出
阅读全文
[校内训练2021_03_02]C
摘要:题目大意:有一棵n个节点的树,给每个节点分配一个非负整数,使得权值和为m,求出所有方案的 标号最小的带权重心的 标号之和。一个点是带权重心当且仅当以它为根的子树中,所有子树的权值和小于等于m除以2下取整。n=200000,m=5000000,对质数取模。 思考:首先比较容易发现的一点是 带权重心一定
阅读全文
[校内训练21_02_20]
摘要:第一题在尝试了几个错误的dp后,意识到所有合法的序列可以抽象为选出一个子序列,并将他们拓展至长度为n的序列。为了避免记重,我们强制选择第一个出现的字符。于是,f[i][j]表示已经填了i个字符,现在正停留在原序列的第j个字符上,若是朴素转移,需要借助nxt[i][26],即下一个字符的位置。而这件事
阅读全文
[校内训练20_10_23~25]
摘要:1. 标准的卢卡斯定理加数位dp,主要是算C(n,i)*C(n,2*i)。 但由于这题的模数是质数,就不需要考虑很多东西,如:是否超过上限了、是否有连续的进位。 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long
阅读全文
[校内训练20_10_15]ABC
摘要:A.雅礼集训convex 回滚莫队:莫队时若发现删除、添加中有一个容易操作(O(1)),有一个不容易操作(>O(1))就可以使用这种方法。 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long int ll; 4 t
阅读全文
agc039f
摘要:https://atcoder.jp/contests/agc039/tasks/agc039_f 由于难以直接计数,我们不妨虑容斥。假设我们枚举了每一行、每一列的最小值分别是什么,那么可以算出这种情况的贡献为\prod_{i=1}^{n}\prod_{j=1}^{m}{max\{a[i],b[j]
阅读全文
[校内训练20_06_01]ABC
摘要:1.给出8个函数f(a,b,c)=k,其中a,b,c,k均为一个bool。对于一个长度为奇数的 零 一 字符串,我们称之为好的,当且仅当存在一种操作方法,使得这个字符串能变为1: 1.选出一个奇数i。令S=str[1,i],T=str[i+1,n] 2.从右往左将末尾3个数字替换为f(a,b,c)。
阅读全文
[校内训练20_05_30]ABC
摘要:1.一棵树,边权为1,每次给两个点a,b,d1,d2,找到任意一个到a距离为d1,到b距离为d2的点。 大力分类讨论即可。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1E6+5; 4 int n,q; 5 in
阅读全文
[校内训练20_01_20]ABC
摘要:1.问有多少个大小为N的无标号无根树,直径恰好为L。$N,L \leq 200$ 2.问一个竞赛图中有多少个长度为3、4、5的环。$N \leq 2000$ 3.给出一些直线和单个点A,问这些直线的交点与A最近的M个距离之和为多少。$N \leq 50000,M \leq 10^7$。保证不存在两个
阅读全文
[校内训练20_01_17]ABC
摘要:1.平面上每次加入直角边平行于坐标轴的等腰直角三角形,每次询问某个点被覆盖了多少次。 大常数算法:O(nlog^2) 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=3E5+5; 4 int n,q; 5 inlin
阅读全文
[校内训练19_09_05]ca
摘要:题意 对于任意1 ≤k≤N,求有多少个左右区分的恰有k个叶子节点的二叉树,满足对于每个节点要么没有叶子节点要么有两个节点,同时不存在一个叶子节点,使得根到它的路径上有不少于M条向左的边。 答案对998244353取模。 思考 将问题放到平面上考虑。起初在原点,我们考虑树的dfs序,每次向左走一次,得
阅读全文
[校内训练19_09_03]c Huge Counting
摘要:题意 有一个定义在 k 维非负整点上的函数:$f(x_1,x_2,...,x_k):N_{0}^{k}->\{0,1\}$ ,定义方法如下: 若存在$j∈[1,k],x_j=0$,则$f(x_1,x_2,...,x_k)=0$ 若对$j∈[1,k]$都有$x_j=1$则$f(x_1,x_2,...,
阅读全文
[校内训练19_09_02]C
摘要:题意 给出一棵N 个节点的树,树上的每个节点都有一个权值$a_i$。 有Q 次询问,每次在树上选中两个点u, v,考虑所有在简单路径u, v 上(包括u, v)的点构成的集合S。 求$\sum_{w∈S}{a_w or dist(u,w)}$ 其中dist(u,w) 为简单路径u,w 上的边数,or
阅读全文
[CQOI2011]放棋子
摘要:题意 https://www.luogu.org/problem/P3158 思考 设$f_{i,j,k}$为用前k种棋子,在满足条件的情况下,在i*j的棋盘上每行每列都至少有一枚棋子的总方案数。转移为: $f_{i,j,k}=\sum_{i_1 \leq i}\sum{j_1 \leq j}{\{
阅读全文
CF990G
摘要:题意 https://codeforces.com/contest/990/problem/G 思考 在200000以内,因数个数最多的数位166320,共有160个因数。可以知道,从一个节点向下走最多只会有160种取值。 记集合f[u]为从u节点向下走可以取得的所有值及其个数,暴力转移即可。 至于
阅读全文
19_07_09校内训练[分组]
摘要:题意 将n个数分为若干组,每组中最小的数不能比该组的元素总数多,求方案数。n<=2000。 思考 若得到n个数的一种大小的划分,则可以简单地求出其方案数。将其从大到小排序后,令largeri为大于等于i的数字的个数,b[i]为第i个组的大小,sum为b的前缀和,则对于第i个组,其贡献为C(large
阅读全文
19_07_07校内训练[xor]
摘要:题意 长度为n的数组,上面有k个位置是1,现在有l种长度的连续全1串,要求用最少的次数将这个数组异或成全0的数组。n<=1E5,k<=10,l<=100。 思考 先将数组进行异或的差分。可以发现,现在异或上全1串只是将两个端点进行异或。 接下来求出将每对1变成0的最小代价,之后就是简单状压。 复杂度
阅读全文
浙公网安备 33010602011771号