摘要: 阅读全文
posted @ 2018-07-08 19:21 Nanchtiy 阅读(362) 评论(7) 推荐(0) 编辑
摘要: 数组模拟链表 前言 对于一个踏踏实实用数组的蒟蒻来说这真的是太难了好吗? 步骤 1. 首先我们需要设一个数组date用来存原始数值和一个数组right充当指针 如图所示 2. 这里的right指向date的下一位的 date下标 (注意是 下标 而不是数值) 3. 我们现在尝试模拟一下在排序下插入一 阅读全文
posted @ 2018-07-08 11:32 Nanchtiy 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 首先,一道入门DP ~~然而对于蒟蒻的我已经难到爆了好吗~~ 第一点:动态转移方程 用DP的 关键 ! 这题我们可以发现每一步的方案数由上面的那步加上左边的那步得到 所以自然而然的方程就出来了: f[i][k]=f[i 1][k]+f[i][k 1] 第二点:DP边界 在所有的方案数计算内我们可以~ 阅读全文
posted @ 2018-07-08 11:31 Nanchtiy 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 链接 https://www.luogu.org/problemnew/show/P1006 日常牢骚 过年前最后一节课上完了坐标DP 也接触了一点区间DP(noi1995石子合并)下次做做看看吧 老师布置了好多道DP这让我这个刚刚学的蒟蒻可咋办呀 想die的心 正题 不扯淡了赶紧扯回来 首先看到这 阅读全文
posted @ 2018-07-08 11:31 Nanchtiy 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 背包九讲板子 例题参考《信息学奥赛一本通》 初始化分两种情况 1、如果背包要求正好装满则初始化 f[0] = 0, f[1~v] = INF; 2、如果不需要正好装满 f[0~v] = 0; 01背包 有N件物品和一个容量为V的背包。第i件物品的费用(即体积,下同)是w[i],价值是c[i]。求解将 阅读全文
posted @ 2018-07-08 11:30 Nanchtiy 阅读(1863) 评论(3) 推荐(2) 编辑
摘要: 链接 https://www.luogu.org/problemnew/show/P2426 念念碎 第一次接触到区间DP(瑟瑟发抖) 所以象征性地看了一下 题解 这好像是一道比较 基础 的区间DP吧 但是蒟蒻我还是不会啊 思路 1. 因为是连续删除一段数字所以明显是区间DP 2. 我们不妨设 f[ 阅读全文
posted @ 2018-07-08 11:30 Nanchtiy 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 概念 “哈密尔顿回路问题”是访问除原出发结点以外的 每个结点 一次且仅一次,而“欧拉回路问题”是访问 每条边 一次且仅一次 欧拉回路与欧拉路 PS: 已经判断此图有欧拉路或欧拉回路 include using namespace std; int g[101][101]; int du[101]; 阅读全文
posted @ 2018-07-08 11:29 Nanchtiy 阅读(1003) 评论(0) 推荐(0) 编辑
摘要: 高精度加法 高精度除法 (高精除以低精) cpp include include include using namespace std; int a1[20001],b1[20001]; char a[20001]; int l1,l2,x=0,b; int main() { scanf("%s" 阅读全文
posted @ 2018-07-08 11:29 Nanchtiy 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 本文转自acdreamers的博客 原文网址: https://blog.csdn.net/ACdreamers/article/details/16902023 我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到 阅读全文
posted @ 2018-07-08 11:28 Nanchtiy 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 最短路径算法 Floyed PS:能求带负边图,但不能带负权回路 可以求出任意两点之间的最短路径 主代码: for(k=1;k include define maxn 9999999 using namespace std; int f[101][101]; int n,m,x,y,s; int p 阅读全文
posted @ 2018-07-08 11:27 Nanchtiy 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 思路 从2开始找 找到一个加入素数表中 在之后的每一个数与前面找到素数表中的素数相乘的积也不是质数 (任意一个合数是一个质数与一个数的积) 例题 洛谷P3383:线性筛素数(可用埃筛做) https://www.luogu.org/problemnew/show/P3383 代码: include 阅读全文
posted @ 2018-07-08 11:26 Nanchtiy 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 最小生成树 定义 关于N个点用其中的N 1条边连起来的权值最小的图 算法 prim 类似Dijkstra和贪心的思路 1. 取一个点为起点遍历所有与其连接的点 2. 把最小权值的点加入最小生成树 3. 修改于其相连的点权值 4. 重复1,2,3直到N次循环 例题: 洛谷P3366:最小生成树模板 h 阅读全文
posted @ 2018-07-08 11:25 Nanchtiy 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 题目 https://www.luogu.org/problemnew/show/P1525 思路 1. 把所有边sort一遍 从大到小排列 2. 运用并查集思想敌人的敌人就是朋友 3. 从最大边开始查找连着的两个罪犯 4. 如果他们在一个监狱就输出并结束程序 5. 如果不在就把他们互为敌人存下来 阅读全文
posted @ 2018-07-08 11:23 Nanchtiy 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 并查集 定义 把许多有关系的人合并成一个集合 然后询问其中的人是否有关系的时候用并查集 思路 用 树 存图 每一次输入判断他们的祖先是否 同一个 不同的话就把两个数的祖先改成同一个 最后的询问只要O(1) 例子和代码 一个入门的并查集题目 洛谷P1551:https://www.luogu.org/ 阅读全文
posted @ 2018-07-08 11:23 Nanchtiy 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 定义 一共有好多件事情 事情A要再事情B(或者更多)事情 做完 才能做 然后排序! (有向无环图) 思路 一个网上找的图便于理解 (下列过程以此图为例) 1. 记录所有点的入度和出度 2. 找到入度为0的点加入栈中 为a 3. 栈顶元素输出删除并把与栈顶元素相连的点的入度减一 4. 删除过程中如果有 阅读全文
posted @ 2018-07-08 11:22 Nanchtiy 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 前言 这章早在2017年寒假就在培训的时候由来自清华的hta老师上过了 但是本蒟蒻那时候并不是懂的太多 所以这周ww老师又上了一遍 大概记录一下 start 点积 大概就跟高中必修4的平面向量差不多(有上过的应该都会) a = (x1, y1) b = (x2, y2) a · b = x1x2 + 阅读全文
posted @ 2018-07-08 11:15 Nanchtiy 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 我丑,话说在前头 题目: https://www.luogu.org/problemnew/show/P3399 一道挺简单的DP 思路不难想 ~~但是蒟蒻总是写错初始化啥的~~ 思路 定义f[i][j]为第i天到达第j个城市 以 天 来进行DP 每一天可以由以下两种方法到达 1. 休息一天 2. 阅读全文
posted @ 2018-07-08 11:14 Nanchtiy 阅读(166) 评论(0) 推荐(0) 编辑