Loading

随笔分类 -  ACM题解

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页
摘要:Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree 题意 给定一棵$n$ 个结点的树,对这棵树分配边权,使得这棵树的边权的乘积为$k$ ,且要求所有两点的简单路径边权之和最大。 \(k\) 以质因子的形式给出,有$m$ 个质因子 结果 阅读全文
posted @ 2020-08-22 17:30 MQFLLY 阅读(336) 评论(0) 推荐(0)
摘要:Codeforces Round #665 (Div. 2) C. Mere Array 题意 给定数组$a$ ,可以交换$a_i , a_j$ 当且仅当$Min | (a_i,a_j) $ ,其中$Min$ 为$a$ 数组的最小值 问能否通过交换使得数组$a$ 不降 分析 考虑需要交换的元素有哪些 阅读全文
posted @ 2020-08-22 16:07 MQFLLY 阅读(190) 评论(0) 推荐(0)
摘要:Codeforces Round #665 (Div. 2) B - Ternary Sequence 题意 给定两个长度为$n$ 的序列$A ,B$ ,他们中分别由$x_i,y_i,z_i$ 个$ 0 , 1, 2$ 构成,要求构造出这样的$A,B$ 使得$\sum C_i$ 最大 \[ c_i 阅读全文
posted @ 2020-08-22 15:58 MQFLLY 阅读(150) 评论(0) 推荐(0)
摘要:ZOJ-3640 Help Me Escape 概率DP 题意 有一个人要逃离一个洞穴,现提供 \(n\) 条出路,每条出路有危险值 \(c_i\) ,这个人的武力值为$f$ 。 每天这个人会随机一条路,若 \(f\) > \(c_i\) ,那么可以通过$t_i$ 的时间逃离这里 否则就要等下一天, 阅读全文
posted @ 2020-08-21 21:18 MQFLLY 阅读(95) 评论(0) 推荐(0)
摘要:HDU-2158 最短区间版大家来找茬 模拟 尺取 题意 给定一个长度为$N$ 的序列,序列中每个整数的范围是$[0,N)$ 给出$M$ 个询问,每次询问给出一个整数$Q$ ,接下来有$Q$ 个整数,这$Q$ 个整数可能包含重复值。 现要找出一个最短的区间包含这$Q$ 个整数。输出最小的区间长度 \ 阅读全文
posted @ 2020-08-21 18:36 MQFLLY 阅读(164) 评论(0) 推荐(0)
摘要:HDU - 1082 排列组合 普通生成函数 细节 HDU 1082 Holding Bin-Laden Captive! 题意 给$n_1$ 给一元硬币,$n_2$个两元硬币,\(n_3\) 个5元硬币。从中选择硬币,问能够构成的最小的硬币面值是多少 分析 显然可以从普通生成函数的角度考虑,把生成 阅读全文
posted @ 2020-08-21 16:25 MQFLLY 阅读(110) 评论(0) 推荐(0)
摘要:HDU - 1521 排列组合 指数型生成函数 指数型生成函数 指数型生成函数通常用来解决多重集的排列问题 对于一个多重集,其中$a_1$重复$n_1$次,$a_2$重复$n_2$次....$a_k$重复$n_k$次,从中取$r$个排列的不同排列数所对应的指数型生成函数为 \[ G(x) = (1 阅读全文
posted @ 2020-08-21 15:38 MQFLLY 阅读(206) 评论(0) 推荐(0)
摘要:POJ - 1985 Cow Marathon 【模板】 树的直径 树形DP 邻接表实现 树的直径 图中所有最短路径的最大值即为「直径」,可以用两次 DFS 或者树形 DP 的方法在 O(n) 时间求出树的直径。 做法2 树形DP 我们记录每个节点向下,所能延申的最远距离$d_1$ 和次远距离$d_ 阅读全文
posted @ 2020-08-20 23:08 MQFLLY 阅读(179) 评论(0) 推荐(0)
摘要:HDU-2512 一卡通大冒险 【模板】 贝尔数 贝尔数 贝尔数是组合数学的一组整数序列 \[ B_0 = 1,B_1=1,B_2=2,B_3=5,B_4=15,B_5=52 \dots \] \(B_n\) 是基数为$n$的集合的划分方法的数目。\(B_3 = 5\) ,是由于$a,b,c$ 三个 阅读全文
posted @ 2020-08-20 17:06 MQFLLY 阅读(145) 评论(0) 推荐(0)
摘要:CF901B GCD of Polynomials 多项式 数论 题意 定义多项式的度$deg$ 为多项式的最高次数。对于多项式$A(x) = \sum_na_kxk$ 以及$B(x) = \sum_mb_kbk$ 有唯一的除法表示 \[ A(x) = B(x)\cdot D(x) + R(x) , 阅读全文
posted @ 2020-08-20 16:20 MQFLLY 阅读(304) 评论(0) 推荐(0)
摘要:第一类斯特林数 \[ 斯特林轮换式 S[n][k]表示将n个两两不同的元素,划分为k个非空圆排列的方案数 \] 递推式: \[ S[n][k] = S[n-1][k-1]+(n - 1)\cdot S[n-1][k] \] 边界: \[ S[n][0]=[n=0] \] HDU 4372 题意: 有 阅读全文
posted @ 2020-08-20 14:33 MQFLLY 阅读(147) 评论(0) 推荐(0)
摘要:HDU 4248 题意: 给定n种颜色不同的石子,每种石头有 num[i] 个。从中取石子,问能够得到多少种不同的序列。 \[ n \leq 100,num[i]\leq 100 \] 数据范围比较小,考虑dp \[ dp[i][j]表示选前i种石头,且选的石头总数为j时的不同序列个数 \] 有转移 阅读全文
posted @ 2020-08-20 13:20 MQFLLY 阅读(164) 评论(0) 推荐(0)
摘要:发现很多时候可以从打表中找SG函数的规律。 此题如果没有分割这个操作其实就是简单是异或一下就好了(其实就是SG函数) 多的这个操作想到与考虑后继状态 sg(x + y ) 。我们知道sg(x + y ) 可以从 sg(x) ^ sg(y) 求出。于是可以尝试先打表出sg函数。 int vis[105 阅读全文
posted @ 2020-08-19 21:58 MQFLLY 阅读(162) 评论(0) 推荐(0)
摘要:动态往序列末尾加数字,每次添加完求序列内所有子区间的RMQ(最小值)之和,强制在线求法,求线性做法。 1.考虑某位置上的数x作为区间最小值出现的次数,一旦插入了一个比x大的数,x的贡献就不再变化。 2.当插入一个数时,只有从末尾往前单调递增的数的贡献才会变化,容易想到用一个单调栈维护。 首先,如果这 阅读全文
posted @ 2020-08-19 20:07 MQFLLY 阅读(201) 评论(0) 推荐(0)
摘要:a[i] 表示可以选择数i的个数。 对于每一组询问a,求出能够组合出的被4整除的最大的数。 显然是贪心构造,被4整除就等价于末尾两位被4整除。 需要注意的点有: 前导0,单个数字 这里通过string自带的比较性质写了一个cmp函数。 void solve() { memset(val, 0, si 阅读全文
posted @ 2020-08-19 19:48 MQFLLY 阅读(181) 评论(0) 推荐(0)
摘要:给一个n * m 的草地,初始时刻没有草,每单位时刻每块会长草。 在t时刻,将在第 x 行或者第 y 列锄草。 问最终共锄了多少草。 暴力方法: 标记pre[maxn][maxn],表示这个点上次的锄草时间,每次锄草都遍历当前行/列,并且标记pre。在线更新res 复杂度k*n 优化方法: 标记l[ 阅读全文
posted @ 2020-08-19 19:44 MQFLLY 阅读(211) 评论(0) 推荐(0)
摘要:最初有能量n,且能力上限为n。 每天可以选择消耗x获得水元素,也可以不获得。 每天结束时会自动回复y能量。 问第m天时最多获得多少水元素。 x + y < n 1.若y >= x 。则每天都能恢复,直接输出m 2.若y < x。则每天恢复都会产生贡献。输出 (n + y * (m - 1)) / x 阅读全文
posted @ 2020-08-19 19:39 MQFLLY 阅读(285) 评论(0) 推荐(0)
摘要:给定一个有 n 个节点和 m 条有向边的图。每个节点上有一个小写字母。 我们将路径的值定义为最经常出现的字母的数目。例如,如果路径上的字母是 “abaca”,那么该路径的值是 3。 你的任务是找到一条值最大的路径,并将这条路径的值输出。 显然条件是必须在一条路径上,容易想到限制要求拓扑排序,因此可以 阅读全文
posted @ 2020-08-18 21:36 MQFLLY 阅读(145) 评论(0) 推荐(0)
摘要:给定一个火车的入站顺序,问是否可能以规定的顺序出站。 背景实际上是卡特兰数。 可以联想到用栈和队列来模拟这一过程。 如果进栈的过程中发现和队首相同就让他出栈。 string s1, s2; int main() { int n; while (cin >> n) { cin >> s1 >> s2; 阅读全文
posted @ 2020-08-18 20:25 MQFLLY 阅读(140) 评论(0) 推荐(0)
摘要:每个字母都有价值,A的价值是1,B的价值是2,Z的价值是26。现给定26个字母的数量,问能凑到总价值<=50的单词的方案数是多少。 注意HDU , UDH属于相同的单词。 形式上,普通型母函数用于解决多重集的组合问题, 指数型母函数用于解决多重集的排列问题。 此题用普通型母函数求解。 构造母函数 于 阅读全文
posted @ 2020-08-18 19:57 MQFLLY 阅读(121) 评论(0) 推荐(0)

上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 18 下一页