08 2019 档案
摘要:题目链接 用一个差分数组d A能看见B或者是B能看见A (假设A<B)都说明A+1比A矮,B比B-1高,即d[a+1]--,d[b]++ 但为什么不说B-1比B矮呢,这样就是d[a+1]--,d[b-1]--了 我认为啊,因为最后K的高度是要由sigma d[i] 1<=i<=K 加起来的 每次操作
阅读全文
摘要:题目链接 用一个sum[i][j]表示前i行前j列所有元素之和 当i>=x&&j>=y时,我们可以在前i行前j列找到满足大小的矩阵 由于我们i和j是从小到大找,所以每次找以a[i][j]作为右下角的目标矩阵来作比较 这样就能不重不漏了 题目代码
阅读全文
摘要:题目链接 n对新娘新郎有m个新郎找错了 也就是说有n-m对新娘新郎找对了,然后有m对新娘新郎错排 所以预处理算一下组合数和错排 然后c[n,n-m]*d[m]就行了 题目代码 注意开long long 哦
阅读全文
摘要:题目链接 题目要你求sigma gcd(i,N) 1<=i<=N 首先要知道一个式子gcd(i,N)=p => gcd(i/p,N/p)=1 以N=12举例 gcd=1的个数就是与12互质的数字的个数,也就是12的欧拉函数值,12与1,5,7,11的gcd gcd=2的个数包含了12/2=6的欧拉函
阅读全文
摘要:题目链接 计算gcd(x,y)为素数的(x,y)有多少对 首先有一个必要的式子,gcd(x,y)=素数p => gcd(x/p,y/p)=1 所以若y>x,在确定y的情况下,所有满足与y/p互质的数的个数,即y/p的欧拉函数值 所以我们可以先筛一遍欧拉函数,并求前缀和,方便之后使用 这样sum[n/
阅读全文
摘要:题目链接 这道题可以发现一个规律,那就是牌x的位置 f[x]=x*2^m%(n+1)=l 也就是x*2^m≡l mod(n+1) 2^m与(n/2+1)^m在mod n+1 条件下互为逆元 所以x≡l*(n/2+1)^m 我们知道l,n,m,所以反手就是一个快速幂 不过这道题很坑,要用到快速乘,不然
阅读全文
摘要:题目链接 由题意得 ans+d≡p mod23 ans+d≡e mod28 ans+d≡i mod33 然后套模板就可以过了 题目代码
阅读全文
摘要:题目链接 找出2-n的所有欧拉函数值相加就能得到答案 不过多亏了这道题没卡时 题目代码
阅读全文
摘要:题目链接 题目含义 找出一个数最大素数因子的序号 题目分析 我们可以在筛素数的同时,用这个素数标记它的倍数,说明这些倍数一定有它这个素数因子 这样筛一遍下来,一个数大的素数因子就会覆盖它小的素数因子 题目代码
阅读全文
摘要:题目链接 A/B≡x mod 9973 要我们求出这个x 转换式子就是 A/B=x+9973*k A/B=x+9973*k 因为B整除A,所以A=B*X+9973*k*B 取模得到 A-B*x≡0 mod 9973 => n-B*x≡0 x显然在0-9972,遍历一下就能找到最小的x了 题目代码
阅读全文
摘要:题目链接 题目含义 给出一串数以及m 要求删除m个数后,让剩下的一串数组成的整数最小 题目分析 首先,通过案例可以发现一个规律 在满足留下足够的数字的条件下, 剩下的第一个数一定是能取得的最小的数 (也可能是0) 所以我们先通过ST表找出每个区间的最小数字 然后在满足至少留有len-1个数字的情况下
阅读全文
摘要:题目链接 用一个倍增来做 首先得到前缀和数组sum 然后从1-n遍历起点,如果sum[k+p]-sum[p]满足,p<<=1,否则p>>=1最后得到一个最小的长度 题目代码 要注意让k不要越界
阅读全文
摘要:两道简单的素数题 第一道 题目链接 简单的筛一下素数,然后模拟就行了 题目代码 #include<stdio.h> #include<iostream> #include<string.h> using namespace std; typedef long long LL; const int m
阅读全文
摘要:题目链接 题目含义 有一个有向图,每个点都有点权,每条边也都有边权 然后有头牛要从任一点出发,经过至少两个点后回到原点,即走一个环 问经过的sigma点权/sigma边权最大是多少 题目分析 最开始没想出来,看了网上说用SPFA判负环也有点不明白 因为不是说每个点的点权只得到一次吗,SPFA是怎么处
阅读全文
摘要:题目链接 题目含义 寻找k个钻石,使得sigmaVi/sigmaWi最大,然后输出这些钻石的序号 题目分析 若使sigmaVi/sigmaWi取得最大值,那么取任意k个钻石的答案ans ans<=sigmaVi/sigmaWi 转换一下就是 sigmaVi-sigmaWi*ans>=0 再转换一下就
阅读全文
摘要:题目链接 题目含义 去掉k个测试,让sigmaAi / sigmaBi最大 题目分析 若sigmaAi/sigmaBi取得最大 那么任意去除k个成绩,取得的答案ans<=sigmaAi/sigmaBi 转换一下就是 sigmaAi-sigmaBi*ans>=0 再转换一下就是 sigma( Ai-B
阅读全文
摘要:题目链接 分析全在纸上,博客上懒得写 我是个蒟蒻,只有源代码
阅读全文
摘要:题目链接 题目含义 对于n只猫,现在我们有g,e,s三种操作 g是让第a只猫得到一个花生 e是让第a只猫的花生全部没有 s是让第a只猫和第b只猫的花生互换 一共有K次操作,这还不算完 要我们重复m次这些操作后,得出的每只猫的花生个数 题目分析 如果不用重复m次操作的话,这道题可以说十分简单 但如果要
阅读全文
摘要:HDU2222 HDU5384 两道AC自动机模板题 不过一道是被包含模式串的个数,一道是模式串出现个数 互相改改就行了
阅读全文
摘要:题目链接 题目不仅要求是回文子串,还要求从左边到中间,升高递增 这怎么办呢,让我们插入相邻两个身高之间的数,数值在这两个数之间? 也许可以,但太麻烦了 在while循环加入res[i-p[i]]<=res[i-p[i]+2] 这样如果i-p[i]是身高值的话,满足递增 如果是插入值的话,又是等于,满
阅读全文
摘要:题目链接 马拉车模板题 题目代码
阅读全文
摘要:题目链接 从没遇到过这样的题,居然不给字符串的个数 输出前缀的方法也没见过 就是string一个空字符串,然后用string类的加法 思路倒是很简单,建字典树,每一个字符串的每一个字符sum++ 如果sum==1说明这个字符只有你经过,没有和其他字符串重叠,那就可以 题目代码
阅读全文
摘要:题目链接 当模式串j达到len时表示匹配到了一个 这时候将j=next[j]代表着把j移到整个模式串最长前缀后缀,这样可以保证j以上next[j]个字符一定是匹配的 然后继续寻找就能得到答案 题目代码
阅读全文
摘要:题目链接 模式串匹配模板题 题目代码
阅读全文
摘要:题目链接 题目含义 说了一大堆,就是发电站发电,中转站不用电不发电,用户用电,而且每个都有一个电流的限制 问用户们最多能得到多少电 题目分析 用一个超级源头指向所有发电站,最大容量是他们的发电量 将所有用户指向一个终点,最大容量是他们的用电量 于是就变成了一个最简单的最大流 以后遇到类似的题,像这样
阅读全文
摘要:题目链接 模板题练练手 题目代码 要建反向边,记得结构数大小乘二哦
阅读全文
摘要:题目链接 题目含义 有一个机器人比赛,只要a能打败b,b能打败c,a就一定能打败c 然后给出一堆比赛的结果,如果不能得到唯一的所有的机器人战力排名,就输出-1 如果可以的话,最少能用前几场比赛结果能得到,输出这个最少的比赛次数 题目分析 使用拓扑排序,如果出队数不等于机器人数或者某一时刻队列有两个及
阅读全文
摘要:题目链接 题目含义 给出很多一对数,代表这两个人认识 要你将这些人分成两堆,一堆中的人互不认识(就是判定无负环) 如果可以的话,问最大匹配 题目分析 二分图染色模板题 注意这里二分代表的两个集合都是n个学生,如果你建双向边,最后最大匹配数要除2 题目代码
阅读全文
摘要:题目链接 题目含义 两个机器分别有n,m种模式,每个工作需要任一机器达到某个模式,问最少要变换几次模式 题目分析 将两个机器的n,m种模式作为二分图的两个集合,每个工作代表之间的一条线 题目可以化为求能覆盖所有边的最少点(取a或b的点都可以) 然后根据定理,可以转化成求最大匹配 注意,当工作需要机器
阅读全文
摘要:题目链接 题目含义 每门课有几名同学参加,要求每门课选一个代表,当然代表只能由参加这门课的学生中选,并且一个人只能当一门课的代表 题目分析 二分图匹配,是课程去找一个同学与它匹配,如果每门课都匹配上了就输出yes,否则no 题目代码
阅读全文
摘要:题目链接 题目含义 给出一个图,每个强连通图都要寻找一个点 要求寻找的点的价值之和最少,并且问这个最低价值有几种选法 题目分析 使用Tarjan算法,每次找到一个强连通图时出栈,并在出栈过程寻找最低价值的点和这个点的个数 最后把每个强连通图的最低价值加起来,个数都相乘就得到最后答案 有一个需要注意的
阅读全文
摘要:题目链接 题目含义 判断一个图是不是强连通图,即任意两点存在双向通道 题目分析 用Tarjan可以算出这个图中的强连通图有多少个,如果不是1那当然输出No 而如果是1,只能说明有一个强连通子图而不能说明这个图是强连通图,就需要在当dfn[x]==low[x]时,找到这个强连通图所有的点,将他们全部指
阅读全文
摘要:题目链接 题目含义 欧拉欧拉欧拉欧拉欧拉欧拉欧拉 题目分析 只要满足每个节点度数是偶数,并且每个点都连通,那么就一定有欧拉回路 度数在加边就能记录,而连通性用一个并查集就行了 相比其他图论,这真的最简单的了 题目代码
阅读全文

浙公网安备 33010602011771号