
模块汇总
liusu201601
这个作者很懒,什么都没留下…
展开
-
luogu试练场提高历练地
1 搜索Ex 题目 状态 思路 P1120 小木棍 [数据加强版] 未解决 P1378 油滴扩展 解决 深搜(全排列思维) P1514 引水入城 解决 宽搜+DP,注意要:思考细节和特判 P1312 Mayan游戏 未解决 P1441 砝码称重 解决 组合数+01背包 p1242 新汉诺塔 解决 简单暴力的思路,关键要理解汉诺塔的游戏规则 ...原创 2018-04-02 11:36:23 · 439 阅读 · 0 评论 -
NOIP大纲整理:(十五)尺取法与折半枚举
一、尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不足的地方,有些情况下...转载 2018-08-07 08:20:33 · 443 阅读 · 0 评论 -
NOIP大纲整理:(十六)反转问题与弹性碰撞
一、反转问题 算法概览:给定一个01串,现有翻转规则:翻转某一个位置时其后面2个位置也会跟着翻转,也就是每次翻转都会翻转3个连续的位置。要将01串全部翻转为0,求最小的翻转次数。形似这类题的问题叫做反转问题,也可以叫开关问题,对于这类题通常有以下的特点,思考一下就可以想到。 1、若某一个位置被翻转了n次,则其实际上被翻转了n%2次,因为翻转2k次相当与没翻转,翻转2k+1次相当于翻转了1次...转载 2018-08-07 08:20:45 · 647 阅读 · 0 评论 -
NOIP大纲整理:(十七)栈与双端队列的运用
一、栈的运用通过活用栈等简单的数据结构,可以巧妙地降低一些算法的复杂度。 POJ 2559题意:n个宽度为1,高度为h[i](1<=i<=n)组成的柱形图,求里面包含的长方形的最大面积; 思路:如果确定了长方形的左端点L和右端点R,那么最大可能高度就是min{h[i]|L<=i<R}(一般做题区间都是左闭右开,便于计算),时间复杂度O(n^3),考虑优化...转载 2018-08-07 08:21:05 · 436 阅读 · 0 评论 -
NOIP大纲整理:(十八)剪枝与坐标离散化
一、剪枝在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些“枝条”,故称剪枝。应用剪枝优化的核心问题是设计剪枝判断方法,即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。 剪枝算法按照其判断思路可大致分成两类:可行性剪枝及最优性剪枝。 POJ2676给你一个9*9的九宫格,有部分已经填上了数字,要求将九宫格用1-9填满,每行中...转载 2018-08-07 08:21:14 · 528 阅读 · 0 评论 -
2018NOIOJ网站入门题表(大礼包汇总,更新ing)
章节 考核内容 1.3题解大礼包 编程基础之算术表达式与顺序执行 1.4题解大礼包 编程基础之逻辑表达式与条件分支 1.5题解大礼包 编程基础之循环控制 1.6题解大礼包 编程基础之一维数组 1.7题解大礼包 编程基础之字符串 1.8题解大礼包 编程基础之多维数组...原创 2018-08-07 08:23:03 · 7532 阅读 · 1 评论 -
DP汇总题表(持续更新)
矩阵上的dp部分题号:方格取数 luogu1004传纸条 luogu1006相似基因 luogu:1140最长公共子序列 183:1129子矩阵: luogu2258最大正方形 luogu:1387最大子矩阵1 183:1463最大子矩阵2 luogu:2331矩阵取数游戏 luogu1005区间DP:类型 编号 题目 出处 难度(5星)...原创 2018-05-27 11:48:10 · 1139 阅读 · 0 评论 -
noi题库 1.8编程基础之多维数组 :题解大礼包20180918
题目传送门1.8编程基础之多维数组的全部题解,有需要的同学请自行学习。有任何错漏或者疑问,请留言。谢谢~~~1、题目分析2、代码截图1.8编程基础之多为数组 编号 题目 相对难度1-5 知识点 1 矩阵交换行 2 交换位置 2 同行列对角线的格子 3 米字星关系 3 计算矩阵边缘元素之和 2 ...原创 2018-09-18 09:18:44 · 6405 阅读 · 1 评论 -
2019luogu试炼场题解包:普及组(更新至2-17)
12.1 简单模拟 6 题号 题目 相对难度1-5 备注 1003 铺地毯 2 逆向查找 1067 多项式输出 3 分段模拟 1540 机器翻译 4 循环队列 1056 排座椅 3 统计排序 1328 生活大爆炸石头剪刀布 3 暴力模拟 ...原创 2019-03-08 10:35:30 · 1377 阅读 · 0 评论 -
noi题库 1.12编程基础之函数与过程抽象 :题解大礼包20190410
题目传送门1.12编程基础之函数与过程抽象的全部题解,有需要的同学请自行学习。有任何错漏或者疑问,请留言。谢谢~~~1、题目分析1.12编程基础之函数与过程抽象 编号 题目 相对难度1-5 知识点 1 简单算术表达式求值 3 字符串处理 2 短信计费 2 多次计算邮资 3 甲流病人初筛 2...原创 2019-04-10 19:00:24 · 4543 阅读 · 5 评论 -
luogu1092:虫吃算:深搜+剪枝
题目连接:该题是luogu试炼场的2-7:T6题目大意:1给出一个3*n的字母棋盘,要求用[0,n)这n个数字替换棋盘里的字母,使得棋盘形成一个n进制的合法的竖式。解题思路:经典的深搜复杂题,NOIP2004的T41按照位置搜索,N的最大之是26,所以会超时;2想剪枝:进位的处理,数字的差重。3玄学:枚举的时候从大到小会优化很多时间。上代码://luogu1...原创 2019-04-08 11:54:12 · 250 阅读 · 0 评论 -
luogu1126:机器人搬重物:宽搜+地图转换+方向组合
题目连接:该题是luogu试炼场的2-8:T4题目大意:1给出一个0,1棋盘,0表示空格,1表示有柱子。2给出机器人的起始坐标和起始方向,给出结束位置,求机器人最少需要多少步数到达;3要求1:机器人本身有体积;4要求2:机器人消耗步数有以下几种方式: 1)前进1格; 2)前进2格; 3)前进3格; 4)原地左转(方向改了,位置没变); 5)原地右转...原创 2019-04-09 14:56:57 · 294 阅读 · 0 评论 -
luogu1118:数字三角形:全排列+杨辉三角剪枝
题目连接该题是luogu试炼场的2-9:T1题目大意题目大意题目大意题目大意原创 2019-04-15 11:50:26 · 338 阅读 · 0 评论 -
NOIP大纲整理:(十四)预处理与前缀和
一、预处理 所谓预处理,顾名思义,就是事先计算好需要的值或事先处理某些东西,有时候你会发现你做一个题目出现了TLE,原因就是重复的计算会导致效率不高(或者说你的预处理不够“优雅”)。 A、直接把结果预处理XTUOJ 1052题意:某一个数字集合定义如下:1.0属于这个集合;2.如果x属于这个集合,那么2x+1,3x+1也属于这个集合;3.集合只包含按增序排列的前1...转载 2018-08-07 08:20:23 · 1122 阅读 · 0 评论 -
NOIP大纲整理:(十三)基础算法详解
知识点罗列:一、倍增思维: 1、倍增算法; 2、树上的LCA(最近公共祖先) ;3、快速幂二、分治思维:1、二分查找;2、归并排序; 3、快速排序三、贪心思维:四、搜索:1、三种不同的问题; 2、两种不同的方法:bfs、dfs;3、优化搜索的技巧 一、倍增算法:定义:用f[i][j]表示从i位置出发的2j个位置的信息综合(状态)一个小小的问题:为什么是2j而不...转载 2018-08-07 08:20:13 · 2366 阅读 · 0 评论 -
NOIP大纲整理:(十二)数论详解
分类:一、数论 二、概率 三、代数 一、数论 1.数整数、自然数(大于等于0的整数)、正整数(大于0的整数)、负整数、非负整数、非正整数、非零整数、奇数偶数。 2.整除性设a,b∈Z,如果存在c∈Z并且a=bc,则称b|a(b为a的因子,“|”表示“能整除”) 3.质数如果一个数,只有1和自身作为因子的数,叫做质数(素数)。通论1:存在一个质数p,若p|...转载 2018-08-06 09:12:22 · 2178 阅读 · 0 评论 -
NOIP大纲整理:(四)图论基础与程序对拍
图论算法:1、图的遍历:宽搜:bfs 队列的使用:很少单独出题,结合邻接表,比较容易理解2、图的遍历:深搜:dfs 递归的使用:很少单独出题,结合邻接表,比较容易理解3、最小生成树:Kruskal+prim算法 已经整理了一些入门题目:最小生成树基础4、最短路径:spfa:邻接表的应用 邻接表的使用+宽搜思维+循环队列的应用。算是入门必背题...转载 2018-08-05 14:23:15 · 749 阅读 · 0 评论 -
NOIP大纲整理:(五)排序模板与算法复杂度分析
排序算法:常用(有用)的排序思维,一般就以下四种,中后期也可以根据实际情况用sort1、快速排序(二分+递归)暂时代码是转载的,以后有机会会更新,看不懂请跳过#include<cstdio>inline void Rd(int&res){ res=0;char c; while(c=getchar(),c<48); dores=...转载 2018-08-05 15:36:21 · 671 阅读 · 0 评论 -
NOIP大纲整理:(六)字符串1:trie树(字典树)
1、trie树(字典树):将字母挂在一棵树上1.定义:通过字符串建成一棵树,这棵树的节点个数一定是最少的。例如:4个字符串"ab","abc","bd","dda"对应的trie树如下:其中红色节点表示存在一个字符串是以这个点结尾的。 一个性质:在树上,两个点u,v满足u是v的祖先,那么u代表的字符串一定是v代表的字符串的前缀。 2.Trie树的插入:可以从根节点出...转载 2018-08-05 20:14:55 · 628 阅读 · 0 评论 -
NOIP大纲整理:(八)STL函数算法
STL算法STL 算法是一些模板函数,提供了相当多的有用算法和操作,从简单如for_each(遍历)到复杂如stable_sort(稳定排序),头文件是:#include <algorithm>。常用STL 算法库包括:sort快速排序算法、二分查找算法、枚举排列算法等。1、 sort排序系列sort:对给定区间所有元素进行排序(全排)stable_sort:对给定区间所有...转载 2018-08-06 08:37:25 · 988 阅读 · 0 评论 -
NOIP大纲整理:(九)树结构的模板*3
1、树状数组暂时代码是转载的,以后有机会会更新,看不懂请跳过例:HDU 1166#include<stdio.h>#include<math.h>const intMAX = 50010 * 4;intsegment[MAX];voidpushUp(int root){ segment[root] = segment[root * 2] + s...转载 2018-08-06 08:37:56 · 483 阅读 · 0 评论 -
NOIP学习大纲整理
题目 内容 0 00-16年真题整理 普及组题目分析、提高组题目分析 1 (一)常见问题与策略 数学类、字符、字串类、统计类、模拟类、搜索类、最优化、图论 2 (二)文件读写与数论基础 数论基础、文件输出输出 3 (三)读写外挂与高精度模板 高精度+-*/的基础模板,读写加速的外挂 ...原创 2018-08-07 10:20:09 · 6679 阅读 · 3 评论 -
NOIP大纲整理:(六)字符串3:AC自动机
3、AC自动机有n个模式串,长度之和是|T|,有一个主串,长度是|S|,问哪些模式串是这个主串的子串(或者有多少个模式串在主串中出现过)? 解法一:直接跑n次KMP算法,时间复杂度:O(n×|S|)。 解法二:AC自动机,时间复杂度:O(|T|+|S|),对于n个串,构建trie树,在trie树上做KMP。 在这里我来详解一下AC自动机啊~ 首先我们定义一个指针,叫做“失配指针...转载 2018-08-06 08:36:29 · 444 阅读 · 0 评论 -
NOIP大纲整理:(六)字符串2:KMP算法
2、KMP算法:快速查找子串KMP算法给定两个字符串A,B,判断T是否为S的子串(变式:寻找子串B在串A中的位置)。 要求一个O(|A|+|B|)的做法。 通常称A为目标串(或主串),B为模式串。 算法过程: 我们假设串A的长度为n,串B的长度为m,每个字符串的开头下标默认为1。 定义两个变量i和j,这两个变量共同表示:A[i-j+1~i]与B[1~j]均匹配,...转载 2018-08-06 08:36:19 · 453 阅读 · 0 评论 -
NOIP大纲整理:(六)字符串4:随机算法
随机算法随机生成树①随机生成一棵树:for(int i=2;i<=n;i++)/*随机生成一棵树*/{ cout<<rand()%(i-1)+1<<' '<<i<<endl;}//深度为lgn②随机生成一棵长毛的链:/*随机生成一棵长毛的链:1~n/2*/for(int i=2;i<=n/2;i++)...转载 2018-08-06 08:36:55 · 393 阅读 · 0 评论 -
NOIP大纲整理:(十)动态规划巩固与提高1:DP与记忆化搜索概念
记忆化搜索概念讲解经典例题:数字金字塔(Luogu 1216) 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 我们现在这里讨论搜索如何实现: 状态:目前在第x行第y列 行动:向左走,向右走 例如:一个底边为4的三角形共有八种状态: 我们按照一般的搜索思路,进行深度优先搜索:v...转载 2018-08-06 08:38:08 · 482 阅读 · 0 评论 -
NOIP大纲整理:(十)动态规划巩固与提高3:各种DP(有机会再细分类别)
、路径行走问题 经典例题:方格取数(Luogu 1004) 设有 N*N 的方格图 (N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 0。*某人从图的左上角的 A 点出发,可以向下行走,也可以向右走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字 0)。*此人从 A点到 B 点共走两次,试找出 2 条这样的路...转载 2018-08-06 08:38:38 · 1141 阅读 · 0 评论 -
NOIP大纲整理:(十一)图论详解
知识点罗列:1、图的存储: 1.1 邻接矩阵 1.2 邻接表2、树的遍历: 2.1 bfs 2.2 dfs3、无根树变有根树4、并查集5、最小生成树 5.1 k算法 5.2 p算法 5.3 最小生成树计数问题6、最短路径 6.1 floyd 6.2 d算法 6.3 spfa 6.4 bellmanford算法 7、拓扑排序8、联通分量9、欧拉回...转载 2018-08-06 09:06:09 · 1349 阅读 · 1 评论 -
luogu1045麦森数:高精度乘法+快速幂
题目连接该题是luogu试炼场的2-11:T2参考1:高精度*高精度(稍后更新)参考2:快速幂题目大意输入n,求 2n-1 的值;输出有要求1:输出数位;输出有要求2:后500位,分10行输出;题目分析n的范围是(1000,3100000),还给出了极值的长度有90W+位: 朴素思维1:高精度*低精度,暴力拿50分soeasy! 正派思路2:数学计算+快速幂...原创 2019-04-19 11:15:50 · 294 阅读 · 0 评论