算法竞赛进阶指南 0x00 基本算法
放在原来这个地方不太方便,影响阅读体验。为了读者能更好的刷题,另起一篇随笔。
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]
P2862 [USACO06JAN]把牛Corral the Cows 乍一看是一个二维前缀和,考虑要离散化。突破口在判定这里,考虑二分。大佬们用扫描线+二分,我这个蒟蒻在这里就不多bb了。
算法竞赛进阶指南 0x00 基本算法的更多相关文章
- 《算法竞赛进阶指南》0x10 基本数据结构 Hash
Hash的基本知识 字符串hash算法将字符串看成p进制数字,再将结果mod q例如:abcabcdefg 将字母转换位数字(1231234567)=(1*p9+2*p8+3*p7+1*p6+2*p5 ...
- 《算法竞赛进阶指南》1.4Hash
137. 雪花雪花雪花 有N片雪花,每片雪花由六个角组成,每个角都有长度. 第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,-,ai,6. 因为雪花的形状是封闭的环形,所以从任何一 ...
- bzoj 1787 && bzoj 1832: [Ahoi2008]Meet 紧急集合(倍增LCA)算法竞赛进阶指南
题目描述 原题连接 Y岛风景美丽宜人,气候温和,物产丰富. Y岛上有N个城市(编号\(1,2,-,N\)),有\(N-1\)条城市间的道路连接着它们. 每一条道路都连接某两个城市. 幸运的是,小可可通 ...
- POJ1639 算法竞赛进阶指南 野餐规划
题目描述 原题链接 一群小丑演员,以其出色的柔术表演,可以无限量的钻进同一辆汽车中,而闻名世界. 现在他们想要去公园玩耍,但是他们的经费非常紧缺. 他们将乘车前往公园,为了减少花费,他们决定选择一种合 ...
- 算法竞赛进阶指南--快速幂,求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 ...
- 算法竞赛进阶指南0x14 Hash
组成部分: 哈希函数: 链表 AcWing137. 雪花雪花雪花 因为所需要数据量过于大,所以只能以O(n)的复杂度. 所以不可能在实现的过程中一一顺时针逆时针进行比较,所以采用一种合适的数据结构. ...
- 《算法竞赛进阶指南》1.6Trie
142. 前缀统计 给定N个字符串S1,S2-SN,接下来进行M次询问,每次询问给定一个字符串T,求S1-SN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106,仅包含小写字母. 输入格式 ...
- 《算法竞赛进阶指南》 1 (P4) a^b 快速幂
快速幂 #include<cstdio> #include<cmath> #include<iostream> using namespace std; long ...
- POJ1722 算法竞赛进阶指南 SUBSTRACT减操作
原题连接 题目描述 给定一个整数数组\(a_1,a_2,-,a_n\). 定义数组第 i 位上的减操作:把\(a_i\)和\(a_{i+1}\)换成\(a_i - a_{i+1}\). 用con(a, ...
随机推荐
- jQuery file upload上传图片出错分析
以https://github.com/blueimp/jQuery-File-Upload/blob/master/basic-plus.html为例 注释掉load-image.all.min.j ...
- SSH port forwarding: bind: Cannot assign requested address
https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/
- rtmp协议分析
最近需要做一个rtmp服务器,着手分析一下rtmp协议,开干. rtmp握手 这个推荐一篇文章讲解得比较透彻http://blog.sina.com.cn/s/blog_676e11660102v8b ...
- Python深度学习读书笔记-3.神经网络的数据表示
标量(0D 张量) 仅包含一个数字的张量叫作标量(scalar,也叫标量张量.零维张量.0D 张量).在Numpy 中,一个float32 或float64 的数字就是一个标量张量(或标量数组).你可 ...
- nw.js node-webkit基本程序结构与配置package.json配置说明
(一)基本程序结构 如上图,是一个nw程序的基本组织结构,在根目录下有package.json(程序的配置文件)和index.html(可以是任意名称,应用的启动页面):js/css/resource ...
- Application.CreateForm()和TForm.Create()创建的窗体有什么区别么?二者在使用上各有什么技巧?(50分)
https://wedelphi.com/t/135849/ 请详细些,并给出例子.谢谢. Application.CreateForm()创建的第一个可显示的窗体是自动成为主窗体,并且自动显示,并且 ...
- 使用cesium中的scene.open中遇到的几个问题
有些服务是发在场景(scene)下的,超图提供了一个很方便的方法:scene.open,这个方法会将场景中所有的图层(无论是OSGB还是影像和地形)加载进来.同时这个方法会自带一个自动地位功能,具体实 ...
- 【Airtest】Airtest中swipe方法兼容不同分辨率的解决方法
使用Airtest中swipe方法由于不同分辨率的手机上滑动的坐标位置不同,所以想要兼容所有的手机,仅仅靠固定坐标就会出现问题 想要兼容所有的手机,可以按照如下思路进行 1.首先获取手机的分辨率,可以 ...
- vue--》如何使用wacth监听对象的属性变化?
在开发过程中,我们经常需要监听watch监听一个对象的变化,但是如何来实现 监听对象中属性的变化呢? 先回顾一下如何监听整个对象的变化,使用watch就行了 export default { ...
- C语言Ⅰ博客作业02
1. 这个作业属于哪个课程 C语言程序设计Ⅰ 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/8656 我在这个课程 ...