自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 牛客小白月赛61 E - 排队(逆序对+思维)

首先考虑一个序列的正序对+逆序对个数之和,就相当于看这个序列里面有多少对数,等于C(n,2);1.注意对分数取模时,不一定都得求逆元,像n*(n-1)/2,因为结果是整数,所以可以先算除不用再求逆元。x在y的前面有 C(n,2)=n*(n-1)/2 种情况,剩余 n-2 个位置全排列 (n-2)!的逆序对的个数为(cnt[i]-cnt[i-1])*cnt[i-1],求和即为所有逆序对个数。之后直接套公式,注意取模,因为n*(n-1)/2一定是整数,所以不需要再求2的逆元,直接算即可。*n*(n-1)/2。

2022-11-20 12:12:55 258 1

原创 AtCoder - ABC 178 - C~F

C:容斥原理/dp;D:找规律/dp/组合数学;E:最远曼哈顿距离;F:思维

2022-11-19 03:21:16 403 1

原创 牛客练习赛105 C.打牌的贝贝(卡特兰数+逆元)

卡特兰数之括号匹配模型+求逆元总结

2022-11-15 16:43:02 278

原创 AtCoder - ARC 117 - C(思维+杨辉三角结论+卢卡斯定理/模拟)

已知一个金字塔的底层颜色分布,蓝白红,上面格子的颜色取决于下面两个相邻格子的颜色。如果相邻格子为同色,那么上面那个格子也是这个颜色;如果相邻格子为不同色,那么上面那个格子就是不同于下面两种颜色的第三种颜色。给你金字塔最顶层的方块数为 N,和底层颜色分布,用字符 B 表示蓝色,字符 W 表示白色,字符R 表示红色。问:金字塔顶端是什么颜色。

2022-10-16 22:38:06 918

原创 AtCoder - ABC 170 - D(思维+数论)E(STL+模拟)

现有一个长度为 n 的序列 A,请你输出满足以下条件的所有整数的数量:对于每一个整数 j (1 ≤ j ≤ n且 i ≠ j) ,)。

2022-10-16 21:15:08 785

原创 AtCoder - ABC 270 - D(博弈论dp)

T和A将玩一个用顺序 (A1,...,AK) 取石头的游戏。一堆石头最初有 N 个。两位选手轮流执行下面的操作,T先手。选择一个 Ai,它最多是一堆石头的当前数量。从堆中移除 Ai 石头。当堆里没有石头时,游戏就结束了。如果两名玩家都试图在游戏结束前最大化他们移走的石头的总数,问T将移走多少石头?

2022-09-29 16:57:31 918

原创 Codeforces Round #823 (Div. 2) B(二分 / 思维)

因为P,S已经算出,是定值,所以x+y=P+x0+S-x0=P+S。根据该方程的图,当 x = y 时 x,y 中的最大值是最小的。假设我们选择了 x0 作为约会地点,那么小于等于 x0 的点到达时间为 x0−xi+ti,大于 x0 的点到达时间为 xi−x0+ti ,两种到达时间的最大值就是能约会的时间。我们把点按照 xi 排序,然后预处理前缀和以及后缀和,根据所选位置 x0 前的人数循环计算x0.,然后计算 xi 组成的区间中最佳位置,假设此时前缀最大值为mx1,后缀最大值为mx2,那么最优是当。

2022-09-29 16:32:47 187

原创 AtCoder - ABC 168 - E(数学推理)

注意 a,b 的范围,可能为 0 或负数——(1)如果a=b=0,d=0,取了它以后,别的都不能取,所以需要把每条这样的鱼单独归为一组单独放,只要加上这种鱼的个数s即可;(2)如果是 a / b 的值负数,为了我们之后在mp中找值为 -b / a 更方便,所以我们统一将存入的为负数的 a / b 的负号放在分母的位置,即 PII 的 second 位置。算出这一组的方案数 d 后,在 mp 中找与之相对的组,即存入的 PII 为(b,-a)的组(这里也是有。还有其中的+1,-1的理解。

2022-09-29 15:21:59 239

原创 AtCoder - ABC 270 - C(DFS+树上路径查询)

先跑一遍DFS求出每个节点的深度后,对于求结点 a,b 的路径,我们需要维护两个数组vector,数组 v1,v2 分别存从节点 a,b 开始的路径;fa[],要求的节点x到节点 y 的路径,就是从节点 x 一直向父节点遍历输出直到节点 y 即可。给定一棵有 N 个节点的树和两个节点 x,y ,按顺序输出从节点 x 到节点 y 的路径。拼接数组中所存的节点,顺序输出数组 v1 ,再输出两路径相遇处的节点 t ,最后。2. dfs预处理树中节点的深度,预处理以某一节点为根节点的所有节点的父节点。

2022-09-26 00:41:02 478

原创 AtCoder - ABC 167 - E(数学推理+组合数)

数学思维+推公式+组合数(隔板法)+快速幂

2022-09-24 22:20:33 326

原创 AtCoder - ABC 166 - F(DFS / 贪心)

题意:共操作 N 次,每次输入的是字符串。问能否在保证三个数都非负的条件下进行 n 次操作,如果可以输出Yes以及每次操作进行加1的那个字母;如果不能输出No。

2022-09-20 21:47:54 201

原创 AtCoder - ABC 165 - F(DFS树) | 163 - F(容斥原理 + DFS树)

DFS树的两道题,后一道待再补补。

2022-09-20 03:07:12 223

原创 AtCoder - ARC 148 - C(思维)

有一个以 1 为根,共有 N 个节点的树,给出节点 i(2~N)的父节点 Pi。规定每个节点的初始状态为正,可以通过按钮 i(1~N)对节点 i 进行翻转操作。给你 Q 个询问,每个询问有 M 个数,表示最终这 M 个节点的状态必须是反的,问最小的操作次数。

2022-09-20 00:43:22 233

原创 AtCoder - ABC 163 - E(思维 + 区间dp)

相比于dp[i,j],第 k 个数的位置由 b[k].y 到 n-(r+1)+1 = n - r,幸福值增加了 a[k] * | b[k].y - (n - j) |;这是考虑到同向冲突(因为如果都是反向就可以满的话,选大小数都可以是独立的,但关键就在于同向冲突),比如 1 5 6 1 1 1 ,5和6都要向着最右边排,设6移动x,5移动y,x+y=6,所获得的收益为:6x+5y。因为先放大数是最优的,所以先将数按照活跃度倒序排列,下面所说的第 i 个数指的是排序后的下标为 i 对应的活跃值。

2022-09-08 01:23:28 278

原创 AtCoder - ABC 267 - F(dp)

有 n 个数,求取 ⌊⌋ 个两两不相邻的数的最大和。

2022-09-06 20:34:29 148

原创 AtCoder - ABC 162 - E(容斥思维)

但是,这里面的排列不全是 gcd= i 的,还包含 gcd = i*2, gcd = i*3……的,所以要减去这些不符合的。如:i = 2,gcd[2] 中还包含 gcd[4], gcd[6]……设 dp[i] = gcd(a1,a2,a3,……,an) = i 时的排列数量,所以排列中的 ai 必须是 i 的倍数,有。有 n 个大小为 1∼k 的数,找出n个数的所有排列中的 gcd(a1,a2,...,an) 之和。(向下取整)个数,在 n 个位置随意选择。再枚举 i 的倍数 j ,减去 dp[j]。

2022-09-06 20:26:27 112

原创 AtCoder - ABC 162 - D(思维)

一长为 n 的字符串由 RBG 组成,找出满足以下条件的三元组 (i,j,k) 的数量:2. s[i]!= k−j。

2022-09-06 19:25:53 176

原创 AtCoder - ABC 267 - E(二分/贪心)

给定一个有 n 个点 m 条边无向图,每个点都有权值。每次要删除一个点及其所连的所有边,删除某点的代价是与这个点直接相邻的所有点的权值和,使 n 次删除操作后的最大值最小,求其最小值。

2022-09-06 01:40:46 382

原创 AtCoder - ABC 267 - C D(前缀和 | 01背包)

给定一个数组 a,求 a 的一个长度为 m 的连续子序列 b,使最大,输出最大值。

2022-09-05 03:12:13 349

原创 AtCoder - ABC 267 - B(暴力模拟)

有 7 列保龄球瓶,总共有 10 个球瓶,每一列有哪些球瓶给你了,现在有几个瓶倒了,问是否有满足以下两个条件:1.编号为 1 的瓶倒了2.有两列至少有一个瓶站着,且这两列中间有一列全倒了。输入长度为 10 的字符串表示 10 个球瓶的状态,'0' 表示倒了;'1' 表示没倒。如果满足条件输出Yes,否则输出 No。

2022-09-05 02:45:34 293

原创 AtCoder - ABC 161 - E(贪心)

给你一个长度为 n 的字符串 s(仅由 ’x’ 和 ’o’ 组成),表示n天的上班状态,’o’ 表示该天上班;’x’ 表示不上班。要求总共上班 k 天,且两相邻上班时间之间至少隔 c 天。输出无论怎么选一定要选的位置。

2022-09-04 22:11:19 189

原创 AtCoder - ABC 161 - F(数论)

2.k 是 n 的约数多次执行 k/n 后结果为 1,无余数。无余数且结果为1,则在多次执行 n/k 后结果为 1 后,再次执行一定有 n%k = 1%k = 1也成立;这个最后结果其实可以由 n%k 得出,所以如果 n%k = 1,k 成立,说明 k 满足 k 是 n-1 的因数时k成立。根据 k 是 n 的约数时的两种情况,可以按一种方法判断 k 是否成立,首先必须保证 k 是不大于 √n的约数,然后一直执行 n/k 直到 n%k!如果k ∣ N ,那么N = N / k ,否则N = N − k。

2022-09-04 21:56:40 90

原创 小水水爱撩妹

4.ok,机智的你们一定都想到了上面的条件并且正确地写出来。但是呢,出题人为了增加题目的趣味性 and AC的不确定性,当上述3个条件都满足时,所以还是有 2/3的概率WA的。给你一个 n,按字典序输出 n 个单身妹子滴QQ号。不能重复,不能不是QQ号。如果不过就多提交几次碰碰运气。1.输入的n个字符串的大小保证是QQ号长度的大小。3.依次输入的n个字符串保证是按字典序从小到大的。2.输入的保证是数字字符。

2022-09-04 15:15:13 71

原创 小水水的个数(思维+计数)

这题是学校的算法社团的活动,九月挑战赛,学长出的题,菜菜的我学习学长的代码试着搞题解,在自己的博客上也记录下难题。

2022-09-04 15:12:08 138

原创 AtCoder - ABC 159 - D(找规律+构造 / dp+构造)

求第k小的相邻两位绝对值小于等于1的数。

2022-09-03 03:18:14 267

原创 AtCoder - ABC 159 - F(非典型DP,DP优化)

即:f[i][j] = i + f[i-1][j]要使用公式时,需要找到区间[l,r],根据枚举的每一个右端点 i,对应的左端点f[i-1][s-a[i]](其实是所有左端点的和),正是满足条件的区间,代入公式累加。(1)如果选上第 i 项:所有前 i-1 项中和为 j-a[i] 的区间再算上第 i 项,正好和为 j,所有这样区间的最左端点和为 f[i-1][j-a[i]];前 i 个数中和为 j 的区间的最左端点之和为:f[i][j] = f[i-1][j-a[i]] + f[i-1][j]。

2022-09-02 21:29:09 69

原创 AtCoder - ABC 160 - DE(贪心)

有一个有 N 个点的无向图G,相邻两点间有一条边,在顶点 X, Y 之间加一条边,总共有 N 条边。对于k从 1 到 N,求出对于每个 k,图G中满足两点最短路径为 k 的整数对数。

2022-09-02 02:24:41 185

原创 AtCoder - ABC 160 - F(树的拓扑序计数,换根DP)

这是仅仅考虑起点,还需要考虑子节点,因为染色是有限制的(下一个染色的点与已染色的点相邻),也就是说起点染完后,下一个点一定是起点的儿子节点,以此类推,说明子树染完时也必须满足子树的根是该子树子树排列第一个。之前总偷懒用auto,以为这样v就是e[1],其实每次循环的v都不同,是二维数组e[1]的元素,所以其实是int类型的。(size[fa] = n,size[son] 是以 son 为根节点的子树大小,size[x] 是除父节点 fa 和子节点 son 以外的所有子树的合法情况,即所有子树大小乘积之和)

2022-09-02 01:24:39 302

原创 AtCoder - ABC 159 - E(二进制枚举,观察数据范围)

有 H×W 大小的方格矩阵,每个方格为 0 or 1, 现在可以进行横切与竖切,每次切都是一切到底的,询问最少切多少次可以保证最后的分块中每个分块都有不超过 K 个 1。

2022-09-01 01:01:57 183

原创 AtCoder - ABC 155 - D(二分套二分)

因为a数组是单调递增的,a[i] < 0,那么l越大,乘积越小,所以满足条件时区间左移 r = mid,从而找到最小的r满足 a[i] * a[r]

2022-08-30 00:59:29 173

原创 AtCoder - ABC 155 - E(思维/DP)

(2)当第 i+1 位的选择是2时,即 f[1][i+1],第 i+1 产生的票数时店员找回的 10-x 张,同时还需要第 i 位的1张,这时的 f[1][i+1] 没有算上(因为它包含的仅是第 i+1~len 位的票数和),需要将这一张算到第 i 位 f[0][i] 中:即 f[1][i+1] + (s[i] - '0' + 1),对第 i 位无影响,此时的 f[0][i] 就等于 f[0][i+1] 加上第 i 位的票数x:即 f[0][i+1] + (s[i] - '0');,找回 10-x 张。..

2022-08-29 17:29:30 91

原创 AtCoder - ABC 155 - F(异或差分,树上异或问题)

(因为u节点与v.x相连,要使用该操作区间,必须至少有一个点值为1,在u结点的b[u]不定时,如果确定了另一个点v.x的b为1,就没必要用该操作区间了)所以对 a数组进行区间 [l,r] 的翻转操作后,判断得到的 a`数组是否全为 0 的方法是——根据操作区间 [l,r] 对原a数组的差分数组b 进行 b[l] ^= 1,b[r+1] ^= 1操作后,得到的 b`数组如果全是 0 ,就说明 a`数组全是 0 ,即 a数组操作后全为 0 .1->1->1,节点3为1,节点2变为0,不动节点1,返回1)...

2022-08-29 15:11:33 242

原创 AtCoder - ABC 158 - D(字符串拼接,思维)

给一个字符串S,进行Q次操作,有翻转字符串、字符串开头加一个字符、字符串结尾加一个字符三种操作,输出最终的字符串。

2022-08-29 14:31:15 201

原创 AtCoder - ABC 158 - E(取模前缀和思维, 基本数论)

除此之外,对于 p = 2 和 p = 5 时需要特判,直接根据 s[i] 是否能被 2 或 5 整除,如果成立,则以s[i] 为结尾的满足条件的子串的个数为 i+1(以 s[i] 为结尾的长度大于 1 的子串和子串 s[i] 本身,因为凡是 2 或 5 的倍数的数最后一位一定是 2 或 5 的倍数)所以我们可以不用快速幂,直接找有哪些结尾是 s[n-1](最后一个字符,这是下标从0算的,也就是上面说的n)的子串对 p 取模相同。% p = 0, 即 x3x4x5 % p = 0(若p是质数,p!.....

2022-08-29 01:36:46 254

原创 AtCoder - ABC 158 - F(线性DP,思维)

(1)假设它的波及范围包括 i ,那么波及范围也就包括第 i 个机器人的波及范围,也就是说,第i-1个机器人的right一定不会在 [i+1,j-1] 这个在考虑第i个机器人时就不满足的范围,所以第i-1个机器人的right>=j;1.主动激活:那么后面的一系列影响范围内的机器人都会被波及,不考虑前面机器人的局面时,继承从第1个不被波及的机器人开始(这里的不被波及不仅仅是第i个机器人的范围内,而且包括后面被第i个机器人波及到的而导致。考虑当第 i 个机器人激活后,后面不存在未被波及的机器人,无需继承时。..

2022-08-29 01:04:29 466

原创 AtCoder - ABC 156 - F(补集,用商判断两数模意义下的大小)

给了长度为k的数组d,下标从 0 开始。进行q次询问。每次询问输入n,x,m, 有长度为n的数组a,下标从 0 开始。其中:……

2022-08-28 01:46:13 205

原创 AtCoder - ABC 156 - DE(朴素求组合数+补集思想 | 组合计数+隔板法)

C(n,a)和C(n,b),直接用两个循环即可。(当然,本题a,b的最大值过大,也不能用数组存)有 n 个房间,每个房间 1 个人,定义一个事件是某个人在 n 个房间中任意移动一次,但不能待在原地, 询问 k 次事件后,各房间有多少种情况,答案 mod 1e9+7。从 n 种花里挑,每种花只有一个,最后花的数量不能是 a 或者 b,求所有方案数 mod 1e9+7。从n个数中选 1 ~ n(不含a,b)个数,即C(1~n) - C(n,a) - C(n,b)。因为n很大,直接用基本公式算:C(a,b) =.

2022-08-27 00:13:10 135 1

原创 AtCoder-ABC 156 - C(结论题/暴力)

结论题:最优位置是出n个数的平均值,如果求平均值时除不尽,就在算平均值+1的位置的结果,取min。数轴上有 n 个人,将一个人从点 x 移到 p 的花费为。,计算将所有人移到同一点的最小花费。不过这题的数据很小,可以直接暴力。.....................

2022-08-26 02:48:59 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除