放在原来这个地方不太方便,影响阅读体验。为了读者能更好的刷题,另起一篇随笔。

0x00 基本算法

0x01 位运算

[题目][64位整数乘法] 知识点:快速幂思想的灵活运用

[题目][最短Hamilton路径] 知识点: 状压DP。我的题解总是写得不好,大家还是看书吧qwq

P2114 [NOI2014]起床困难综合症 知识点:状态压缩

0x02 递推与递归

[题目][费解的开关] 知识点:搜索?递推?模拟? +状压

[题目] 4座塔的Hanoi 知识点:递推

[题目][约数和问题] 知识点:数学+分治

0x03 前缀和和差分

[HNOI2003]激光炸弹 知识点: 二维前缀和模板

[题目] [IncDec Sequence] 知识点: 对差分的理解

P2879 Tallest Cow 知识点: 差分

0x04 二分

[题目] [Best Cow Fences] 知识点: 二分+前缀和做最大子段和

给你一个正整数序列 \(a[]\) 求一个平均数最大、长度不小于 \(L\) 的连续子段

0x05 排序

[题目][货仓选址] 经典问题,洛谷期中考试部分分考过,选中位数。

[题目][七夕祭] 一道好题。看起来很复杂,其实可以抽象成两次“环形均分纸牌”问题,再经过思考分析,可以再转化成“均分纸牌”+“货仓选址”两个基本问题。

这也启发到我们(引用书上原话):这个问题的每一步都仅用到基本算法的性质,最后转化成了简单而经典的问题。我们应该时刻把各种模型之间的简化,扩展和联系作为算法学习的设计脉络,以点成线,触类旁通,才能产生数量到质量的飞跃。

[关于动态维护中位数] 有一种叫做“对顶堆”的做法。 开一个大根堆一个小根堆,把 \(1\) 到 \(\frac{m}{2}\) 的数储存在大根堆里,把 \(\frac{m}{2}+1\) 到 \(m\) 的数储存在小根堆里,这样两个堆的堆顶都在中心位置,就可动态维护中位数了,很好理解。

0x06 倍增 和 0x07 贪心

今天把0x06倍增 和 0x07贪心 都看完了,书上实在是讲得太好了。题外话:后天就要开学考试了!

0x08 总结与练习

[题目+Code][The Pilots Brothers' refrigerator]

[题目(模拟)] [占卜DIY]

P2862 [USACO06JAN]把牛Corral the Cows 乍一看是一个二维前缀和,考虑要离散化。突破口在判定这里,考虑二分。大佬们用扫描线+二分,我这个蒟蒻在这里就不多bb了。

算法竞赛进阶指南 0x00 基本算法的更多相关文章

  1. 《算法竞赛进阶指南》0x10 基本数据结构 Hash

    Hash的基本知识 字符串hash算法将字符串看成p进制数字,再将结果mod q例如:abcabcdefg 将字母转换位数字(1231234567)=(1*p9+2*p8+3*p7+1*p6+2*p5 ...

  2. 《算法竞赛进阶指南》1.4Hash

    137. 雪花雪花雪花 有N片雪花,每片雪花由六个角组成,每个角都有长度. 第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,-,ai,6. 因为雪花的形状是封闭的环形,所以从任何一 ...

  3. bzoj 1787 && bzoj 1832: [Ahoi2008]Meet 紧急集合(倍增LCA)算法竞赛进阶指南

    题目描述 原题连接 Y岛风景美丽宜人,气候温和,物产丰富. Y岛上有N个城市(编号\(1,2,-,N\)),有\(N-1\)条城市间的道路连接着它们. 每一条道路都连接某两个城市. 幸运的是,小可可通 ...

  4. POJ1639 算法竞赛进阶指南 野餐规划

    题目描述 原题链接 一群小丑演员,以其出色的柔术表演,可以无限量的钻进同一辆汽车中,而闻名世界. 现在他们想要去公园玩耍,但是他们的经费非常紧缺. 他们将乘车前往公园,为了减少花费,他们决定选择一种合 ...

  5. 算法竞赛进阶指南--快速幂,求a^b mod p

    // 快速幂,求a^b mod p int power(int a, int b, int p) { int ans = 1; for (; b; b >>= 1) { if (b &am ...

  6. 算法竞赛进阶指南0x14 Hash

    组成部分: 哈希函数: 链表 AcWing137. 雪花雪花雪花 因为所需要数据量过于大,所以只能以O(n)的复杂度. 所以不可能在实现的过程中一一顺时针逆时针进行比较,所以采用一种合适的数据结构. ...

  7. 《算法竞赛进阶指南》1.6Trie

    142. 前缀统计 给定N个字符串S1,S2-SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106,仅包含小写字母. 输入格式 ...

  8. 《算法竞赛进阶指南》 1 (P4) a^b 快速幂

    快速幂 #include<cstdio> #include<cmath> #include<iostream> using namespace std; long ...

  9. POJ1722 算法竞赛进阶指南 SUBSTRACT减操作

    原题连接 题目描述 给定一个整数数组\(a_1,a_2,-,a_n\). 定义数组第 i 位上的减操作:把\(a_i\)和\(a_{i+1}\)换成\(a_i - a_{i+1}\). 用con(a, ...

随机推荐

  1. 一、基础篇--1.1Java基础-自定义注解的场景及实现

    自定义注解使用场景: 类属性自动赋值,例如对上下文.传入参数等赋值 验证对象属性完整性,例如,对参数的校验 代替配置文件功能,像spring基于注解的配置 可以生成文档,例如java 最早提供的注解. ...

  2. CentOS7配置静态IP中NM_CONTROLLED不要设置为NO

    这个是网络管理的,之前一直是把这个选项设置为NO,然后在CentOS其中,每次重启网络服务都会失败,后来把这个设为YES就可以了.

  3. 初识Nginx及其LNMP搭建

    Nginx介绍 nginx www服务软件 俄罗斯人开发 开源 性能很高 web产品 大小780k c语言开发 本身是一款静态www软件,不能解析php jsp .do 最大特点 静态小文件(1m), ...

  4. 【算法与数据结构】图的最小生成树 MST - Prim 算法

    Prim 算法属于贪心算法. #include <stdio.h> #define VERTEXNUM 7 #define INF 10000 typedef struct Graph { ...

  5. eslint+prettier 的 VSCode配置项

    { "files.autoSave": "off", "editor.fontSize": 12, "terminal.integ ...

  6. 【Linux开发】【Qt开发】arm-linux-gnueabihf-gdb versus gdb-multiarch

    主要是说,在Ubuntu14.04 64bit的操作系统上,配置Qt的gdb和gcc的时候,在Qt build&run选项中,debugger中选中arm-linux-gnuabihf-gdb ...

  7. myBatis 基于javaBean配置

    MyBatis的持久化解决方案是将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句, 无须关注底层的JDBC操作,就可以以面向对象的方式来进行持久化层操作.底层数据库连接的获取, ...

  8. Python解释器判断整数相加溢出

    溢出,则和的最高位(即符号位)与两个加数都不相同,例如 1)非负数+非负数=负数 2)负数+负数=非负数 那么,假设x为a与b的和,((a^b)>=0 && (x^a)<0 ...

  9. Java常用的日志框架

    1.Java常用日志框架对比 https://www.jianshu.com/p/bbbdcb30bba8 2.Log4j,Log4j2,Logback日志框架性能对比 https://bbs.hua ...

  10. Clover的简单使用

    官网: http://cn.ejie.me 操作说明相关: 方便的 Tab 页功能 要掌握功能强大,操作简单的标签页,只需记住Ctrl+T新开页面,Ctrl+W关闭页面,Ctrl+Tab切换页面,工作 ...