上一页 1 ··· 9 10 11 12 13 14 下一页
摘要: 总算搞定了这一场比赛的题目,感觉收获蛮大 其中A,B,C都能通过自己的思考解决掉 D题思路好神,E题仔细想想也能想出来 以后坚持每两天或者一天做一场CF的div1的全套题目 除非有实在无法做出来的题目,每道题目还是都要写题解的 (我这算不算立flag? 本蒟蒻写的题解的链接: A:http://ww 阅读全文
posted @ 2016-04-04 21:22 _Vertical 阅读(191) 评论(2) 推荐(1) 编辑
摘要: 挺简单的题目,但是有一堆恶心的边界 在刨去恶心的边界之后: 假定我们知道两边的循环节为b1,b2 其中h第一次到达目标的时间为a1,a2 又知道对于答案t t=a1+b1*t1=a2+b2*t2 不妨枚举t1,判断是否存在可行解即可 又因为LCM(b1,b2)就开始循环了 且b1*b2<=b1*mo 阅读全文
posted @ 2016-04-04 21:16 _Vertical 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 跟之前做过的51Nod的移数博弈是一样的QAQ 我们考虑每个数的贡献 定义其左边第一个比他小的数的位置为L 定义其右边第一个比他小的数的位置为R 这个可以用排序+链表 或者 单调队列 搞定 那么对于区间长度1->(R-L-1),该数都可以作为最小值出现 我们在R-L-1上打上标记,最后从后往前来更新 阅读全文
posted @ 2016-04-04 21:09 _Vertical 阅读(399) 评论(3) 推荐(0) 编辑
摘要: 首先我们注意到ai<=50w 因为2*3*5*7*11*13*17=510510 所以其最多含有6个质因子 我们将每个数的贡献分离, 添加就等于加上了跟这个数相关的互素对 删除就等于减去了跟这个数相关的互素对 问题转化为了求跟某个数相关的互素对的数目 我们可以用容斥来解决 即加上至少跟这个数有0个公 阅读全文
posted @ 2016-04-04 21:05 _Vertical 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 正解貌似是大暴搜? 首先我们考虑这是一个二分图,建立网络流模型后很容易得出一个算法 S->行 容量为Num[X]/2; 行->列 容量为1 且要求(x,y)这个点存在 列->T 容量为Num[Y]/2 这样子跑网络流之后我们就得到了一组解 但是我们考虑输出方案 对于每一行,如果Num[X]为偶数,那 阅读全文
posted @ 2016-04-04 20:56 _Vertical 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 原问题可以转化为:给定第k个字符串,求它在L-R的字符串里作为子串出现了多少次 定义子串为字符串的某个前缀的某个后缀(废话) 等价于我们把一个字符串插入到trie里,其过程中每个经过的节点和其向上的fail链上的点都是该字符串的子串 又因为对于一条fail链,u向上能访问到v当前仅当u在v的子树内 阅读全文
posted @ 2016-04-04 20:45 _Vertical 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 首先我们知道我们要求的是使得最大值最小,显然是要二分的 我们先对原串建出后缀自动机 之后二分答案是第k小的字符串 对于答案可行性的判定: 我们注意到对于每一个区间,其字典序最大的子串一定是区间的某个后缀 那么我们不妨从后往前扫,这样每次只会增加一个后缀 我们只需要判断这个后缀是否比当前答案小就可以了 阅读全文
posted @ 2016-04-04 20:34 _Vertical 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 设(x,y)为Q的查询点,分类讨论如下:1、y>0: 最大化a*x+b*y,维护一个上凸壳三分即可 2、y<0:最大化a*x+b*y 维护一个下凸壳三分即可 我们考虑对时间建出一棵线段树 对于每个区间,如果满了就做出两个凸壳 总时间复杂度是O(n*log^2n) 之后我们考虑查询,每个区间最多被分解 阅读全文
posted @ 2016-04-03 21:06 _Vertical 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 由于样例解释很清晰,所以很容易得到以下结论: 1、每一关都是独立的,且僵尸的相对位置不会变 2、每一关的攻击力=Max(sum(i)/dis(i)) 其实sum(i)是僵尸攻击力的前缀和,dis(i)是距离 然后因为输入是每次在队头添加,所以我们可以把前缀和转换成后缀和 攻击力=Max( (sum_ 阅读全文
posted @ 2016-04-03 20:55 _Vertical 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 求凸函数的极值的一般方法是三分 三分的思想大概是这样的: 例如我们要求下凸函数的极值 在区间[L,R]上, 我们定义m1为区间的第一个三等分点 定义m2为区间的第二个三等分点 设函数值为F(x) 则若F(m1)<F(m2),证明解在[L,m2]中 否则解在[m1,R]中 一般三分的写法是迭代,注意控 阅读全文
posted @ 2016-03-31 21:42 _Vertical 阅读(163) 评论(0) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13 14 下一页