摘要: 题目链接:https://ac.nowcoder.com/acm/contest/888/A 题目大意:问有多少个全1的子矩形,且该矩形不会被另外一个全1子矩形覆盖。 解题报告: 参考博客:https://blog.csdn.net/ccsu_cat/article/details/99087362 阅读全文
posted @ 2019-08-14 14:31 wuliking 阅读(155) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/883/A 题目大意: 给出一个无向图和m条边,处理Q个询问 对于1 x y,将边序号为x到y的边反转,如果存在这条边则删除,不存在则增加。 对于2 x y,回答与点x直接相连的点集是否与y直接相连的点集是否相同,是则 阅读全文
posted @ 2019-08-12 19:36 wuliking 阅读(195) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/882/E 题目大意&解题报告: 参考这篇博客,讲的很详细。 AC代码: 1 #include<bits/stdc++.h> 2 #define numm ch-48 3 #define pd putchar(' ') 阅读全文
posted @ 2019-08-12 00:21 wuliking 阅读(183) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/882/D 题目大意:给出一个无向图,让你求第k小的完全子图 解题报告: 考虑什么情况下,i点可插入。 由于完全子图的性质,当前状态应当真包含和 i 相连的边,对于i的判断可以用bitset,轻松完成状态的转移。但是这 阅读全文
posted @ 2019-08-11 21:04 wuliking 阅读(165) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/881/H 题目大意:给定n个整数,求满足子集异或和为0的子集大小之和。 解题报告: 先把n个数分成两部分,线性基外与线性基内 1. 对n个数试着插入线性基,如果不能插入,证明它能被线性基内的数异或得到,即这个数的贡献 阅读全文
posted @ 2019-08-10 10:11 wuliking 阅读(214) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/886/D 题目大意: 将N个数放入K个相同大小的箱子中,每一个箱子装的数的和都不能超过它的大小,求满足这个要求的最小容积。 AC代码: 1 #include<bits/stdc++.h> 2 #define numm 阅读全文
posted @ 2019-08-05 16:18 wuliking 阅读(222) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/885/H 题目大意: 给定n,m,表示原字符串长度为n,以及m*(m-1)/2个数据,每个数据第一行是两个小写字母和原字符串中包含这两个字母的总长度,第二行是按原字符串两个字母的顺序输出,让你求原字符串n,无则输出- 阅读全文
posted @ 2019-08-03 22:50 wuliking 阅读(212) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/886/J 题目大意: 有n个种类的树,每个种类对应m个级别。每个种类升级都需要一定的成本,且当n个种类的等级都达到一个等级时,将获得这个等级的利润,问能获得的最大金额。 解题报告: 学到了新的东西:最小子串和,可以记 阅读全文
posted @ 2019-08-03 22:25 wuliking 阅读(282) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/885/G 题目大意:给一个s串和t串,问s中任意子串(视为正整数),大于t字符串(视为正整数)的总个数。 例如:s:1234, t:13,答案共有9个。 为14,23,24,34,123,124,134,234,12 阅读全文
posted @ 2019-08-01 19:12 wuliking 阅读(240) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.org/problem/P3857 解题报告: 给出一个序列,让你求出异或后有多少种可能的情况。 将给的数插入到线性基中,最后答案即为$(1LL<<res)%2008$,res为线性基的种类数。 AC代码: 1 #include<vector> 2 #i 阅读全文
posted @ 2019-07-30 19:57 wuliking 阅读(152) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.org/problem/P3292 解题报告:看到异或和最大,首先想到线性基,然而是在树上的,就考虑倍增LCA然后暴力插入线性基! AC代码: 1 #include<vector> 2 #include<cstdio> 3 #include<iostre 阅读全文
posted @ 2019-07-30 19:31 wuliking 阅读(169) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.org/problem/P3379 题目大意: 给一棵以s为根的无向树,回答m个询问,回答出a和b最近的公共祖先。 解题报告: 倍增LCA的模板题,用一个数组 f [i] [j]表示i结点的第$2^{j}$个祖先。显然,一个点的祖先是f[i][0],对于 阅读全文
posted @ 2019-07-30 12:11 wuliking 阅读(223) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.org/problem/P4570 题目大意: 给一个序列,在这个序列中选一些数,这些数的魔法值之和要最大,要求这些数中任意几个数的异或和不为0。 解题报告: 贪心法,按魔法值最大的取,如果能插入线性基,就选中这个数。为什么这样选是对的呢,考虑三组数a[ 阅读全文
posted @ 2019-07-29 22:36 wuliking 阅读(197) 评论(0) 推荐(0)
摘要: 题目链接:https://www.luogu.org/problem/P3812 题目大意:给定n个整数(数字可能重复),求在这些数中选取任意个,使得他们的异或和最大 题解:线性基的模板题,直接套模板! AC代码: 1 #include<vector> 2 #include<cstdio> 3 #i 阅读全文
posted @ 2019-07-29 22:05 wuliking 阅读(165) 评论(0) 推荐(0)
摘要: 题目链接:https://vjudge.net/problem/UVA-1218 题目大意:给你一棵无向树,让你求树的最小支配集,但是有一个要求是除最小支配集外剩下的任何一个结点不能同时连接支配集中的两个元素 解题报告:采用树形dp,只需将第一种状态的状态转移方程修改为$dp[i][0] = 1+\ 阅读全文
posted @ 2019-07-29 15:58 wuliking 阅读(231) 评论(0) 推荐(0)
摘要: 题目链接:http://poj.org/problem?id=3659 题目描述: 给你一棵无向树,问你最少选多少个点,可以使选中的点和剩余的所有其他的点都有边相连。 (一个点被选中,它自己和与它相邻的点都算有边相连) 解题报告: 一.贪心( O(n) ) 贪心,随便找一个根,前序遍历树。 然后从叶 阅读全文
posted @ 2019-07-29 15:39 wuliking 阅读(202) 评论(0) 推荐(0)
摘要: 首先看一下三者的定义: 定义1 对于图G=(V,E)来说,最小支配集指的是从V中取尽量少的点组成一个集合,使得对于V中剩余的点都与取出来的点有边相连。也就是说,设V‘是图G的一个支配集,则对于图中的任意一个顶点u,要么属于集合V’,要么与V‘中的顶点相邻。在V’中出去任何元素后V‘不再是支配集,则支 阅读全文
posted @ 2019-07-29 15:31 wuliking 阅读(758) 评论(0) 推荐(0)
摘要: 题目链接:https://ac.nowcoder.com/acm/contest/884/C 题解:枚举a序列中每个点,以当前的点作为最小值,用单调栈找出当前点到左边能达到的第一个比它小的点,找出当前点到右边能达到的第一个比它小的点,然后建立前缀和的线段树。最后,遍历a中n个点,当a[i]小于0时, 阅读全文
posted @ 2019-07-28 23:47 wuliking 阅读(247) 评论(0) 推荐(0)
摘要: AC代码: 语言:C++ 代码长度:1246 运行时间: 8 ms 占用内存:632K 1 #include<bits/stdc++.h> 2 #define numm ch-48 3 #define pd putchar(' ') 4 #define pn putchar('\n') 5 #def 阅读全文
posted @ 2019-07-27 18:54 wuliking 阅读(182) 评论(0) 推荐(0)
摘要: 先任意取一个人的位置,spfa一遍找最远的另一个人的点,然后再从另一个人的位置开始再进行一边spfa 求得的最远路径即为这n个人在这棵树中的直径ans,ans/2向上取整即为答案 AC代码: 语言:C++ 代码长度:1964 运行时间: 38 ms 占用内存:4192K 1 #include<vec 阅读全文
posted @ 2019-07-27 17:46 wuliking 阅读(196) 评论(0) 推荐(0)
摘要: 代码已注释 AC代码: 语言:C++ 代码长度:2117 运行时间: 32 ms 占用内存:4572K 1 #include<bits/stdc++.h> 2 #define numm ch-48 3 #define pd putchar(' ') 4 #define pn putchar('\n' 阅读全文
posted @ 2019-07-26 23:36 wuliking 阅读(166) 评论(0) 推荐(0)
摘要: 将'0'看成-1,'1'看成1,记录前缀和,用一个桶记录当前前缀和最小出现的下标,之后再次出现该值,说明这段长度中0,1的数量相等。 AC代码: 语言:C++ 代码长度:1394 运行时间: 4 ms 占用内存:1244K 1 #include<bits/stdc++.h> 2 #define nu 阅读全文
posted @ 2019-07-26 21:40 wuliking 阅读(150) 评论(0) 推荐(0)
摘要: 代码里面已经注释,复杂度可看成O($n^{3}$) AC代码: 1 #include<bits/stdc++.h> 2 #define numm ch-48 3 #define pd putchar(' ') 4 #define pn putchar('\n') 5 #define pb push_ 阅读全文
posted @ 2019-07-26 21:32 wuliking 阅读(218) 评论(0) 推荐(0)
摘要: 若a*b≡1(mod p) 即a,b互为mod p意义下的逆元 即(x/a)%p应为x*b%p 一、扩展欧几里得求逆元 根据a*b+p*k=1 板子O(logN): 1 #include<bits/stdc++.h> 2 typedef long long ll; 3 ll exgcd(ll a,l 阅读全文
posted @ 2019-07-25 23:35 wuliking 阅读(4897) 评论(0) 推荐(1)
摘要: 链接:https://ac.nowcoder.com/acm/contest/881/J来源:牛客网 题目大意:给出x,a,y,b四个数,让你比较$\frac{x}{a}$和$\frac{y}{b}$的大小,其中$0\leq x,y\leq 10^{18},1\leq a,b\leq 10^{9}$ 阅读全文
posted @ 2019-07-24 19:06 wuliking 阅读(263) 评论(0) 推荐(0)
摘要: 链接:https://ac.nowcoder.com/acm/contest/881/B来源:牛客网 题目大意:有$\frac{1}{\pi }\int_{0}^{\infty }\frac{1}{1^{2}+x^{2}}dx=\frac{\pi }{2}$,给一个序列$a_{1},a_{2},.. 阅读全文
posted @ 2019-07-24 16:15 wuliking 阅读(246) 评论(0) 推荐(0)
摘要: 链接:https://ac.nowcoder.com/acm/contest/881/E来源:牛客网 题目大意:求长度为2*(n+m)的字符串数量,要求满足其中有n个'AB'子串,m个'BA'子串。 例如: 给出n=1,m=2的合法序列: ABABAB ABABBA ABBAAB ABBABA AB 阅读全文
posted @ 2019-07-23 23:43 wuliking 阅读(363) 评论(0) 推荐(0)
摘要: 时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld 链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v ea 阅读全文
posted @ 2019-07-23 14:54 wuliking 阅读(190) 评论(0) 推荐(0)
摘要: 因为数组大小debug了好久...因为i+1,所以最后要返回50001 阅读全文
posted @ 2019-07-17 18:49 wuliking 阅读(176) 评论(0) 推荐(0)
摘要: 一道莫队的裸题,数据是题目1972《HH的项链》的弱化版 题意:给定一组序列,含n个数,在给定的m个询问中回答区间l到r含多少个不同的数 题解:先将序列中的数离散化成1-n的数,然后采用离线莫队 阅读全文
posted @ 2019-07-17 16:23 wuliking 阅读(226) 评论(0) 推荐(0)
摘要: 题意: 对给定的序列,回答m个询问,Q:询问l到r中不同的颜色数量,R:将下标为x的颜色改为y 题解: 带修莫队,相对普通的莫队,加多了一个关键字排序 阅读全文
posted @ 2019-07-17 16:23 wuliking 阅读(272) 评论(0) 推荐(0)
摘要: 因为没打优化,比打了优化的SAP算法慢了很多,超时了。 阅读全文
posted @ 2019-07-17 15:21 wuliking 阅读(211) 评论(0) 推荐(0)
摘要: 直接上代码 阅读全文
posted @ 2019-07-17 13:50 wuliking 阅读(309) 评论(0) 推荐(0)
摘要: EK算法为最短增广路算法,具体步骤: 1)初始化网络中所有边的容量 c < u , v > 为该边的容量,同时反向边 c < v , u > 为0,初始化最大流为0。 2)在残留网络中找一条从源S到汇T的增广路p。如果能找到,转步骤(3);如果不能找到,则转步骤(5)。 3)在增广路p中找到所谓的“ 阅读全文
posted @ 2019-07-17 11:10 wuliking 阅读(476) 评论(0) 推荐(0)
摘要: 题目链接:传送门 题意: 对题目中给定的si,ni,gi,ki,和一个给定的序列S[1....N],如果格式为(si,ni,gt,ki),意思就是新增一约束条件S[si]+S[si+1]+...S[si+ni]>ki,如果格式为(si,ni,lt,ki),意思就是新增一约束条件S[si]+S[si+ 阅读全文
posted @ 2019-07-16 13:03 wuliking 阅读(281) 评论(0) 推荐(0)
摘要: 题目链接:传送门 题意&题解: 1. 数从1-n排列,可以列出d[i]<=d[i+1] , 即为d[i]-d[i+1]<=0,可建立 i+1 到 i 的有向边,权值为0 2. 给出ML行 A,B和N,表示a和b的距离不能超过N,可以列出 d[B]-d[A]<=D, 即为 d[B]-d[A]<= D, 阅读全文
posted @ 2019-07-16 12:46 wuliking 阅读(305) 评论(0) 推荐(0)
摘要: 题目链接:传送门 题意: 有N个农田以及M条路,给出M条路的长度以及路的方向(对树的建立没有影响,最终还是一棵树),让你找到一条 两农田(任意的)间的路径,使得距离最长,并输出最长距离。 题解: 就是求树的直径 1. 先以任意点为起始点,bfs找到最远的s 2. 以s为起点,bfs找到最远的t,求得 阅读全文
posted @ 2019-07-16 12:21 wuliking 阅读(190) 评论(0) 推荐(0)
摘要: #include #include #include #include #include #include using namespace std; typedef long long LL; const int maxn = 1e6+5; LL n; LL get_Euler(LL x){ LL res = x; ///初始值 for(LL i = 2LL; i ... 阅读全文
posted @ 2019-07-10 10:02 wuliking 阅读(147) 评论(0) 推荐(0)
摘要: 朱流算法,模板里的图存储方法是结构体 阅读全文
posted @ 2019-06-07 16:51 wuliking 阅读(189) 评论(0) 推荐(0)
摘要: 线段树模板 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #define pn putchar('\n') 阅读全文
posted @ 2019-05-06 17:52 wuliking 阅读(141) 评论(0) 推荐(0)