自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

拾柒的博客

一个菜鸡的成长之路

  • 博客(19)
  • 收藏
  • 关注

原创 博客园地址

https://www.cnblogs.com/zyysyang/

2019-06-29 10:12:50 274

原创 【反转(开关问题)】Face The Right Way

Step1 Problem原题N头牛排成了一列。每头牛头向前或向后。为了让所有的牛都面向前方,农夫约翰买了一台自动转向的机器。这个机器在购买时就必须设定一个数值K,机器每操作一次恰好使K头连续的牛转向。求让所有牛都能面向前方需要的最少操作次数M和对应的最小的K.Step2 Ideas:如果按照枚举做肯定会TLE,首先排除。交换区间翻转的顺序对结果是没有影响的。而且没有必要对...

2019-06-24 20:47:56 261

原创 【尺取法】Jessica's Reading Problem

Step1 Problem原题一个人复习一本书,这本书的每一页都有一个知识点ai,每一页的知识点可能会与其他页的知识点相同,问你如何读最少页,将所以知识点读完。Step2 Ideas:尺取法通常是指对数组保存下一对下标(起点、终点),燃豆很具实际情况交替推进两个端点直到得出答案的方法。确定下知识点的个数,便用尺取法推进得到答案。Step3 Code:#include...

2019-06-21 20:35:27 613

原创 【状态压缩】关灯问题2

Step1 Problem原题现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果...

2019-05-18 20:52:11 311

原创 【AC自动机】多模匹配算法

写了个模板题,加强版借鉴大佬的代码P3808 【模板】AC自动机(简单版)#include <queue>#include <cstdlib>#include <cmath>#include <cstdio>#include <string>#include <cstring>#include <ios...

2019-05-03 11:06:01 308

原创 【蔡勒公式 】根据给定的年月日求出对应星期几

蔡勒公式蔡勒(Zeller)公式,是一个计算星期的公式,随便给一个日期,就能用这个公式推算出是星期几。时间复杂度:O(1)。若要计算的日期是在1582年10月4日或之前,公式则为:如果没有是之后的话:可以这样:也可以这样:具体推导:蔡勒公式的推导过程贴个代码:int whatday(int d, int m, int y){ int ans; if(m ==...

2019-04-10 11:17:55 2256 1

原创 【线段树】结训赛— H - 【金色】种瓜得瓜,种豆得豆

Step1 Problem原题一个人有很多家公司给他了offer,但是他看了看觉得薪水都太低了,并不想参加,于是决定回家种地。(任性啊,这个人)他在家里开始种西瓜,家里一共有n块瓜田,每年可以产出ai个西瓜。每年亮皇回家的时候都会看看他种的这块地,他会做以下下两种操作之一:1、询问一段土地从第一年开始,到当年结束一共生产了多少个西瓜。2、在一段土地上种上黄豆,这样可以让这块西瓜地从...

2019-02-23 02:49:52 275

原创 【快速幂 && 素数筛 && 数论】Carmichael Numbers

Step1 Problem原题一个非素数n,如果对于任意2&lt;=a&lt;=n-1的a都有a^n mod n =a,则称n是一个卡迈克尔数,给出一整数n,判断其是否是卡迈克尔数Step2 Ideas:首先判断n是不是素数,不是素数直接枚举a快速幂算出a^n是否等于a即可,时间复杂度O(nlogn),包含两种求快速幂的方法,递归和循环Step3 Code:#inc...

2019-02-21 16:31:50 197

原创 【贝祖定理 && 数论】Codeforces 1011F Border

Step1 Problem原题给你n个数,每个数能无限次和其他任意个数自由组合得到一个新的数,所有新的数在k进制下的最后一位有多少种情况,按升序输出所有情况。Step2 Ideas:预处理出每一个数在k进制下的最后一位的情况,然后得出他们的最大公因数,根据贝祖定理得到的最大公因数可以算出他们的在k内的所有可能组合,注意超过的部分要取模。可以发现,设某数值为a,任意个a的和在k...

2019-02-21 10:40:32 454

翻译 【线段树】浅析--线段树

线段树了解线段树,什么线段树,线段树定义;创建线段树;线段树的维护;线段树的查询;题目练习;核心:线段树维护的是区间信息!!!!一、了解线段树 :题目一:10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。修改:无统计:1.编号从L到R的所有数之和为多少? 其中1&amp;amp;amp;amp;lt;= L &amp;amp;amp;amp;lt;= R &amp;amp;amp;amp;l

2019-02-14 23:45:07 336

原创 【KMP】数据结构实验之串三:KMP应用

KMP基础这是个KMP算法的裸题,没什么好说的主要是为了储备算法,以后好看,实名安利一波哔哩哔哩,里面大佬讲的真的都挺好的,再结合一下博客应该可以比较直观的对KMP有大概认识。数据结构实验之串三:KMP应用 :这题本来可以直接while循环嵌套写的,不过为了突出KMP的各个部分特地分开写了。#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#i...

2018-12-30 23:49:12 615 1

原创 【线段树】3771->数组计算机

线段树基础老样子先上定义线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,实际应用时一般还要开4N的数组以免越界,因此有时需要离散化让空间压缩。线段树分为两种修改方式。一种是点修改,一种是区间修改。现在只写了点修改...

2018-12-30 22:06:24 196

原创 【字典树】2828 -> 字典树

字典树先上个定义。又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。字典树有两种构建方式,一种是指针构建,一种是数组构建。思路答题一样不过自我感觉指针好理解,数组好写好构建...

2018-12-29 00:26:07 301 2

原创 【堆排 && 思路】数据结构实验之排序四:寻找大富翁

一个看似很水但很坑的题:数据结构实验之排序四:寻找大富翁这题时间压的很短只有200ms,用平常的堆排序。直接T,别问我怎么知道(心累啊),要不也不会写这篇博客。直接上代码。这题关键在于用了一个很巧妙的思想,没有去对所有1e6的数据全部堆排,而转去维护了m个小顶堆,这样效率大大提高。最终能维护成一个m个最大元素组成的小顶堆。最终输出就好了。(*注:记得维护的是小顶堆而输出要从大到小。所以还要进行一...

2018-12-28 18:57:57 513

原创 【堆 && 哈弗曼树】树-堆结构练习——合并果子之哈夫曼树

堆排序的应用之哈夫曼树1952年, David A. Huffman提出了一个不同的算法,这个算法可以为任何的可能性提供出一个理想的树。香农-范诺编码(Shanno-Fano)是从树的根节点到叶子节点所进行的的编码,哈夫曼编码算法却是从相反的方向,暨从叶子节点到根节点的方向编码的。1、为每个符号建立一个叶子节点,并加上其相应的发生频率2、当有一个以上的节点存在时,进行下列循环:把这些节点...

2018-12-28 18:42:24 453

原创 【平衡二叉树】数据结构实验之查找二:平衡二叉树

平衡二叉树刚开始接触平衡二叉树,没有什么太多要分析的博客里有很多大佬的写的很好。平衡二叉树就是每个节点的子树的高度差不超过1的二叉树。可以快速搜索数值的一种算法,最糟的情况就是一直找到底,但也是log(n)的。还是快很多。#include&amp;amp;lt;stdlib.h&amp;amp;gt;#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;string.h&amp;a

2018-12-25 22:06:45 203

原创 【二叉树】数据结构实验之二叉树的建立与遍历 2136

写这篇主要因为这题概括了我现在学到的二叉树的大部分知识点,所以每一个都用函数标识了。题目:数据结构实验之二叉树的建立与遍历#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;string.h&amp;amp;amp;gt;#define max(a,

2018-12-21 18:00:17 194 1

原创 【栈 && 单调栈】浅谈单调栈与单调栈的理解

单调栈定义:单调栈,顾名思义,是栈内元素保持一定单调性(单调递增或单调递减)的栈。这里的单调递增或递减是指的从栈顶到栈底单调递增或递减。既然是栈,就满足后进先出的特点。与之相对应的是单调队列。实现:例如实现一个单调递增的栈,比如现在有一组数10,3,7,4,12。从左到右依次入栈,则如果栈为空或入栈元素值小于栈顶元素值,则入栈;否则,如果入栈则会破坏栈的单调性,则需要把比入栈元素小的元素全...

2018-12-21 17:53:52 3128 2

原创 【简单dp】2080->最长公共子序列问题 动态规划

最长公共子序列问题关于思路因为比较菜所以只能写出dp的一些皮毛Ax = By那么它们L(Ax, By)的最后一项一定是这个元素!如果我们从序列Ax中删掉最后一项ax得到Ax-1,从序列By中也删掉最后一项by得到By-1,(多说一句角标为0时,认为子序列是空序列),则我们从L(x,y)也删掉最后一项t得到的序列是L(x – 1, y - 1)。因此L(x, y) = L(x - 1, ...

2018-12-12 20:19:52 1537

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除