随笔分类 -  acwing 算法进阶

摘要:求单源最短路径 迪杰斯特拉算法 O(n n) inlcude include Include include using namespace std; int a[1000][1000],d[1000],n,m; bool v[1000]; void dijkstra() { memset(d,0f 阅读全文
posted @ 2020-04-09 16:05 arbor_one 阅读(123) 评论(0) 推荐(0)
摘要:DFS 翰翰和达达饲养了N只小猫,这天,小猫们要去爬山。 经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕 _ include include using namespace std; int cab[20],c[20],w,ans,n; void dfs(int no 阅读全文
posted @ 2020-02-12 09:11 arbor_one 阅读(123) 评论(0) 推荐(0)
摘要:用分组的想法来做 给定m个序列,每个包含n个非负整数。 现在我们可以从每个序列中选择一个数字以形成具有m个整数的序列。 很明显,我们一共可以得到nm个这种序列, 然后我们可以计算每个序列中的数字之和,并得到nm个值。 现在请你求出这些序列和之中最小的n个值。 输入格式 第一行输入一个整数T,代表输入 阅读全文
posted @ 2020-02-09 11:23 arbor_one 阅读(201) 评论(0) 推荐(0)
摘要:后缀数组 (SA) 是一种重要的数据结构,通常使用倍增或者DC3算法实现,这超出了我们的讨论范围。 在本题中,我们希望使用快排、Hash与二分实现一个简单的O(nlog2n)的后缀数组求法。 详细地说,给定一个长度为 n 的字符串S(下标 0~n 1),我们可以用整数 k(0≤k include i 阅读全文
posted @ 2020-02-07 12:53 arbor_one 阅读(146) 评论(0) 推荐(0)
摘要:计算回文字符串最大长度模板题 如果一个字符串正着读和倒着读是一样的,则称它是回文的。 给定一个长度为N的字符串S,求他的最长回文子串的长度是多少。 输入格式 输入将包含最多30个测试用例,每个测试用例占一行,以最多1000000个小写字符的形式给出。 输入以一个以字符串“END”(不包括引号)开头的 阅读全文
posted @ 2020-02-07 11:20 arbor_one 阅读(225) 评论(0) 推荐(0)
摘要:雪花雪花雪花 用到的是最小表示法 有N片雪花,每片雪花由六个角组成,每个角都有长度。 第i片雪花六个角的长度从某个角开始顺时针依次记为ai,1,ai,2,…,ai,6。 因为雪花的形状是封闭的环形,所以从任何一个角开始顺时针或逆时针往后记录长度,得到的六元组都代表形状相同的雪花。 例如ai,1,ai 阅读全文
posted @ 2020-02-06 13:08 arbor_one 阅读(713) 评论(0) 推荐(0)
摘要:最大子序列和模板 用单调队列 include include include using namespace std; const int N=300100; int sum[N]; int ans= N; int q[N]; int main() {int n,m; cin n m; for(in 阅读全文
posted @ 2020-02-05 12:19 arbor_one 阅读(124) 评论(0) 推荐(0)
摘要:蛐蛐国最近蚯蚓成灾了! 隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。 蛐蛐国里现在共有 n 只蚯蚓,第 i 只蚯蚓的长度为 ai ,所有蚯蚓的长度都是非负整数,即可能存在长度为0的蚯蚓。 每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只,将其切成两段。 若有多只最 阅读全文
posted @ 2020-02-04 14:02 arbor_one 阅读(274) 评论(0) 推荐(0)
摘要:有n个小组要排成一个队列,每个小组中有若干人。 当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。 请你编写一个程序,模拟这种小组队列。 输入格式: 输入将包含一个或多个测试用例。 对于每个测试用例,第一行输入小组数量t。 接下来t行, 阅读全文
posted @ 2020-02-04 10:51 arbor_one 阅读(247) 评论(0) 推荐(0)
摘要:单调栈问题 直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度。 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中 阅读全文
posted @ 2020-02-03 17:05 arbor_one 阅读(146) 评论(0) 推荐(0)
摘要:一列火车n节车厢,依次编号为1,2,3,…,n。 每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。 输入格式 输入一个整数n,代表火车的车厢数。 输出格式 输出一个整数s表示n节车厢出栈的可能排列方式数量。 数据范围 1≤n≤60000 输入样例: 3 输出样例: 5 这道 阅读全文
posted @ 2020-02-03 12:41 arbor_one 阅读(301) 评论(0) 推荐(0)
摘要:这里有n列火车将要进站再出站,但是,每列火车只有1节,那就是车头。 这n列火车按1到n的顺序从东方左转进站,这个车站是南北方向的,它虽然无限长,只可惜是一个死胡同,而且站台只有一条股道,火车只能倒着从西方出去,而且每列火车必须进站,先进后出。 也就是说这个火车站其实就相当于一个栈,每次可以让右侧头火 阅读全文
posted @ 2020-02-02 13:03 arbor_one 阅读(212) 评论(0) 推荐(0)
摘要:通过O(1)的时间实现栈的前缀和 你将要实现一个功能强大的整数序列编辑器。 在开始时,序列是空的。 编辑器共有五种指令,如下: 1、“I x”,在光标处插入数值x。 2、“D”,将光标前面的第一个元素删除,如果前面没有元素,则忽略此操作。 3、“L”,将光标向左移动,跳过一个元素,如果左边没有元素, 阅读全文
posted @ 2020-02-02 12:03 arbor_one 阅读(181) 评论(0) 推荐(0)
摘要:用简单技巧求出等差数列的和 达达学习数学竞赛的时候受尽了同仁们的鄙视,终于有一天......受尽屈辱的达达黑化成为了黑暗英雄怪兽达达。 就如同中二漫画的情节一样,怪兽达达打算毁掉这个世界。 数学竞赛界的精英 lqr 打算阻止怪兽达达的阴谋,于是她集合了一支由数学竞赛选手组成的超级行动队。 由于队员们 阅读全文
posted @ 2020-02-02 09:51 arbor_one 阅读(158) 评论(0) 推荐(0)
摘要:最近点对问题模板题 在与联盟的战斗中屡战屡败后,帝国撤退到了最后一个据点。 依靠其强大的防御系统,帝国击退了联盟的六波猛烈进攻。 经过几天的苦思冥想,联盟将军亚瑟终于注意到帝国防御系统唯一的弱点就是能源供应。 该系统由N个核电站供应能源,其中任何一个被摧毁都会使防御系统失效。 将军派出了N个特工进入 阅读全文
posted @ 2020-02-01 10:24 arbor_one 阅读(347) 评论(0) 推荐(0)
摘要:位运算 1. 求a的b次方对p取模的值 快速幂模板 typedef long long ll; long long power(ll a,ll b,ll p) { int ans=1%p; while(b) { if(b&1) ans=ans a%p; a=a a%p; b =1; } return 阅读全文
posted @ 2020-01-31 20:21 arbor_one 阅读(98) 评论(0) 推荐(0)