chenfy27的刷题记录

导航

2024年3月11日 #

abc311D 走迷宫之不撞南墙不回头

摘要: 有个大小为n*m的二维图,.为空地,#为障碍,最外层一圈固定为障碍,起点(2,2)固定为空地,每次可以沿上下左右其中一个方向走,直到碰见障碍才能转向。问最多可以走过多少个空地?初始时方向任意,可以走多次。 bfs模拟,由于中途不能转向,把当前方向也塞到节点里。除1234分别对应上下左右外,新增一种状 阅读全文

posted @ 2024-03-11 21:32 chenfy27 阅读(31) 评论(0) 推荐(0)

abc315E 解锁1号图书要读的最少书

摘要: 有n本书,编号分别为1~n。在读第i本书之前需要先读c[i]本书,编号分别为p[i][1],p[i][2],...p[i][c[i]]。现想读1号书,需要提前读至少多少本书,输出任意一组方案。 2<=n<=2E5; 0<=c[i]<n,保证有解。 类似求拓扑序,由于要输出方案,用dfs更方便。另外题 阅读全文

posted @ 2024-03-11 21:22 chenfy27 阅读(20) 评论(0) 推荐(0)

2024年3月10日 #

luoguP3807 P为1E6以内质数的组合数

摘要: 有T次询问,每次给出整数n,m,p,计算C(n+m,n)%p的值。输入保证p为质数。 1<=n,m,p<=1E5; 1<=T<=10 n很大,p为百万级以内的质数,并且需要多次求组合数时,一般用lucas定理来计算组合数:lucas(n,k,p) = lucas(n/p,k/p,p) * C(n%p 阅读全文

posted @ 2024-03-10 20:20 chenfy27 阅读(33) 评论(0) 推荐(0)

luoguB3717 N在1E6以内的组合数

摘要: 给出T次询问,每次给出n和m,求C(n,m)对998244353取模的结果。为了避免输出太多内容,只需要输出所有查询结果的异或和。 1<=T<=5E6; 0<=m<=n<=5E6 n为百万级、p为大质数,需要多次求组合数,一般先O(n)预处理出所有数的阶乘及其对应的乘法逆元,然后O(1)处理每次询问 阅读全文

posted @ 2024-03-10 20:14 chenfy27 阅读(44) 评论(0) 推荐(0)

abc145D 骑士走棋盘到达目的地的方案数

摘要: 有一张二维棋盘,骑士每次可以从(i,j)移到(i+1,j+2)或(i+2,j+1)。求骑士从位置(0,0)移到(X,Y)的路径方案数?结果对1E9+7取模。 1<=X,Y<=1E6 dp的时间复杂度为O(XY),会TLE,因此考虑数学方法。假设走法1用了A次,走法2用了B次,那么有A+2B=X,并且 阅读全文

posted @ 2024-03-10 15:46 chenfy27 阅读(27) 评论(0) 推荐(0)

abc156D 带朵数限制的不同扎花方案数

摘要: cfy有n种花,每种各1朵,需要从中选出1种或多种来扎成花束,要求花的朵数不能是a或b,问可以制作多少种不同的花束?结果对1E9+7取模。 2<=n<=1E9; 1<=a<b<=min(n,2E5) 每朵花都有选与不选两种情况,去掉都不选的情况,共2^n-1种方案。然后再减掉选a种和选b种的情况,方 阅读全文

posted @ 2024-03-10 15:21 chenfy27 阅读(24) 评论(0) 推荐(0)

abc344E 维护元素唯一的序列

摘要: 给定序列A[N],元素值各不相同,有Q个操作,格式如下: 1 x y: 在元素x后面插入元素y,保证插入时x唯一。 2 x: 将元素x从序列中删除,保证删除时x唯一。 输出所有操作完成后的序列。 1<=N,Q<=2E5; 1<=A[i]<=1E9; A[i]!=A[j] 用链表来快速插入和删除,另外 阅读全文

posted @ 2024-03-10 14:53 chenfy27 阅读(19) 评论(0) 推荐(0)

abc160E 吃苹果能得到的最大美味度

摘要: 有A个红苹果,美味度分别为p[i];有B个青苹果,美味度分别为q[i];另外还有C个无色苹果,美味度分别为r[i],无色苹果在吃之前可以涂成红色或青色。现在要吃X个红苹果和Y个青苹果,求能吃到的最大美味度。 1<=X<=A<=1E5; 1<=Y<=B<=1E5; 1<=C<=1E5; 1<=p[i] 阅读全文

posted @ 2024-03-10 12:37 chenfy27 阅读(39) 评论(0) 推荐(0)

abc170D 不能整除其他元素的个数

摘要: 题面:给定数组A[n],问A中存在多少个下标x,满足A[x]不能整除数组中所有其他元素。 范围:1<=n<=2E5; 1<=A[i]<=1E6 思路:先计数,然后用类似质数筛的方式处理出整除关系,遍历一次统计结果。 #include <bits/stdc++.h> using namespace s 阅读全文

posted @ 2024-03-10 02:02 chenfy27 阅读(11) 评论(0) 推荐(0)

abc153E 杀死怪兽所需的最少魔法

摘要: 题面:cfy正在打体力为H的怪兽,cfy有n种咒语,第i种咒语可以造成A[i]点伤害,但需要花费B[i]点魔法,咒语使用次数不限,当怪兽体力小于等于0时死亡。求杀死怪兽需要的最少魔法。 范围:1<=H<=1E4; 1<=n<=1E3; 1<=A[i],B[i]<=1E4 思路:完全背包的变形,记dp 阅读全文

posted @ 2024-03-10 01:21 chenfy27 阅读(23) 评论(0) 推荐(0)