合集-csdn
摘要:更好的阅读体验? Day 1 性格公交车 每排有两个座位,所以只可能是一个内向的先坐下,然后一个外向的再坐下。同时,要考虑座位的宽度。 不难想到定义一个小根堆和一个大根堆,分别表示内向和外向的人可以坐的座位。开始时,所有座位的宽度放到小根堆里,每次内向的人就选顶部的座位。同时,把这个选择的座位放进大
阅读全文
摘要:〇、注意 本文中的 log \log log 都是以 2 2 2 为底。 一、使用范围 RMQ 是处理区间最值的一种高效算法。 二、算法描述 我们以 数列区间最大值 为例。 很容易想到,直接枚举 [ l , r ] [l,r] [l,r] 求出最大值,时间复杂度为 O ( N M ) O(NM)
阅读全文
摘要:简称:CWC 考得那么差不写总结过不去…… Round 1 \text{Round } 1 Round 1 Score \text{Score} Score 50 + 60 + 100 + 0 + 70 + 3 + 5 = 288 50+60+100+0+70+3+5=288 50+60+100+0
阅读全文
摘要:一、图的定义 单从字面上来看,我们可能会理解为图片,比如: 不好意思放错图了。这些图片都是由千千万万个像素点组成,和我们今天学的图不一样。 其实,图不只有点,它还由一些连接两个点的边组成。所以,点用边连起来就叫图。若我们把图记为 G G G,把点记为 V V V,把边记为 E E E,则 G = (
阅读全文
摘要:Link 一、考试的情况 看完题基本是立马有了思路,然后开始打代码,写了 10 min 10 \min 10min 左右就过了所有样例,就直接放下了。提交时看到只有 80 80 80 分,当时也没怎么留意,觉得肯定有点问题。但郭老师讲这道题的时候随意看了一下自己的代码,发现: 心态崩掉。 二、分
阅读全文
摘要:一、基础 并查集是一种可以动态维护若干个不重叠的集合,并能够支持合并和查询的数据结构。 对于含有包含关系的数据,并查集能很高效地处理。 基本函数: 1。初始化: 每个人的祖先都是它自己。 void Make_Set() { for(int i = 1;i <= n; ++i) fa[i] = i;
阅读全文
摘要:var code = "e1e9ecba-71a4-4954-8419-e6e71c6123d4" 树: 存储: struct node { int father, child[Maxn], len; } Tree[Maxn]; 查找根节点: for(int i = 1;i <= n; ++i) i
阅读全文
摘要:一、定义: 区间dp是这样的一种动规:定义 d p [ i ] [ j ] dp[i][j] dp[i][j] 表示区间 [ i , j ] [i,j] [i,j] 中最优解。用区间的长度 l e n len len 实现状态的转移。意思是说,用小区间的解转移到大区间的解,最终变成全局最最优解。 模
阅读全文
摘要:Link 题目大意,求出最长公共子序列(拉出序列(多个))。 分析:先用 dp 求出长度 l e n len len。接下来用搜索拉出序列。 注意:若两个串相同,则它们尾部相等(显然)。 所以定义 r a [ i ] [ j ] ra[i][j] ra[i][j] 为在 s1 中,前 i i i 个
阅读全文
摘要:Link 给你一个长为 n n n,首项为 a a a,公差为 d d d 的等差数列。 从 x x x 中任选两个数 x i , x j x_i,x_j xi,xj ,同时满足: x i + x j x_i+x_j xi+xj 为偶数。 x x x 中没有 x i + x j 2 \fra
阅读全文
摘要:Link 题目描述: 玛丽是一个善良的小女孩,她养了一只可爱的小羔羊,有一天,小羔羊走丢了,这可急坏了玛丽! 听好心人告知,小羔羊迷失在一个N行M列的场景里(从上往下依次是1~ N行,地面为第N行,从左往右依次为1~M列)。最开始,玛丽站在地面上的,地面是一个连续无断点的平台,玛丽可以左右来回走。
阅读全文
摘要:Link 题目描述 平面上有一个大矩形,其左下角坐标(0,0),右上角坐标(R,R)。大矩形内部包含一些小矩形,小矩形都平行于坐标轴且互不重叠。所有矩形的顶点都是整点。要求画一根平行于y轴的直线x=k(k是整数) ,使得这些小矩形落在直线左边的面积必须大于等于落在右边的面积,且两边面积之差最小。并且
阅读全文
摘要:原题目链接:Link 题目描述 某个国家的地图可以看做是一个n*m的表格,单元格为’#‘表示城市区域,单元格为’.‘表示耕地区域。连通的’#'表示的区域是同一个城市。从一个单元格走到上下左右相邻的另一个单元格为一步。现在,你可以选择在任何一个城市的任何一个单元格中,请问你要走到其他的城市中去,最少要
阅读全文
摘要:原题目链接:Link 意思就是按一定的顺序铺地毯,后铺的地毯会覆盖前铺的地毯。最后查询点 ( x , y ) (x,y) (x,y) 最上面的是哪张地毯。 我们来分析一下样例1: 输入 #1 3 1 0 2 3 0 2 3 3 2 1 3 3 2 2 输出 #1 3 最后地面的地毯情况如下: 我们不
阅读全文
摘要:原题目链接:Link 一道简单的DFS 我的思路和大佬们的不一样。很显然,每个数都有选或不选两种情况,这就是搜索的方向。当已经选了 k k k 个数后,就没必要再往下搜索了,直接判断 k k k 个数之和 s u m sum sum 是否为素数即可,这是边界。 Code: #include <cst
阅读全文
摘要:原题目链接:Link gm : bfs的版题 没学过 bfs 的同学可以看代码注释,先理解意思。 #include <cstdio> #include <queue> #include <cstring> using namespace std; const int Maxn = 300 + 5;
阅读全文
摘要:原题目链接:Link 题目大意: 在草地中,有一颗草尼玛,每过一个星期就会向自身周围的八个方向繁殖/克隆,给出它的初始位置 M x Mx Mx 和 M y My My, 求多少个星期后乳草完全占领草地。 注意: 输入的第一个数是行,第二个数是列。这样一来,输入 M x Mx Mx 和 M y My
阅读全文
摘要:这六天,学了什么呢? 目录 一、分治1. 归并排序(merge sort)2.快速排序(quick sort)3. 二分(1) 二分查找(binary search)STL里的 u p p e r upper upper_ b o u n d bound bound和 l o w e r lower
阅读全文