[Noip复习知识点][个人向]Zackzh】的更多相关文章

只是列列一些要复习的,努力复习吧,有种noip退役的赶脚. 一.模拟 (这你也不会?退役吧) 二.DP 1.基础dp 2.区间dp 3.状压dp 4.树形dp 6.概率(期望)dp 7.环形dp 8.方格dp 9.背包问题 a.01背包 b.完全背包 c.多重背包 d.二进制压缩 10.线性dp 三.搜索: 1.dfs 2.bfs 3.枚举 4.启发式搜索(a*) 5.双向搜索 6.记忆化搜索 7.hash判重 8.剪枝 9.二分查找 四.贪心 (视题目而定,没什么好讲的) 五.树 1.生成树…
NOIP复习篇---枚举 ---------------------------------------------------------------------------------------------------------------- 高手的切磋不在于难题,而在于SB算法....NOIP来了,决不能犯SB错误 --------------------------------------------------------------------------------------…
NOIP初赛知识点大全-普及+提高组 https://mp.weixin.qq.com/s/vSXLDxmbBoFfZPzD8lrt3w…
JavaEE期末复习知识点总结 Java企业应用开发环境 Maven的基础概念 Maven是一个项目管理工具,可以对 Java 项目进行构建.依赖管理 Maven仓库 Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库, 是放置所有 JAR 文件的地方 Maven有三个仓库,本地仓库(local),远程仓库(remote),中央仓库(central) 云软件版本管理 working tree.index.head区别 工作区(working tree):当前工作的目录 暂存区(in…
前言        离NOIP还有一个星期,匆忙的把整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.当年来学这个竞赛就是为了兴趣,感受计算机之美的.经过时迁,计划赶不上变化,现在尚处于迷茫之中,也很难说当时做的决定是对是错.然而我一直坚信迷茫的时候选择难走的路会看见更好的风景.       这篇文章简单的说了一下NOIP考试中会常用的算法,可能难度掌握的不是太好,有一部分内容不是NOIP考查范围,然而随着难度的增加,看一些更高级的算法也没有坏处…
noip一轮复习真的要开始啦!!! 大概顺序是这样的 1.数学 2.搜索贪心 3.数据结构 4.图论 5.dp 6.其他 数学 1.数论 数论被称为数学皇冠上的明珠,他的重要性主要在于它是其他学习的祖师,基本上什么代数问题都可以通过数论推导,其实有的图论也是(数学上). 我们信息中的数论主要是说对整除同余的研究~~~~~~~ ①:唯一分解定理与素数 这个之前我们先要讲素数(定义全部掠过) 素数筛法: #include<iostream> #include<cstdio> #incl…
CSP-J/S 第一轮知识点选讲 \(NOIP\)(全国青少年信息学奥林匹克竞赛)于2019年取消.取而代之的是由\(CCF\)推出的非专业级软件能力认证,也就是现在的\(CSP-J/S\).作为一名于2019年1月入\(OI\)的蒟蒻\(OIer\),没能参加\(NOIP\)是我一生的遗憾.但在遗憾之余,我不得不备战\(CSP\)的认证.而\(CSP\)非专业级认证的第一轮(也就是\(NOIP\)初赛)常常使某些大神\(OIer\)(就是对基础知识不太了解)无缘复赛...所以今天来盘一下初赛知…
推荐阅读 NOIp 基础数论知识点总结: https://www.cnblogs.com/greyqz/p/number.html 排列组合 常用公式 排列:\[\displaystyle A_n^m=\frac{n!}{(n-m)!}\] 全排列:\(A_n^n=n!\) 组合:\[\displaystyle C_n^m=\frac{A_n^m}{m!}=\frac{n!}{m!(n-m)!}\] 组合数的性质: \[ \displaystyle C_n^m = C_n^{n-m} \] \[…
(因为david_alwal太懒了,所以本期题解作者为Th Au K,码风不同请自行适应) 传送门 T1 BFS?贪心?我也说不清 反正就是对每一个“#”搜一下他的旁边有没有“#”就行了 代码 T2 excrt 注意一下边界就行了 代码 T3 BFS 出题老师很51地搞错了数据范围 给了200*150实际开了1000*1000过的 注意对于每一个传送门 要判断这个点要传送到的点是否到过 同样要在这个点要传送到的点打标记 代码 T4 二分天数(疯狂diss david_alwal的递归二分) 左边…
http://www.doc88.com/p-9982181637642.html 连载中…… (一)八大排序算法 下面这张表摘自博客http://blog.csdn.net/whuslei/article/details/6442755/ 排序算法基本就考这张表 另1:快排找第k大的数,O(N) 另2:拓扑排序. 拓扑排序对象:有向无环图 拓扑排序方法: 1.首先选出一个入度为0的点 2.将改点输出,然后删除所有与该点相连的边 3.重复步骤1.2,直到输出了n个点 对于上面的那个图,答案是:…
[模板] /*堆优化Dijkstra*/ void dijkstra() { priority_queue<pair<ll,int>,vector<pair<ll,int> >,greater<pair<ll,int> > > que;//定义大顶堆 ;i<=n;i++) vis[i]=,dis[i]=INF; dis[]=; que.push(make_pair<ll,,)); while (!que.empty())…
前言:距离NOIP还有不到一百天(虽然NOIP没了),为了整理一下所学的内容,才有了这篇博文.本文内容无特殊说明全部来自于博主的博客,代码也都是新敲的,努力在个人的码风基础上做到尽量简洁,求资瓷. 一.图论 并查集    代码 多源最短路 floyd     代码 单源最短路: 1.dijkstra    代码 2.spfa    代码 spfa判负环    代码 最小生成树: kruscal    代码 拓扑排序    代码 网络流(好像不在noip范围内) 二.数据结构 堆    代码 ST…
知识点: 1. 转义字符: Console.WriteLine("C:\\asdfg\\sdfd");   ----    "\\"是转义斜杠后面紧跟着的字符Console.WriteLine(@"C:\\asdfg\\sdfd");   ------   "@"是转义一整句 2. int a = 0;int b = a++;   ===>   int b=a;a=a+1int c = ++a;    ===>  …
此次JVM知识点包含以下几个部分 1.类加载机制 2.jvm运行时数据区 3.java对象内存布局 4.jvm内存模型 5.垃圾回收机制 6.垃圾收集器 7.问题排查 一 类加载机制 主要说的部分是这一块 那么如何装载呢,这就谈到了咱们的双亲委派机制,简单来说就是类,向上递交,向下加载,源码和图如下 if (parent != null) { c = parent.loadClass(name, false); } else { //由于BootstrapClassLoader是C++写的,在j…
题目链接:http://files.cnblogs.com/files/candy99/%E9%A2%98%E7%9B%AE1117.pdf A n个等比数列求和公式(都感觉数列忘光了) %1e9+7要用逆元 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; type…
我只会这么多 tarjan:codevs 1332 void tarjan(int u) { dfn[u]=low[u]=Time++; s.push(u); for(int i=head[u];~i;i=nxt[i]) { int v=to[i]; if(!dfn[v]) tarjan(v); ) low[u]=Min(low[u],low[v]); } if(dfn[u]==dfn[v]) { while(!s.empty()) { int x=s.top(); s.pop(); dfn[x…
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-…
TabBarViewController:标签视图控制器 在application设置 创建四个视图控制器 引入视图控制器头文件 #import "AppDelegate.h" #import "RootTableViewController.h" #import "FirstTableViewController.h" #import "SecondTableViewController.h" #import "T…
GCD的基础 #pragma mark - 使用GCD 创建一个 串行 队列 // 第一种:系统提供的创建串行队列的方法 // 在真正的开发中如果需要创建串行队列,比较习惯用这种 // dispatch_queue_t queue = dispatch_get_main_queue(); #pragma mark - 使用GCD去创建 并行 队列 // 第一种:系统的 // 参数1:表示优先级(有四个,没有明显区别) // 参数2:系统保留字 // dispatch_queue_t queue…
UITableView UICollectionView  //UICollectionViewLayout //UICollectionViewLayout决定了UICollectionView如何显示在界面上,Apple提供了一个最简单的默认layout对象:UICollectionViewFlowLayout. //Flow Layout是一个Cells的线性布局方案,并具有页面和页脚.其可定制的内容如下: //itemSize属性 //设定全局的Cell尺寸,如果想要单独定义某个Cell…
GDataXMLDocument-XML解析 #pragma mark - ======== Dom XML解析 - (IBAction)domParserActionXML_Document:(id)sender { // 第一步 引入动态库 // 1 获取文件路径 NSString *Path = [[NSBundle mainBundle] pathForResource:@"StudentIfor_xml" ofType:@"txt"]; // 2.根据路经…
一.背包问题 最基础的一类动规问题.相似之处在于给n个物品或无穷多物品或不同种类的物品,每种物品仅仅有一个或若干个,给一个背包装入这些物品,要求在不超出背包容量的范围内,使得获得的价值或占用体积尽可能大,这一类题的动规方程f[i]一般表示剩余容量为i时取得的最大价值或最大占用体积.或者有多维状态,分别表示不同种物品的剩余量 1.Wikioi 1014 装箱问题 题目描写叙述 Description 有一个箱子容量为V(正整数,0<=V<=20000).同一时候有n个物品(0<n<=…
刚刚改完题,才有时间发题解 传送门 T1 exgcd裸题 对a,b跑exgcd,答案就是x*c/gcd(a,b),y*c/gcd(a,b) 不合法的情况:当且仅当c%gcd(a,b)!=0 代码 T2 一看就是BFS 但是在打vis标记的时候我们遇到了麻烦 于是我们就想到了康托展开 用康托展开的数值记录遍历的状态 最后记录方案时就直接用一个链表倒序输出就好了 代码 T3 二分平均数 判断是否有一段的min(前缀)+min(后缀)<0 代码 T4 f(n)=phi(n)这很好判断 g(n)=n …
传送门 @dsfz201814 改题 T1:全锕,过 T2:全锕,过 T3:@dsfz201814 先用竖着放置的木块将它变成高度差最大为1的数列 然后对于任意相邻相等的两块,可以将它看成任意 例如,两个相邻的11,可以是11,也可以是00 好像有点抽象,举个栗子 样例: 2 1 1 2 5 将它调整成01数列,最简单的方法是%2取余,或者是&1(等价的) 调整后的数列 0 1 1 0 1 中间有两个连续的1,可以选择将他们调整为任意数,那就相当于没有他 就变成了 0 0 1 再消掉两个0,就只…
传送门 T1 单调栈 按照b排序 在家每一个物品时,判断一下a和b的关系 如果s[sta[top]].a>=s[i].b,就弹栈 记录所有时候的height,并取最大值 T2 单调栈裸题 单调栈是干什么的?? 单调栈是记录一个数的一侧的第一个比他大或比他小的数 记录方法:若a将b弹出,则mark[b]=a; T3 搜索+剪枝 剪枝1:若总长度%要拼成的长度!=0,就不用再搜了一定不合法 剪枝2:从大到小搜 剪枝3:若搜到第一个时,就直接用当前的最大值做为第一个 T4 emm……单调栈 从前扫一遍…
传送门 预计得分:100+100+100+10=310 实际得分:100+0+82+10=192 你们基础知识不行啊——by wxg T1 一看数据范围就是搜索 但是不能因为数据范围就断送了dp的心 一个典型的二维偏序问题 而二维偏序的解决策略就是sort第一维,维护第二维 而维护第二维的算法显然是最经典的LIS 而LIS的话,虽然有O(nlogn)的解法,但是n<=20,没有优化的必要 所以我们的代码就来了 T2 一道经典的二分题 如何判断的二分?? 二分有两个特征: 1.最大的最小值一般都是…
传送门 预计得分:0 实际得分:90 还行 T1 数学卡精 二分double卡精 反正就是卡精 怎么办?卡回去!! 将double*=1e4,变成一个long long 注意四舍五入的奇技淫巧 代码 T1 注:博主改T1不易,请勿抄袭233 T2 状压+BFS 上代码 T3 首先打个表 1e9的数据,不要用O(n*sqrt(n))的复杂度,要用O(n*log(n))的复杂度 具体做法 然后我们就打完表了 且慢,你有没有发现我上面的程序无法运行?? 所以我们采用分块打表 1-3e8,3e8+1-6…
传送门 预计得分:100+70+100+50=320 实际得分100+63+77+30=270 Ctrl_C+Ctrl_V时不要粘贴翻译的,直接粘原文, In a single line of the output print an integer — the maximum loyalty among all paths from the first node to the n-th one. If such paths do not exist or the maximum loyalty…
传送门 预计得分:100+100+100+100=400 实际得分:55+100+60+80=295 细节决定成败啊!!! T1 这道题思路很简单,就是一些细节很变态坑人 首先,数据不一定是有序的,虽然数据给了我们这样的一个假象 其次,可能有重复的数据(这些牛都非常瘦啊) 所以,我们的思路就来了:排序,去重,差分(算出两个牛栏之间的距离),再排个序(复杂度看似有点高),再贪个心就可以了 上代码 T2 最大的最小值——二分答案 但是,我们要对区间进行修改,单点查询 所以朴素的check函数复杂度O…