Loading

上一页 1 ··· 4 5 6 7 8
摘要: 【模板】最近公共祖先(LCA) 题意 给一个树,然后多次询问(a,b)的LCA 模板(主要参考一些大佬的模板) cpp include //自己的2点:树的邻接链表(静态)表示; lca 的倍增算法 //优化 log[] const int maxn=500010; int N,M,S;//S根节点 阅读全文
posted @ 2018-08-24 22:28 fridayfang 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 689D Friends and Subsequences 题意: 大致跟之前题目一样,用ST表维护a[]区间max,b[]区间min,找出多少对(l,r)使得maxa(l,r) == minb(l,r) 切题的感觉很爽唉 同样而二分查找,找最小和最大下标满足条件 cf中%I64d, 一般是%lld 阅读全文
posted @ 2018-08-24 01:31 fridayfang 阅读(227) 评论(0) 推荐(0) 编辑
摘要: Assignment 题意 一段长度为n的区间,选取一段连续子区间满足要求子区间的max min const int maxn=1e5+10; int stmin[maxn][17]; int stmax[maxn][17]; int a[maxn]; int T,n,k; void build() 阅读全文
posted @ 2018-08-24 00:45 fridayfang 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Balanced Lineup ST表的裸题 ST采用倍增和动态规划的思想解决 RMQ问题 初始化:空间复杂度O(nlogn),时间复杂度O(nlogn) 查询一次 O(1);而且这是常数非常小的O(1),而不是像线段树这种毒瘤数据结构(常数非常大) 最近做一道题,ST表和线段树如果算时间复杂度都能 阅读全文
posted @ 2018-08-23 22:18 fridayfang 阅读(112) 评论(0) 推荐(0) 编辑
摘要: The Embarrassed Cryptographer 题意 给一个两个素数乘积(1e100)K, 给以个数L(1e6), 判断K的两个素数是不是都大于L 题解 对于这么大的范围,素数肯定是要打表(可采用埃筛,欧拉筛,莫比乌斯筛);这里有别人 "模板" 简单的想法是遍历表中 typedef lo 阅读全文
posted @ 2018-08-21 21:29 fridayfang 阅读(142) 评论(0) 推荐(0) 编辑
摘要: Crashing Robots 题意 模拟多个机器人在四个方向的移动,检测crash robot, crash wall, OK这些状态 这是个模拟题需要注意几点: 理解转变方向后移动多少米,和转动方向多少次的区别,这里后一种,在于自己审题 crash robot 需要 代码(自己写的比较乱) 阅读全文
posted @ 2018-08-20 21:18 fridayfang 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意 排成一排的石子,每次合并相邻两堆并由一定的代价,求合并成一堆的最小代价 解法 区间dp 枚举长度 dp[i,j]表示合并石子堆编号从i到j为一堆所需的最小代价(这个题目的代价是sum(i..j)) dp[i,j]=min(dp[i,k]+dp[k+1,j]+sum(i...j)) 代码 int 阅读全文
posted @ 2018-08-17 21:43 fridayfang 阅读(99) 评论(0) 推荐(0) 编辑
摘要: P1004 题意 类似一个比较小的方格(NB的路径经过的点加上该点代表的数,求两次A B的最大解(最优解) 一个令人恼的问题是两条路径如果有重合点,那么势必回算两次,所以是不合题意的。而先得一次的最大解,并不一定是两次的最优解 这里可以控制两条路径dp[i][j][k][l],(i,j),(k,l) 阅读全文
posted @ 2018-08-12 22:37 fridayfang 阅读(112) 评论(0) 推荐(0) 编辑
摘要: P1003 题意 经过多个矩形(1e3)覆盖后后某个坐标属于那个矩形(仅仅是一次询问) 大水题,直接的做法,从后向前处理矩形是否覆盖查询的点,若覆盖,则是该矩形编号 题解 阅读全文
posted @ 2018-08-12 20:29 fridayfang 阅读(98) 评论(0) 推荐(0) 编辑
摘要: p1002 题意: 从坐标A到坐标B的可能路线(有一些点不能走)情况,很明显可以看出用dp做 m "i][j]=m[i 1][j]+m[i][j 1" 自己在初始化时犯了错,第1行/第1列有一个点不能走,则后面的点都不能走 教训是分析初始化和dp式子特殊到一般化的关系 代码 void dp(int 阅读全文
posted @ 2018-08-12 17:17 fridayfang 阅读(76) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8