首页 > TAG信息列表 > 杭电杯

2022“杭电杯”中国大学生算法设计超级联赛(9)

赛后总结: 不太理解为什么都这么强,1008是一道欧拉函数变形,我用莫比乌斯反演推出了一样的式子,实际上两个1e7的数的质数集合的并最多只有12个,那么暴力按照式子2^12枚举每个质因数是否出现然后去推就好,我还去维护了每个[n/i]的取值再累加,因为想着质因数的级别可能会到20。。。其实还

2022“杭电杯”中国大学生算法设计超级联赛(8) 题解

A. Theramore 考虑只对长度为3的子串进行操作,发现偶数位置的字符不会出现在奇数位置,奇数位置的字符不会出现在偶数位置。 对奇偶位置字符进行排序即可。 #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 5; string S; char T[MAXN]; int num[3], n; void

2022“杭电杯”中国大学生算法设计超级联赛(7)部分题题解

1008 Triangle Game 留坑待填 1006 Sumire 留坑待填

2022“杭电杯”中国大学生算法设计超级联赛(4)

链接 \(Link with Bracket Sequence II\) 为了方便去重,我们令 \(f_{i,j}\) 表示 \(i\) ~ \(j\) 组成的两端括号匹配的合法括号序列方案数,\(g_{i,j}\) 表示 \(i\) ~ \(j\) 组成的合法括号序列方案数,答案为 \(g_{1,n}\) 。 转移 \(g_{i,j} -> f_{i-1,j+1}\),\(g_{i,j}=\sum\limits_{k

2022“杭电杯”中国大学生算法设计超级联赛(3)

比赛链接: https://vjudge.net/contest/507736 B - Boss Rush 题意: 有 \(n\) 个技能,第 \(i\) 个技能使用完后的 \(t_i\) 时间内不能使用其他技能,该技能会在 \(len_i\) 的时间中,每秒造成 \(d[i][j]\) 点伤害 \((1 <= j <= len_i)\),boss 有 \(H\) 滴血,问最短多少时间能杀死 boss。 思

2022“杭电杯”中国大学生算法设计超级联赛(3)

链接 \(Equipment Upgrade\) 令 \(f_i\) 为升到 \(i\) 级所需期望费用,易得: \(f_i = f_{i-1} + c_{i-1} + \frac{1-p_{i-1}}{\sum\limits_{j=1}^{i-1}w_j}\sum\limits_{j=0}^{i-1}(f_i-f_j)w_{i-j-1}\), 再化化得 \(p_{i-1}f_i=f_{i-1}+c_{i-1}-\frac{1-p_{i-1}}{\sum\limits_{

2022“杭电杯”中国大学生算法设计超级联赛(2) 题解

A. Static Query on Tree 将集合 \(|A|,|B|,|C|\) 内取出的点记为 \(a,\ b,\ c\),我们可以从题目条件中提取三个信息 ① 满足要求的点一定在 a到c 的这条链上 ② 满足要求的点一定在 b到c 的这条链上 ③ 满足要求的点一定在 c 的子树内 利用树链剖分+线段树,我们可以在树上维护 \(a,

2022“杭电杯”中国大学生算法设计超级联赛(2)

比赛链接 2022“杭电杯”中国大学生算法设计超级联赛(1) 7150. Static Query on Tree 给定一棵 \(n\) 个节点的树,每个节点只能向根节点走。 \(q\) 个询问,每次给定三个集合 \(A 、 B 、 C\) ,在 \(A 、 B 、 C\) 中分别取出 \(x, y, z\) ,问 \(x, y\) 往最终在 \(z\) 汇合, \(x, y\) 都

2022“杭电杯”中国大学生算法设计超级联赛(1)1003 Backpack 题解

2022“杭电杯”中国大学生算法设计超级联赛(1)1003 Backpack 题解 关于我对这题看法:这题考察的算法是动态规划dp,当时开场1小时就有100多支队伍出来,然后我去开这题, 20多分钟就做出来了,所以当时我就以为这大概就是签到题,但是即使5小时结束后, 这题通过队伍数也才200多(大概接近铜牌题了

2022“杭电杯”中国大学生算法设计超级联赛(2)

  1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 赛时过题 O O O       O   O     O 赛后补题                       1 赛后感悟: 真没想到1003是一道披着难题的水题!暴力就能过!数据太水了! 有时候不要不敢交暴力,如果无论怎么都想不

2022“杭电杯”(1)补题

2022“杭电杯”(1)补题 1002 Dragon slayer(BFS做法) 原题链接 https://acm.hdu.edu.cn/showproblem.php?pid=7139 比赛签到题都没写出来,还是太菜了 题意 在一个(n,m)的区域内有k面墙 勇者从(xs+0.5,ys+0.5)出发到恶龙的位置( xt+0.5, yt+0.5)。 求勇者最少要消去多少面墙 思路 由于勇

2022“杭电杯”中国大学生算法设计超级联赛(1)

链接 \(String\) 我必须立刻对串串使用 \(kmp\) ,并让 \(nxt_i\) 向 \(i\) 连边,于是可得一个森林。对于任意点 \(x\) ,若 \(y\) 是 \(x\) 的祖先或自身,则有 \(S_{1,y} = S_{x-y+1,x}\) ,满足条件 \(1,2\) 。考虑条件 \(3\) ,需满足 \(2y>x\) 且 \(2y\) 与 \(x\) 模 \(k\) 同余,前者可以

2022“杭电杯”中国大学生算法设计超级联赛(1)

比赛链接 2022“杭电杯”中国大学生算法设计超级联赛(1) 7149. Alice and Bob 有 \(a_i\) 个 \(i\)(\(0\leq i\leq n\)),\(Alice\) 每次可以将这些数划分为两个集合,\(Bob\) 每次可以删除一个集合,同时另外一个集合所有数减一。如果任何时候存在 \(0\) 则 \(Alice\) 胜,否则 \(Bob\) 胜