《算法竞赛进阶指南》刷题记录

lqsukida lqsukida     2023-01-21     302

关键词:

总算闲下来一些辣!然后最近发现其实看书是真真很有效但是一直没有落实!所以决定落实一下这段时间把这本书看完题目做完!

然后发现还有挺多题目挺巧妙的于是一堆博客预警,,,可能最近会写很多比较水(但是我还是不会做)的题目的题解

 

先放个空壳子晚上再来写qwq

《算法竞赛进阶指南》-acwing-94.递归实现排列型枚举-题解(代码片段)

目录递归实现排列型枚举问题描述样例输入样例输出解题思路递归实现排列型枚举传送门问题描述升序输出所有nnn的全排列(0<n<10)(0<n<10)(0<n<10)样例输入3样例输出123132213231312321解题思路类似递归实现指数型枚举和递... 查看详情

《算法竞赛进阶指南》-acwing-94.递归实现排列型枚举-题解(代码片段)

目录递归实现排列型枚举问题描述样例输入样例输出解题思路递归实现排列型枚举传送门问题描述升序输出所有nnn的全排列(0<n<10)(0<n<10)(0<n<10)样例输入3样例输出123132213231312321解题思路类似递归实现指数型枚举和递... 查看详情

算法竞赛进阶指南基本算法:递推与递归(代码片段)

递归实现指数型枚举题模板题:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<int,int>pii;#definepbpush_back#definefifirst#definesesecondconstintN=1e5+10;intn 查看详情

《算法竞赛进阶指南》0x43线段树扫描线算法poj2482(代码片段)

...每个点框定的区域,求区域叠加的最大值,可以通过如下算法:将每个可行点都标记,记录这些点上的权值,维护一个叶结点是一个权值点的线段树,更新的时候注意,由于所有的点都是可行点,所以右边界要在最后删除,遇到... 查看详情

《算法竞赛进阶指南》0x56状态压缩dpacwing529宝藏(代码片段)

题目链接:https://www.acwing.com/problem/content/531/ 题目给出不超过12个点,和一些边,第一个点不用花费,其余的点都要根据深度和扩展的边长来确定花费,通过dp,将层数作为阶段,每个阶段用状态压缩记录12个点中已经走过的... 查看详情

算法竞赛进阶指南基本算法-位运算(代码片段)

a^bPOJ1995位运算与快速幂关于快速幂的基本知识:每一个正整数都可以唯一的表示为若干指数不重复的2的次幂的和。(奇数由-1的偶数+1得到)b&1表示b的最低位(右边第一位);b>>=1可以舍去最低位... 查看详情

《算法竞赛进阶指南》0x50动态规划

题目后面加∗*∗表示题目过于简单或不具备特征性,不做题解线性DPAcWing271.杨老师的照相排列811人打卡AcWing272.最长公共上升子序列778人打卡(∗*∗)AcWing273.分级536人打卡AcWing274.移动服务513人打卡AcWing275.传纸条568人打卡(... 查看详情

算法竞赛进阶指南基础算法:前缀和与差分(代码片段)

激光炸弹题求一颗炸弹炸掉的最大价值,就是求以R为边长的正方形的覆盖范围的价值最大值。用二维前缀和把图跑一遍(构造),然后再跑一遍(遍历求R*R);知道公式直接套用即可。#include<bits/stdc... 查看详情

《算法竞赛进阶指南》0x03差分(代码片段)

题目链接:https://www.acwing.com/problem/content/102/给定一个序列,只能对一个区间加一或者减一,问至少需要多少步使得所有数都变成一致的?有多少种一致序列?利用差分,对一个区间进行加一或者减一的话,一定是一个差分+1加上... 查看详情

算法竞赛进阶指南usaco07tallestcow(代码片段)

前缀和,利用左右端点操作代替对区间的操作,从而优化输入,最后进行一次前缀和的操作,求得结果,这道题里面有个很关键的问题,就是需要去重,本来我想用set,但貌似有点鬼畜,算了,利用map去重,还有pair类型(学一... 查看详情

《算法竞赛进阶指南》0x32约数余数之和(代码片段)

题目链接:https://www.acwing.com/problem/content/201/求k对1-n所有数取模的和。证明一段可以作为等差数列来求,证明如下:(转自ACwing)        代码如下:#include<iostream>usingnamespacestd;typedeflonglo 查看详情

《算法竞赛进阶指南》0.6倍增(代码片段)

109.天才ACM给定一个整数M,对于任意一个整数集合S,定义“校验值”如下:从集合S中取出M对数(即2?M个数,不能重复使用集合中的数,如果S中的整数不够M对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大... 查看详情

算法竞赛进阶指南第二章--题解(代码片段)

就这样,我在繁忙的语言考试和期中考试还有科研中抽出时间来写完了这一章,感觉还有好多,但似乎看得到希望。HDOJ4699(对顶栈)题意:一个整数序列的编辑器有以下五种操作:1.Ix,在当前光标位置之后插入一个整数x,插... 查看详情

《算法竞赛进阶指南》0.4二分(代码片段)

102.最佳牛围栏农夫约翰的农场由N块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头。约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。... 查看详情

《算法竞赛进阶指南》1.8总结与练习(代码片段)

150.括号画家达达是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的达达画了一排括号序列,其中包含小括号()、中括号[]和大括号,总长度为N。这排随意绘制的括号序列显得杂乱无章,于是达达定义... 查看详情

《算法竞赛进阶指南》0.8总结与练习(代码片段)

116.飞行员兄弟“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个4х4的矩阵,您可... 查看详情

《算法竞赛进阶指南》-acwing-97.约数之和sumdiv-题解

目录Sumdiv问题描述问题分析Sumdiv传送门问题描述求ABA^BAB的所有约数之和mod 9901(0≤A,B≤5∗107)mod\\9901(0\\leqA,B\\leq5*10^7)mod 9901(0≤A,B≤5∗107)问题分析把AAA质因数分解,表示为p1k1∗p2c2∗⋯∗pncnp_1^k_1*p_2^c_2*\\cdots*p_n^c_np1k1​​ 查看详情

《算法竞赛进阶指南》-acwing-97.约数之和sumdiv-题解

目录Sumdiv问题描述问题分析Sumdiv传送门问题描述求ABA^BAB的所有约数之和mod 9901(0≤A,B≤5∗107)mod\\9901(0\\leqA,B\\leq5*10^7)mod 9901(0≤A,B≤5∗107)问题分析把AAA质因数分解,表示为p1k1∗p2c2∗⋯∗pncnp_1^k_1*p_2^c_2*\\cdots*p_n^c_np1k1​​ 查看详情