01 2019 档案

摘要:五种典型递推关系: 1.fibonacci数列 2.hanoi塔问题 3.平面分割问题 4.catalan数 5.第二类strling数 阅读全文
posted @ 2019-01-31 19:30 darrrr 阅读(197) 评论(0) 推荐(0)
摘要:分类: 顺序存储结构 链式存储结构 顺序存储结构: 略;(嘻嘻) 就是普通数组啊 链式存储结构: 存储的信息:节点node: 本身信息 数据域 data; 直接后继元素的存储位置 next; 链表分类: 单链表 双向链表 循环链表 阅读全文
posted @ 2019-01-31 19:27 darrrr 阅读(194) 评论(0) 推荐(0)
摘要:node a[10001];int n;bool comp1(node x,node y){ return x.data<y.data;} bool comp2(node x,node y){ return x.index<y.index;} int main(){ cin>>n; for (int 阅读全文
posted @ 2019-01-31 19:17 darrrr 阅读(194) 评论(0) 推荐(0)
摘要:一定要记住哇 求求你了 记住吧 阅读全文
posted @ 2019-01-31 19:02 darrrr 阅读(133) 评论(0) 推荐(0)
摘要://偶然发现 自己知识点漏洞太多了 于是 好好复习一遍吧 一、字符类型 1.常量 const 字符常量 = ‘字符’ 2.变量 char 字符变量 3.string 作用: 我们会习惯性的把字符串str1的值赋值给字符串str2写成str2 = str1 但是 这是不对的 不过,为了方便使用字符串, 阅读全文
posted @ 2019-01-31 18:50 darrrr 阅读(329) 评论(0) 推荐(0)
摘要:头文件 #include<map> 定义 map<int int> m; //m是自定义的名称 功能 begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的迭代器 阅读全文
posted @ 2019-01-31 15:58 darrrr 阅读(322) 评论(0) 推荐(0)
摘要:刚研究完单调队列和单调栈 于是就找题做了 发现了这道蓝题 以为很简单 就着手来写了 然而 并不是我想的那样 只是有一点点思路 无奈 还是看了题解 好吧题解是真的挺好的 题目描述 In the Byteotian Training Centre, the pilots prepare for miss 阅读全文
posted @ 2019-01-31 15:44 darrrr 阅读(205) 评论(0) 推荐(0)
摘要:用一点点的空间的消耗换大量的时间的优化 阅读全文
posted @ 2019-01-31 10:34 darrrr 阅读(105) 评论(0) 推荐(0)
摘要:单调队列 例题: Poj 2823给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数。数列长度:N<=106,m<=N 对于单调队列,我们这样子来定义: 1、维护区间最值 2、去除冗杂状态 如上题,区间中的两个元素a[i],a[j](假设现在再求最大值)若 j>i且a[j]>=a[i] 阅读全文
posted @ 2019-01-31 09:34 darrrr 阅读(210) 评论(0) 推荐(0)
摘要:以下都是例子 typedef long long ll; #define ll long long const int maxn = 6005; 阅读全文
posted @ 2019-01-31 08:54 darrrr 阅读(133) 评论(0) 推荐(0)
摘要:链式前向星: 适合点多、边少的情况 不适用于大量遍历出边的题目(因为cache miss) 邻接表: 如果用邻接表来实现的话,一般就用vector嘛,我们都知道vector都是自动扩容的,在空间满了以后,就自动申请多一倍空间。 对于这样一张有向图: 输入边的顺序如下: 1 2 2 3 3 4 1 3 阅读全文
posted @ 2019-01-30 10:44 darrrr 阅读(1921) 评论(0) 推荐(0)
摘要:埃氏筛法 结合这张表看看,慢慢一次次的都筛选完了.. 其中最小的素数是2,将表中所有2的倍数都除去,剩下最小的数是3,不能被更小的数整除,所以是素数.再将表中3的倍数的数除去.以此类推.如果表中最小的数字是m,m就是素数.然后将表中所有m的倍数都除去...然后就可以了= = 话说要是求区间[x,y] 阅读全文
posted @ 2019-01-29 20:49 darrrr 阅读(891) 评论(0) 推荐(0)
摘要:一、接受方法和存贮方法 分两种方法 >采用字符串方式输入 >直接用循环加数组方法输入数据 呵呵呵我写不动了不会的时候还是看书吧书写的那么好呵呵呵 阅读全文
posted @ 2019-01-29 20:18 darrrr 阅读(145) 评论(0) 推荐(0)
摘要:define篇 1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。 被定义为“宏”的标识符称为“宏名”。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。 宏定义是由源程序中的宏定义命令完成的。 宏 阅读全文
posted @ 2019-01-29 20:03 darrrr 阅读(381) 评论(0) 推荐(0)
摘要:题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1, 阅读全文
posted @ 2019-01-29 19:40 darrrr 阅读(188) 评论(0) 推荐(0)
摘要:题目描述 设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00。如下图所示(见样例): 某人从图的左上角的AA点出发,可以向下行走,也可以向右走,直到到达右下角的BB点。在走过的路上,他可以取走方格中的数(取走后的方格中将 阅读全文
posted @ 2019-01-29 19:22 darrrr 阅读(305) 评论(0) 推荐(0)
摘要:讲道理的话,编译器的gcc是不支持__int128这种数据类型的,比如在codeblocks 16.01/Dev C++是无法编译的,但是提交到大部分OJ上是可以编译且能用的。C/C++标准。IO是不认识__int128这种数据类型的,因此要自己实现IO,其他的运算,与int没有什么不同。 但是官方 阅读全文
posted @ 2019-01-29 16:30 darrrr 阅读(1450) 评论(0) 推荐(0)
摘要:题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 输入输出格式 输入格式: 输入一个正整数S。 输出格式: 输出最大的约数之和。 输入输出样例 输入样例#1: 复制 11 输出样例#1: 复制 9 输入样例#1: 复制 11 输出样例#1: 复制 9 说明 样例 阅读全文
posted @ 2019-01-28 20:33 darrrr 阅读(186) 评论(0) 推荐(0)
摘要:题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即poppop(从栈顶弹出一个元素)和pushpush(将一个元素进栈)。 栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问 阅读全文
posted @ 2019-01-28 19:40 darrrr 阅读(171) 评论(0) 推荐(0)
摘要:论:动态规划 我jio的很直观的感受就是 每一步取 max/min 整体最优但局部未必是最最最优的 而:贪心 则是每一步都再求最优解 用局部最优带动整体最优 阅读全文
posted @ 2019-01-28 19:06 darrrr 阅读(208) 评论(0) 推荐(0)
摘要:题目描述 棋盘上AA点有一个过河卒,需要走到目标BB点。卒行走的规则:可以向下、或者向右。同时在棋盘上CC点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示,AA点(0, 0)(0,0)、BB点(n, m)(n,m)(nn, mm为不超 阅读全文
posted @ 2019-01-28 18:52 darrrr 阅读(173) 评论(0) 推荐(0)
摘要:信息竞赛哇 有一点点迷 还记得前段时间模拟的时候 代码能力蒟蒻 思维能力蒟蒻 于是 遇到一些问题 (尤其是那些和数啊什么的有关的问题) 基本上都会拿笔算 算到崩溃也还在算 现在 学了点算法 居然忘了计算这个极为重要的算(技巧)法 却发现 其实和数学还是有很大关系的 有的时候还是得算算 还是要找找规律 阅读全文
posted @ 2019-01-28 16:20 darrrr 阅读(92) 评论(0) 推荐(0)
摘要:若说代码 那真的是很水 但是 思想却有点意思 这道题是洛谷博弈论专题的第一道入门题, 然而刚开始我是不会做的, 毕竟是道入门题, 我博弈论还没入门呢. 这道题的做法就是: 如果m为偶数, 那么先手赢(即pb), 如果m为奇数, 那么后手赢(即zs). 做法很简单, 可是我们要知道怎么做的 说实话我对 阅读全文
posted @ 2019-01-28 15:57 darrrr 阅读(127) 评论(0) 推荐(0)
摘要:一道水题 绊了我,居然 愿意很简单 我多打了一遍int main 阴错阳差的 自定义的函数上面 出现了int main 所以 以后想想好思路(是那种很全很全的思路) 再写代码 一定要避免sd错误!!!! 阅读全文
posted @ 2019-01-28 14:42 darrrr 阅读(110) 评论(0) 推荐(0)
摘要:济南集训的第一天 分治 发现了这道题 jio的还不错 于是 找了一找 那么 基本思想 分治、极角排序 巨人与鬼: 题目: 一组n个巨人正与n个鬼进行战斗,每个巨人的武器是一个质子炮, 它可以把一串质子流射中鬼而把鬼消灭。质子流沿直线行进,在击中鬼时就终止。巨人决定采取下述策略。他们寻找鬼配对,以形成 阅读全文
posted @ 2019-01-28 11:18 darrrr 阅读(201) 评论(0) 推荐(0)
摘要:emm... 今天刷了一道水题 居然 死循环了 真的是水题啊 顿时自闭 (救救孩子吧) 结果 bug是 我把for循环中的i的值改变了 使得i的值一直都不会达到他的边界值 于是就死循环了 所以 要用到for循环中的东西(比如i啊,j啊什么的) 再int 一个新的变量在让它附上i得值 是最保险的方法 阅读全文
posted @ 2019-01-28 09:27 darrrr 阅读(93) 评论(0) 推荐(0)
摘要:题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 注:数据有加强(2018/4/25) 输入输出格式 输入格式: 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= 阅读全文
posted @ 2019-01-26 10:25 darrrr 阅读(211) 评论(0) 推荐(0)
摘要:我一个小小小蒟蒻 不懂大佬们口中的词汇 可以说也是活的很艰难了 比如说本文的主角 ”离线在线“ 一.简单的理解 在线和离线可以简单的理解为对于所有的操作是否需要读入完毕。 二.标准理解和要求 在线的要求是可以不用先知道所有的操作(类似询问、修改),边读入边执行,类似“走一步,做一步”的思想。 离线则 阅读全文
posted @ 2019-01-25 15:39 darrrr 阅读(205) 评论(0) 推荐(0)
摘要:重载运算符有什么有哇!!! C++预定义中的运算符的操作对象只局限于基本的内置数据类型, 但是对于我们自定义的类型(类)是没有办法操作的 。但是大多时候我们需要对我们定义的类型进行类似的运算, 这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求。 有什么要注意的嘛!!!(原 阅读全文
posted @ 2019-01-25 15:26 darrrr 阅读(233) 评论(0) 推荐(0)
摘要:while (scanf("%d", &n) != EOF) 阅读全文
posted @ 2019-01-23 19:36 darrrr 阅读(109) 评论(0) 推荐(0)
摘要:还记得 前段时间学习二进制快速幂有多崩溃 当然这次方法略有不同 居然轻轻松松的 题目描述 输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 之前一直mle 是因为 用 阅读全文
posted @ 2019-01-23 15:53 darrrr 阅读(222) 评论(0) 推荐(0)
摘要:题目描述 输入22个正整数x_0,y_0(2 \le x_0<100000,2 \le y_0<=1000000)x0​,y0​(2≤x0​<100000,2≤y0​<=1000000),求出满足下列条件的P,QP,Q的个数 条件: P,QP,Q是正整数 要求P,QP,Q以x_0x0​为最大公约数, 阅读全文
posted @ 2019-01-23 14:25 darrrr 阅读(357) 评论(0) 推荐(0)
摘要:题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k 共n行,每行n个数,第i行第j个数表示矩阵第i行第j列的元素,每个元素模10^9+7 输入输出样例 阅读全文
posted @ 2019-01-23 10:23 darrrr 阅读(129) 评论(0) 推荐(0)
摘要:题目描述 N个人正在排队进入一个音乐会。人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人。队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的。 写一个程序计算出有多少对人可以互相看见。 输入输出格式 输入格式: 输入的第一行包含一个整数N (1 阅读全文
posted @ 2019-01-22 23:02 darrrr 阅读(161) 评论(0) 推荐(0)
摘要:题目背景 Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。 题目描述 John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个 阅读全文
posted @ 2019-01-22 20:38 darrrr 阅读(201) 评论(0) 推荐(0)
摘要:几个月之前学的 当时 可能只是明白了 但没有真正的掌握 以至与 现在的我 不记得多少了 所以 我觉得很有必要 写一写 st表 用于解决RMQ问题(区间最值问题) O(n logn) ST表是利用的是倍增的思想 拿最大值来说 我们用Max[i][j] Max[i][j] 表示,从i i 位置开始的2  阅读全文
posted @ 2019-01-22 19:52 darrrr 阅读(159) 评论(0) 推荐(0)
摘要:题目背景 2018 年 7 月 19 日,某位同学在 NOI Day 1 T1 归程 一题里非常熟练地使用了一个广为人知的算法求最短路。 然后呢? 100→60 Ag→Cu 最终,他因此没能与理想的大学达成契约。 小 F 衷心祝愿大家不再重蹈覆辙。 题目描述 给定一个 N 个点,M 条有向边的带非负 阅读全文
posted @ 2019-01-21 22:36 darrrr 阅读(220) 评论(0) 推荐(0)
摘要:<memory.h>或<string.h> 作用 memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。 对较大的结构体或数组进行清零操作的一种最快方法。、 注意注意注意注意 1.memset函数按字节对内存块进行初始 阅读全文
posted @ 2019-01-21 21:05 darrrr 阅读(249) 评论(0) 推荐(0)
摘要:1.我们可以使用系统提供的常量: 如果是int型,可以用INT_MAX表示正无穷,INT_MIN表示负无穷,需要包含头文件limits.h; 如果是double型,可以用DBL_MAX表示正无穷,-DBL_MAX表示负无穷(注意不是DBL_MIN),需要包含头文件float.h。 2.我们也可以自己 阅读全文
posted @ 2019-01-21 20:45 darrrr 阅读(4751) 评论(0) 推荐(0)
摘要:往堆中加一个元素的算法(put): 从堆中取出并删除一个元素的算法(get) 阅读全文
posted @ 2019-01-21 20:25 darrrr 阅读(173) 评论(0) 推荐(0)
摘要:题目背景 二分图 感谢@一扶苏一 提供的hack数据 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输出格式: 共一行,二分图最大匹配 输入输出样例 输入样例#1 阅读全文
posted @ 2019-01-21 13:59 darrrr 阅读(181) 评论(0) 推荐(0)
摘要:题目描述 一个学校里老师要将班上NNN个同学排成一列,同学被编号为1∼N1\sim N1∼N,他采取如下的方法: 先将111号同学安排进队列,这时队列中只有他一个人; 2−N2-N2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)1\sim (i -1)1 阅读全文
posted @ 2019-01-20 23:19 darrrr 阅读(434) 评论(0) 推荐(0)
摘要:题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式: 第一行是一个正整数NNN,表示了序列的长度。 第二行包含NNN个绝对值不大于100001000010000的整数AiA_iAi​,描述了这段序列。 输出格式: 一个整数,为最大的子段和是多少。子段的最小长度为 阅读全文
posted @ 2019-01-20 21:50 darrrr 阅读(202) 评论(0) 推荐(0)
摘要:题目描述 所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。 如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。 输入 阅读全文
posted @ 2019-01-20 20:05 darrrr 阅读(255) 评论(0) 推荐(0)
摘要:for(int i=1;i<=strlen(**);i++ 这很容易tle 因为 strlen很大 int m=strlen(**) 阅读全文
posted @ 2019-01-20 16:05 darrrr 阅读(145) 评论(0) 推荐(0)
摘要:题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000) 接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi 输出 阅读全文
posted @ 2019-01-20 15:49 darrrr 阅读(314) 评论(0) 推荐(0)
摘要:栈和队列我们可以用C++里自带的函数使用,就不必手写了 1、栈,需要开头文件 #include<stack> 定义一个栈s:stack<int> s; 具体操作: s.empty() 如果栈为空返回true,否则返回false s.size() 返回栈中元素的个数 s.pop() 删除栈顶元素但不返 阅读全文
posted @ 2019-01-20 09:05 darrrr 阅读(684) 评论(0) 推荐(0)
摘要:题目 现有数列A1,A2,…An ,修改最少的数字,使得数列严格单调递增。 依旧是书上的题 但是书上的范围比较小 而 lg上的数据范围很大 按书上的 方法 是会超时 只能过一半的数据 但是 算法思路还算可以 所以还是分析一下吧 #include<cstdio>using namespace std; 阅读全文
posted @ 2019-01-19 10:20 darrrr 阅读(223) 评论(0) 推荐(0)
摘要:各个评测状态 AC:Accept,程序通过。 CE:Compile Error,编译错误。 PC:Partially Correct,部分正确。 WA:Wrong Answer,答案错误。 RE:Runtime Error,运行时错误。 TLE:Time Limit Exceeded,超出时间限制。 阅读全文
posted @ 2019-01-18 20:36 darrrr 阅读(16560) 评论(6) 推荐(3)
摘要:题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第8 集中出现了一种石头剪刀布的升级版游戏。 升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势: 斯波克:《星际迷航》主角之一。 蜥蜴人:《星际迷航》中的反面角色。 阅读全文
posted @ 2019-01-18 16:02 darrrr 阅读(584) 评论(0) 推荐(0)
摘要:题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业。 有一天, 这些玩具小人把小南的眼镜藏了起来。 小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外。如下图: 这时singersingersinger告诉小南一个谜題: “眼镜藏在我左数第3个玩具小人的右数第111个玩具小人的左数 阅读全文
posted @ 2019-01-18 13:43 darrrr 阅读(174) 评论(0) 推荐(0)
摘要:据说 这是一道很水的题 emmm 好吧 是我过分水了 题目背景 迷宫 【问题描述】 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫 中移动有上下左右四种方式,每次只能移动一个方格。数据保证起 阅读全文
posted @ 2019-01-18 11:06 darrrr 阅读(116) 评论(0) 推荐(0)