09 2019 档案

摘要:愿我成功省一, NEVER AFO。 —————2019.09.25 阅读全文
posted @ 2019-09-25 19:44 3_soon 阅读(93) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:给一个序列a[1],a[2],a[3]...a[n],求其中连续的子序列A[L],A[L+1],...,A[R],使其权值 W(L,R)=(R-L+1)×gcd(A[L],...,A[R])最大。 思路: 简单的一个分治思想。 先想想线段树里询问怎么做的? 是不是把这个区间从中间砍开。 阅读全文
posted @ 2019-09-17 19:05 3_soon 阅读(228) 评论(0) 推荐(1) 编辑
摘要:传送门 首先分析问题,我们要求出所有的子矩形,不妨考虑以每一点为右下角的子矩形的个数,加起来正好就是总的子矩形数了。 然后考虑每一个点为左下角时的方案数,我们考虑每在它左上的点是否可以作为矩形的左上角。 如图 01111 11011 10111 10111 1111X 我们考虑以X为子矩形右下角的的 阅读全文
posted @ 2019-09-16 21:43 3_soon 阅读(141) 评论(0) 推荐(0) 编辑
摘要:传送门 老早以前做的题,出了点小锅一直没修,今天突然来了兴致 于是 修了下。。。。。。 大概就是按原顺序编号,然后把编号丢到第二个序列中,求遍逆序对(这里用树状数组求)。 而关于存人名的问题 >map 1 #include<bits/stdc++.h> 2 using namespace std; 阅读全文
posted @ 2019-09-16 21:38 3_soon 阅读(110) 评论(0) 推荐(0) 编辑
摘要:传送门 就是一道LCA的应用; 不过重点(个人观点,勿喷)在于 想到这条{最长的边最小值}的路径在MST(最小生成树)上; 想到这一点之后,基本就会了。 还有第二个小问题,怎么lca求路径最大值。 ( 思 考 空 间 ) ANS:蛮simple的,只要在跳lca的时候记录最大值就可以了。 代码: 1 阅读全文
posted @ 2019-09-15 18:33 3_soon 阅读(92) 评论(0) 推荐(0) 编辑
摘要:传送门 简单题意:给n个点m条边无向图,每次询问两个点之间是否有长度为d的路径(不一定是简单路径)。即可以重复走一条边。 思路: 蛮水的叭。我们知道路径可以重复走,所以只要找到一条和d奇偶性相同的最短路,就可以做到了。 因为可以在一条边上不停来来回回,也就是在最短路上加上了一个偶数-->偶数大小任意 阅读全文
posted @ 2019-09-15 17:52 3_soon 阅读(201) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示