摘要: A Shuffle Hashing 把第二个串从头到尾扫一遍,挨个判断与第一个串长度一样的子串是否合法即可 B . A and B 找找规律,找到第一个前i个数之和大于a,b只差的i,再看看奇偶,讨论一下,+0/+1/+2 前100答案如下 详见代码: C Berry Jam 枚举左边剩几个,求右边 阅读全文
posted @ 2019-12-22 21:27 yanglang 阅读(286) 评论(1) 推荐(0) 编辑
摘要: 交互题 题意:有一个节点x,每次可询问一个节点v到x距离,或者x在一个节点u的哪个儿子的子树中,最多询问36次,找到x节点 题解:链剖,每次找深度最大的重儿子v到x的距离,根据深度可找到v和x的lca,每两次询问可将目标范围缩小一半。 #include <cstdio> #include <cstr 阅读全文
posted @ 2019-12-13 17:19 yanglang 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个n*m的矩阵,求出所有大小为a*b的矩阵的最小值之和。 一句话题解:单调队列+单调队列 #include <cstdio> #include <cstring> #include <iostream> using namespace std; const int N=3005; int 阅读全文
posted @ 2019-12-13 12:31 yanglang 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 倍增加线性基。 线性基开3维,p[i][j]表示从i出发,向上2^i个数的线性基。 查询时类似lca,对这之间的线性基进行合并,得到新的线性基数组a,最后贪心的答案。 倍增的时候对前2i-1个和后2i-1的线性基合并,写的有点复杂... 阅读全文
posted @ 2016-12-19 21:42 yanglang 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1.bzoj 1013 球形空间产生器sphere 最裸的高斯消元,直接套版 设球心坐标为(x1,x2...xn) 那么对于任意两点都可以建立一个方程: (x1-a1)2+(x2-a2)2...+(xn-an)2=(x1-b1)2+(x2-b2)2+...+(xn-bn)2 移项后可得: 2(a1- 阅读全文
posted @ 2016-12-19 16:43 yanglang 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题意:有n天,m个点,每天要从1走到m,一些点有些时段不能到达,保证每天必有一条路能到m,每次更换路线花费k,求最少需要多少花费 此题数据范围很小,随便乱搞。 先跑一个n^2的spfa,求出cost[i][j](第i天到第j天每天的最小花费) 再一个dp就完了: f[i]=min(f[i],f[j] 阅读全文
posted @ 2016-12-12 12:00 yanglang 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题意:有A,B两种纪念券,最初由S元,有n天,每天有A,B的价值并可以以任意比例购买或卖出A,B两券,求最后能剩多少钱。 有一个点很明显,对于每一天,要么全买,要么全卖。 记f(i)为第i天最多能有多少钱,X[i]表示第i天最多能有多少A券,Y[i]为B券 则Y[j]=f[j]/(b[j]+a[j] 阅读全文
posted @ 2016-12-12 11:53 yanglang 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 这题就一个裸的网络流吧,其实也可以用最短路。 主要就是建边的时候注意一下,其他就没有了。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <queue> 5 using namespace std; 阅读全文
posted @ 2016-12-08 21:33 yanglang 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 这题正解基尔霍夫矩阵(本蒟蒻不会) 于是就找规律吧。 前7项答案为 1 5 16 45 121 320 841 其实可以看成 1*1 3*3-4 4*4 7*7-4 11*11 18*18-4 29*29 4=3+1,7=4+3,11=7+4... 就是一个Fibonacci 第一项为1,第二项为3 阅读全文
posted @ 2016-12-08 21:29 yanglang 阅读(189) 评论(0) 推荐(0) 编辑