摘要: 题目链接:Barcelonian Distance 题意:给定方格坐标,方格坐标上有两个点A,B和一条直线。规定:直线上沿直线走,否则沿方格走。求A到B的最短距离。 题解:通过直线到达的:A、B两点都有两种方式到直线上,最多4种情况,每种情况求出A、B点到直线的距离和直线上新的两点间距离,取4种情况 阅读全文
posted @ 2018-11-19 20:21 pavtlly 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 题目链接:子段求和 题意:n个数字序列,m次询问,每次询问从第p个开始L长度序列的子段和为多少。 题解:线段树区间求和 | 树状数组区间求和 线段树: 1 #include <cstdio> 2 #define LC(a) ((a<<1)) 3 #define RC(a) ((a<<1)+1) 4 阅读全文
posted @ 2018-11-18 22:13 pavtlly 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 题目链接:A Simple Problem with Integers 题意:N个数字,M次操作;操作分为两种,第一种将$[L,R]$区间内的每个数都加上C,第二种为求$[L,R]$区间内的数字和。 题解:线段树基本操作,区间修改和区间求和 1 #include <cstdio> 2 #define 阅读全文
posted @ 2018-11-18 21:44 pavtlly 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Plants vs. Zombies 题意:从1到n每个位置一棵植物,植物每浇水一次,增加ai高度。人的初始位置为0,人每次能往左或往右走一步,走到哪个位置就浇水一次。求m步走完后最低高度的植物最大高度为多少。 题解:明显二分答案的题目。check时从左往右遍历,贪心思路:把该位置满足同时 阅读全文
posted @ 2018-11-17 17:59 pavtlly 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 题目链接:路径和树 题意:给定无向带权连通图,求从u开始边权和最小的最短路树,输出最小边权和。 题解:构造出最短路树,把存留下来的边权全部加起来。(跑dijkstra的时候松弛加上$ < $变成$ <= $,因为之后跑到该顶点说明是传递下来的,该情况边权和最小。) 以样例作说明:第一次从顶点3跑到顶 阅读全文
posted @ 2018-11-14 19:49 pavtlly 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Edge Deletion 题意:给定一张n个顶点,m条边的带权无向图,已知从顶点1到各个顶点的最短路径为di,现要求保留最多k条边,使得从顶点1到各个顶点的最短距离为di的顶点最多。输出m条边中需要保留的边的编号。 题解:先跑一遍最短路,在松弛操作时,存父子关系和边,在以这些关系建立新图 阅读全文
posted @ 2018-11-14 18:14 pavtlly 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 比赛链接:Contest Setting C题 题意:$n$道题目,每道题目难度为$ai$,选择$k$道难度不同的题目,有多少种选择方案。$1<=k<=n<=1000,1<=ai<=10^9$ 题解:问题转化一下(map,离散化均可):m种难度,每种难度有bi道题目,每次从m种中选择k种,把对应的题 阅读全文
posted @ 2018-11-14 15:56 pavtlly 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 题目链接:M斐波那契数列 题意:$F[0]=a,F[1]=b,F[n]=F[n-1]*F[n-2]$。给定$a,b,n$,求$F[n]$。 题解:暴力打表后发现$ F[n]=a^{fib(n-1)} * b^{fib(n)} $ 斐波那契数列可用矩阵快速幂求解。但是此题中n较大,fib会爆掉。这时候 阅读全文
posted @ 2018-10-18 16:29 pavtlly 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Queuing 题意:有一支$2^L$长度的队伍,队伍中有female和male,求$2^L$长度的队伍中除 fmf 和 fff 的队列有多少。 题解:先推导递推式:$f[i]=f[i-1]+f[i-3]+f[i-4]$ 当前为f: 前一个为f(ff),那么再前一个只能为m(mff),再前 阅读全文
posted @ 2018-10-18 16:21 pavtlly 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Recursive sequence 题意:给出前两项和递推式,求第n项的值。 题解:递推式为:$F[i]=F[i-1]+2*f[i-2]+i^4$ 主要问题是$i^4$处理,容易想到用矩阵快速幂,那么$i^4$就需要从$(i-1)$转移过来。 $ i^4 = (i-1)^4 + 4*(i 阅读全文
posted @ 2018-10-17 23:55 pavtlly 阅读(211) 评论(0) 推荐(0) 编辑