09 2018 档案
摘要:题意 有n个数和m个运算符,按顺序选m个数进行运算,初值为k,问最后能得到的最大值是多少。 思路 dp[i][j]表示选到了第i个数时用了j个运算符,观察发现,一个数只能由他前一个状态的最大值或最小值转移过来(因为乘上一个负数会使最小的数变最大),所以我们同时维护最大最小。 然后转移就行了,需要注意
阅读全文
摘要:题意 维护一个数据结构,使得能进行两种操作 1.查询[l,r]内a[l]×L+a[l+1]×(L−1)+⋯+a[r−1]×2+a[r]之和,L是区间长度。 2.单点更新一个值 思路 线段树和树状数组只能维护区间和,但此题每项有与区间长度相关的权值。 聪明的鸡神想到了三角形法,分别维护(n-i)*a[
阅读全文
摘要:题意 后浪推前浪,每个浪是一个矩形,由两条边组成,后形成的浪会把之前浪的边吞掉,问最后剩下的边的总长度。 思路 越后生成的浪保留的边越多,所以我们反过来放就保证我们先放的不会被吞,采用集合存放点,每次放新的点的时候查找到他正左端的点和正右端的点,在ans上加上横纵坐标之差就完成了。 题目保证没有任两
阅读全文
摘要:题意 两个人在一起玩galgame,一个人想看good ending,另一个想看bad ending,两个人轮流选选项都按最优策略选,问最后能看到什么结局。 思路 可以理解为一个人想让最终分数尽可能高,另一个想让最终分数尽可能低,然后根据每个问题双向dp,一下子就写出来了。 代码 后记 这题赛时没想
阅读全文
摘要:题意 给你一棵树和每条边的权值,m次询问,求任两点间距离,LCA+tarjin裸题。 思路 能用的算法大概也很多吧,但是就为了练一手LCA+tarjin我就来做这题了,够裸了,还能验板子233。 这个算法主要是用到了并查集,找LCA,在找到询问对的时候存下LCA。然后最后利用公式结合tarjin得来
阅读全文
摘要:题意 在一个n*m的地图的线上造迷宫,给出每条边的造价,造出迷宫,使得地图上任两点有且仅有一条路,使迷宫造价最低,题目保证这样的迷宫唯一。建出迷宫之后有q次询问,询问两点间的距离。 思路 迷宫构造问题,起初没有思路,在一段思索之后和鸡神想出了反其道而行之的办法,先假设所有墙都有,我们要满足题设条件就
阅读全文

浙公网安备 33010602011771号