冰茶姬
无线通讯网
二分,对于每一个,将两个距离不超过的点连边,连边后检查连通块的个数是否不大于(必须两边都有卫星电话才能通话),当只有一个连通块时不需要卫星电话。。
对边排序,找到位于最小生成树上的第条边(仍然注意只有一个连通块时不需要卫星电话),它的长度即为的最小值。。
穿越走廊
二分球体直径。对障碍物(包括圆和上下墙壁)进行两两的枚举,如果这两个障碍物之间的最小距离(两圆间距离/球与墙壁距离/两墙壁间距离)小于球的直径,就在这两个障碍物之间连边。如果最后上、下墙壁是连通的(可以视为有一堵贯穿上下墙壁的墙),就不可行;否则可行。
连边方法同上。把边按从小到大排序,依次加入图中,则球体的最大直径就是恰使上下墙壁连通的那一条边的长度减去()。
货车运输
本蒟蒻的极度暴力方法:直接跑。
分方法:
- 二分限重,判断是否连通。。
- 对边排序,从大到小将边加入图中,直到起点和终点连通为止。。
带权冰茶姬
关押罪犯
对答案进行二分,对某个答案,对所有怨气值大于的罪犯连边,如果最后得到的图是二分图,则可行。
对边排序,从大到小按上述方法连边,直到图不是二分图时,加入的最后一条边的权值即为答案。
(带权)冰茶姬判二分图。
搜索
逛公园
分:先计算最短路长度,再枚举简单路径(无剪枝)。
分:先计算最短路长度,再枚举简单路径(当前已走路径长超过时剪枝)。
分:
- 先计算每个点到和的距离,再枚举简单路径(超过时剪枝)。其实只能过的点。
- 注意到有个点。先计算最短路长度,再做一遍最短路计数。判断每个点是否在最短路上,重新建图,插入在最短路上的边(边权设为),新图应该是一个,接着即可(应该是能过)。
国王游戏
分:正序枚举排列并剪枝。
分:因为后面的人得到的金币数一般多于前面的,因此倒序枚举排列可以让最大值尽早暴露出来从而便于剪枝。
飞扬的小鸟
dp好烦啊,不想写dp
分:表示到达,点了次。枚举点了多少次即可。稍加可行性和最优性剪枝。
愤怒的绿鸟小鸟
这题据说搜索可以拿满分,久仰久仰
现在是亲自证明搜索可以满分了
对于每一个状态,强制要求消灭当前编号最小的猪,再枚举另一只猪,如果过这两只猪的抛物线满足题目要求,则扫描所有猪,把在这条抛物线上的所有猪删除,继续搜索。
关键是“强制要求消灭当前编号最小的猪”,因为抛物线没有先后之别,因此作如上处理可以减少状态数。
为方便判断边界,可以表示当前编号最小的猪是,已经发射了只鸟。
:没想到这题比预料中好写。用了记忆化状压搜索,先预处理每一条抛物线可以消灭的猪,再搜索。
宝藏
先枚举根,再枚举生成树的形态。
如何枚举生成树的形态呢?只需枚举每一个点在第几层即可。第层的点可以连向第层的任意一个与它有连边的点,为了使这个方案最优,应该往上一层中与它距离最小的点连边。上述优化极其有效,大大降低了枚举的生成树的数量。
其实这个也没有我想象中的那么难实现嘛 废话你都看过老师代码了
换教室
什么?期望dp?
先用算出任意两点最短路。再枚举提出更换教室申请的方案,对于每一种申请方案,计算出这种方案下的期望,加上剪枝即可。表示当前计算到第个教室,已经提出申请的次数是。
斗地主
极其繁琐。
注意到对于的数据,。因此只能出火箭、炸弹、单张、对子、三张和三带一。因此就比较简单。
Mayan游戏
数据为一维,不会有连锁反应。
翻转棋
这道题是去年初赛的问题求解呢……当时我什么都不懂~~,现在也还是什么都不懂~~。
首先发现每个格子只有可能翻或次。接着我们发现,第一行的方案确定后,第二行的方案也确定了(如果上方的格子是,就必须翻;否则不能翻),整个棋盘的翻转方案也确定了。因此只需要。
狗哥玩木棒
因为木棒全用完,因此正方形边长为。
小木棍
枚举原来木棍的段数(注意不能二分)。
剪枝要点:
木棍段数是总长的因数,还有许多极其难以想到的优化。
字符串
字符串 蛤 习
蛤 习 基 本 法
不要把数字映射到,要不然有没有都不知道
基底要大于字符种数(否则会被冒充)
膜 数还是选一个质数(比较的数)吧,比如某些位质数,或者。
时间复杂度。
子串的 蛤 习
记录前缀 蛤 习 数组表示到的前缀串的 蛤 习,则任意子串的 蛤 习 值就是。时间复杂度。
蛤 习 求周期
枚举循环节长度,判断的子串 蛤 习 是否相等,注意最后一个循环节可能不满。时间复杂度。
可以。
求每个字符为中心的回文串的最大长度
从那里借一个方便的转化:在相邻两字符之间插入一个奇怪的字符~~,比如男魂~~,最后答案除以即可。
做正向和逆向两个 蛤 习 ,对每一个中心,二分最大回文串长度。
。
字符串匹配
枚举位置。
优秀的拆分
枚举子串,对每一个子串枚举,。
不枚举子串,转而枚举的分界线,在分界线两端分别枚举和,再用乘法原理计算总方案数,。
虽然这是一道的题目,但是仅用 蛤 习 再加上一些可以理解的暴力手段,就可以拿到分!因此 蛤 习 大法好!坚持 !