Loading

随笔分类 -  ACM题解

摘要:给你一个字符串s,共有q次操作,每个都是下面两种形式的一种。 1 i c:这个操作表示将字符串s的第i项变为字符c 2 l r y:这个操作表示输出字符串y在字符串s中以第l项为起点,以第r项为终点的子串(包括第l和第r项)中作为子串出现的次数。 考虑到有修改操作,跑KMP必然是不行的。 因此考虑暴 阅读全文
posted @ 2020-07-15 19:38 MQFLLY 阅读(160) 评论(0) 推荐(0)
摘要:B.Boundary 给定一个二维平面,以及n个点,求一个过圆心的圆,问最多有多少个点在圆上。 思路: 枚举C (n,2) 个点 ,从而得到圆心。若在在一个圆上,必然圆心也是同一个,圆心同一个也必在圆上。 要注意,枚举一个循环就计算一次,否则两次再算要考虑容斥,太麻烦了。 #include<iost 阅读全文
posted @ 2020-07-13 22:26 MQFLLY 阅读(185) 评论(0) 推荐(0)
摘要:Tire 是一种用于实现字符串快速检索的多叉树结构。Tire的每个节点都拥有若干个字符指针,若在插入或检索字符串时扫描到一个字符c,就沿着当前节点的c字符指针,走向该指针指向的方向。 基本操作: int trie[SIZE][26], tot = 1; bool End[SIZE]; void in 阅读全文
posted @ 2020-07-13 10:43 MQFLLY 阅读(134) 评论(0) 推荐(0)
摘要:有n个盒子,每个盒子里面有一个披萨,现在进行m次放回的等概率拿取,若某一次拿到的盒子里有披萨就拿走披萨,但是空盒子仍然放回,问最后拿到披萨数目的期望数 由于正向考虑需要计算放回 ,故反向考虑 。 对于每个盒子而言,m次操作不被选中的概率是 (1 - 1/ n ) ^ m ,对于每个盒子而言,m次操作 阅读全文
posted @ 2020-07-11 00:36 MQFLLY 阅读(124) 评论(0) 推荐(0)
摘要:目标到达n,每次可以选择 *2,*3,或者 +1 问最少步数。 Solution 1 : 裸的的BFS ,可惜若对T组数据每次都memset会超时。 考虑离线做法。直接BFS出所有结点,存入答案。 #include<bits/stdc++.h> using namespace std; const 阅读全文
posted @ 2020-07-09 10:19 MQFLLY 阅读(352) 评论(0) 推荐(0)
摘要:有N个学生决定去看电影,途中有M个守卫。 学生的运行速度每秒1米,若途中正好到达守卫的地方则会停止。 守卫的作用时间只与客观时间有关。 [L,R) 下面给出M个询问,每个询问代表一个学生出发时的时间。 问该学生最终位置(可能是正无穷,输出-1) 分析: 假设学生开始的时间是0,则若 X 在区间内,则 阅读全文
posted @ 2020-07-09 09:22 MQFLLY 阅读(340) 评论(2) 推荐(1)
摘要:题意:f[1]=a,f[2]=b,f[i]=f[i-1]+2*f[i-2]+i^4(I>=3),求f[n]%mod 明显的矩阵快速幂。 这是我一开始的矩阵 这是结果的 还是太年轻了 struct Mat { ll m[7][7]; }; Mat E; Mat P; void init() { for 阅读全文
posted @ 2020-07-04 18:37 MQFLLY 阅读(141) 评论(0) 推荐(0)
摘要:你在起点面对n扇门,每次等概率的选择一扇门,若这扇门是数字,花费Xi直接到达终点否则花费Xi回到起点。 这题很有思考价值。 设期望时间为E。 有E = 1/n * (Xi ) + 1/n * (E + Xi) 最后求解E即可。 ll gcd(ll a, ll b) { return b == 0 ? 阅读全文
posted @ 2020-07-04 18:25 MQFLLY 阅读(158) 评论(0) 推荐(0)
摘要:回忆 HDU 4135 经典题 Co-Prime 求[a,b]区间与给定素数p互质的个数。 将p质因数分解后容斥即可。 原理就是质因数的倍数就是与p不互素的数。 此题的写法: ll p[maxn]; int cnt; ll n; void init(ll m) { for (int i = 2; i 阅读全文
posted @ 2020-07-03 23:31 MQFLLY 阅读(159) 评论(0) 推荐(0)
摘要:若能根据关系 推出转移矩阵 就是简单题 然而这需要多做题的经验 ll Ax, Ay, A0, B0 ,Bx,By; struct Mat { ll m[5][5]; }; Mat E; Mat P; void init() { for (int i = 0; i < 5; i++) E.m[i][i 阅读全文
posted @ 2020-07-03 15:54 MQFLLY 阅读(136) 评论(0) 推荐(0)
摘要:给出一个整数N 每次可以在不超过N的素数中随机选择以个P, 如果P是N的约数,则把N变成N/P ,否则N不变 。 问平均状况下需要多少次随机选择才能把N变为1 ? N<=1e6 int prime[maxn]; int vis[maxn]; double f[maxn]; int euler_sie 阅读全文
posted @ 2020-07-02 21:56 MQFLLY 阅读(160) 评论(0) 推荐(0)
摘要:给定N,A,B N个盒子,A个红球,B个蓝球 。 可以随便放进盒子里。(可以不放) 问有几种放法。 放法 = A的方法 * B的放法 A 的放法 = C(N,1) + C(N+1,2) +..... B的放法同理 注意开ull long long C[40][40]; void get_C(int 阅读全文
posted @ 2020-07-02 18:06 MQFLLY 阅读(139) 评论(0) 推荐(0)
摘要:int prime[maxn], prime_tot; int is_prime[maxn]; int mu[maxn]; void pre_calc(int lim) { mu[1] = 1; for (int i = 2; i <= lim; i++) { if (!is_prime[i]) { 阅读全文
posted @ 2020-06-30 19:25 MQFLLY 阅读(225) 评论(0) 推荐(0)
摘要:有k只麻球,每只活一天就会死亡临死前可能产生新的麻球。产生i个麻球的概率为P(i) 。给定m,问m天后所有麻球均死亡的概率。不足m天时全死亡的情况也算在内。 对此类概率问题。应掌握一定的套路。 由于每只麻球独立存活,只需求出一开始1只麻球,m天后全部死亡的概率为f(m) 。由全概率公式 f(i) = 阅读全文
posted @ 2020-06-27 14:05 MQFLLY 阅读(184) 评论(0) 推荐(0)
摘要:A: 现有两种购物方式 1.花单价a元购买 2.花c元购买b个物品 给出数据后问 1.购买多少个物品可以使得用方式1的花费严格小于方式2 2.购买多少个物品可以使得用方式2的花费严格小于方式1 若不存在输出-1 直接贪心 由于b>=2 ,购买一个必然是最优,如果这都不行那更大也不行 第二个询问也是同 阅读全文
posted @ 2020-06-26 22:26 MQFLLY 阅读(279) 评论(0) 推荐(0)
摘要:题意: 某个系统中有n个子系统和m个bug类型,该系统每天会出现一个bug (属于某个子系统和某个bug类型),bug的类型是等概率的,bug也是等概率地出现在每个子系统的。问所有子系统都出现bug且所有的bug类型都出现的期望天数。 Input file contains two integer 阅读全文
posted @ 2020-06-26 17:56 MQFLLY 阅读(132) 评论(0) 推荐(0)
摘要:给出n-1 个ai,i = 2 ~ n ,可以认为a1 = 1~n-1 问对每个i,输出最后y的大小 。 其中操作循环为 1. x+a[x] , y+ a[x] 2. x- a[x] , y+a[x] 。 退出条件为x>n 或 x<0 明显是记忆化搜素, 需要记忆操作的方向 。可以借助y每次总是+a 阅读全文
posted @ 2020-06-26 12:37 MQFLLY 阅读(163) 评论(0) 推荐(0)
摘要:题意:给出N个物品及每次获得第i个物品的概率 问获得所有物品的次数的期望、 从简单考虑 若只有一个物品 获得一个物品的期望是1/p (1/p * p = 1) 这样可以推理得到 E1 = 1 / p1 , E2 = 1/ p2 , E12 = 1 / (p1+p2) (即获得第一个物品或第二个物品的 阅读全文
posted @ 2020-06-25 20:46 MQFLLY 阅读(148) 评论(0) 推荐(0)
摘要:给定N个学生的初试成绩,老师会给第x个学生到第y个学生加z分。问最终学生成绩最小的是多少。 直接差分,最后一个点一直MLE,最后百度出JAVA读入优化过了 import java.math.BigInteger; import java.io.BufferedReader; import java. 阅读全文
posted @ 2020-06-25 01:20 MQFLLY 阅读(344) 评论(0) 推荐(0)
摘要:所谓的三分套三分 , 题意RT #include<iostream> #include<algorithm> #include<fstream> #include<string> #include<cmath> #include<cstring> #include<vector> #include< 阅读全文
posted @ 2020-05-31 20:13 MQFLLY 阅读(230) 评论(0) 推荐(0)