摘要: 传送门 离散书里有一个定理,从一个点到另一个点走k条路的方案数,求出邻接矩阵的k次方,最后邻接矩阵的答案就是方案数。 题目说的有问题。 在给定的有向图里,可能存在一个点到另一个点存在多条道路,但是只能算一次。 #include <iostream> #include <cstdio> #includ 阅读全文
posted @ 2020-10-12 14:03 Emcikem 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 传送门 \(\sum_{i = 1} ^ n\sum_{j = i}^n max(a_i, ..., a_j) * gcd(a_i, ... , a_j)\) 对于每一个$a_i$,都有一段区间,表示在这一段区间里,$a_i$是最大的,也就是说,max值是一样的,那么只需要算出这一段区间里的子gcd 阅读全文
posted @ 2020-10-03 16:42 Emcikem 阅读(275) 评论(0) 推荐(1) 编辑
摘要: 传送门 2个操作 $[l,r]$的区间加上$v$ 求$\sum_^rsin(a_i)$ 根据三角函数和差公式 \[ \begin{aligned} \sin (a+\beta) &=\sin \alpha \cos \beta+\cos \alpha \sin \beta \\ \cos (\alp 阅读全文
posted @ 2020-10-03 14:27 Emcikem 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 求$\sum_ ^n \sum_ ^m [g(gcd(i, j)) ⇐ p]$ 其中$g(x)$表示x的质因子个数 阅读全文
posted @ 2020-09-29 18:25 Emcikem 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 给出一个圆锥的半径,高,一个点的坐标和速度矢量,求最小的时间,使得点到达圆锥上 解析几何就需要取设点 圆心在原点的圆锥,半径为$r$,高为$h$ \[ \left\{\begin{array}{l} \frac{h-z}{h}=\frac{R}{r} \\ x^{2}+y^{2}=R^{2} \en 阅读全文
posted @ 2020-09-22 12:15 Emcikem 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在之前一题的基础上加了个条件,也就是说如果当然位置的值是门,那么需要有钥匙才能经过。、 按照前一题的思路,进行状压,设置vis[][][1 << 10]数组,表示当前点以及当前信息是否访问过。 如果说是小写字母,也就是钥匙,就直接把当前状态或运算一下,让当前点继承或后的值,然后加入队列即可 如果说是 阅读全文
posted @ 2020-09-17 13:09 Emcikem 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 传送门 给出一个起点,4个终点,要求从起点出发,每个终点都走到的最短距离 一般来说,如果只有一个终点,那么就直接bfs,但是有4个终点,用状压dp 设置一个vis[N][N][1 << 4]来设置记录 且每一个点存4个变量,x,y,key和step,key表示当前的状压情况 那么不断进行bfs,如果 阅读全文
posted @ 2020-09-15 20:54 Emcikem 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 传送门 给出一个序列,m个查询,每次查询区间是否是$[1, r - l + 1]$的排列 判断是否是排列: 即每个数字只出现一次 区间和是$\frac{n * (n + 1)}{2}$,n是区间长度。 判断每个数字是否只出现一次,可以预处理每个数之和第一次出现这个数字的位置,如果没有那么设置为0,然 阅读全文
posted @ 2020-09-13 16:14 Emcikem 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 长度为$n$,且只有{0,1,2},并且满足$a_{i - 1}*a_{i + 2} ≤ a_^2, i \in[2, n - 1]$ 首先进行打表发现 三个序列里 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 1 0 1 阅读全文
posted @ 2020-09-09 19:37 Emcikem 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 给出n * n的矩阵,矩阵里有一些点存在值,现在有q个查询,查询某些矩阵里值的和 把每次查询拆成前缀和的形式,那么利用二维偏序,对每一个查询求出比自己坐标小的值的和 传送门 园丁的花园就是这个模板,然后在此基础上加了一个螺旋矩阵, 传送门可以O(1)查询某个点的数值 #include <iostre 阅读全文
posted @ 2020-08-30 20:59 Emcikem 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 对于异或来说,某一位的数字1出现的次数如果是奇数次,那么偶数个1就会进行异或变成0,还剩下一个1,那么1无论和几个0进行异或都是1 也就是说只需要计算每一位出现的次数是奇数还是偶数,奇数的话,那么就表示答案该位为1,否则为0 对于每一位的统计, 第k位的贡献值是$\lfloor\frac{a + b 阅读全文
posted @ 2020-08-24 16:02 Emcikem 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 开始刷历年区域赛的题 CCPC2018-Hangzhou B Master of Phi 传送门 积性函数 + 欧拉函数 求$\sum_{d|n}\phi(d)\times \frac \mod 998244353$ 已知$n = \prod_mp_i$带入, 根据公式$$\sum_{d|\prod 阅读全文
posted @ 2020-08-23 21:12 Emcikem 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 传送门 平面最近点对模型 给出平面上n个点,找出其中一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 分治法求 $g(i,j)$就是求区间[i + 1, j]的区间的值,也就是前缀和表示$sum[j] - sum[i]$ 那么转换为$(j - i) ^ 2 + (sum[j] - 阅读全文
posted @ 2020-08-22 19:19 Emcikem 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 分块个数就是交点个数 + 1 那么找到交点个数即可 我们把每一个up或者down看成区间修改,然后对于left或者right看成单点查询 也就是说,每一个up和down进行区间修改 + 1,然后对于每一个left和right进行单点查询,查看交点个数即可 比如这个图,把1 1 U这个当成区间修改,把 阅读全文
posted @ 2020-08-22 15:04 Emcikem 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 有一个消防队英雄,k个消防队成员,进行比赛,消防队英雄到达n个点的最短路的最大值和消防队成员到达n个点的最短路的最大值的C倍进行比较 方法1: 跑一次DIjkstra,从消防队英雄出发,然后跑K次最短路,求出值即可 方法2: 建立辅助点0点,0点到K个消防队成员有一个有向边,然后跑2次最短路,求出最 阅读全文
posted @ 2020-08-16 21:55 Emcikem 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 传送门 第一次独立完成div1的F题,😭,不容易啊,因为数组开小了,导致MLE了,不应该是返回RE吗?cf绝了。。。 题意就是每个人,除了根,有一个上司,也就是一棵树,然后进行分工资,上司的工资必须≥下属的工资 如果说d比价小,那么就直接用树形dp解决 也就是说对于每个点,求出当前点的工资为i时, 阅读全文
posted @ 2020-08-15 19:26 Emcikem 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 给出一个n和k,求$\sum_n ik$ 传送门 当$n \in [1, 106], k \in [1, 106]$时,直接快速幂求即可 当$n \in[1, 109], k \in[1, 106]$时,用拉格朗日插值法 阅读全文
posted @ 2020-08-14 21:36 Emcikem 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 给一个连通块,删除k个块,使得剩下的块还是连通的 因为是一个连通块,直接dfs一次即可,同时记录一下dfs当前的块坐标。 然后转置下坐标的顺序,删除前k个即可 原理: 对于一个点,如果能从这个点进行dfs,那么也就是说,可以从这个点向多个方向走,如果删除这个点,那么可能造成不连通。 但是对于dfs越 阅读全文
posted @ 2020-08-13 22:07 Emcikem 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 面积 传送门 求面积,注意下内存开的很小,因为起点在原点,那么直接记录相邻的两个点,然后点积求面积即可 #include <iostream> #include <cstdio> #include <cstring> #define ll long long using namespace std; 阅读全文
posted @ 2020-08-11 21:06 Emcikem 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 传送门 按理说,在求行列式时,化简成上三角新式,需要除以数字,如果要除以mod,那么肯定会产生逆元 而对于逆元的处理,这里肯定需要保证模是质数。 但对于模是任意数时 不是特别懂,好像是类似gcd的辗转相除法求的 #include <iostream> #include <cstdio> #inclu 阅读全文
posted @ 2020-08-09 14:16 Emcikem 阅读(251) 评论(0) 推荐(0) 编辑