摘要:
"传送门" 题意 逃离迷宫 分析 用优先队列和队列都可以,但是我vis数组写在取队列首节点就MLE了,放在放入节点的地方就ac了,看来是一种固定写法,在放入节点的地方判断,可以防止放入无效点到队列,防止队列过大而MLE,一般优先队列要用vis,但是类似胜利大逃亡(续)就不能这么做了 trick 1. 阅读全文
摘要:
"传送门" 题意 迷宫搜索 分析 这题写起来挺简单的,锻炼搜索基本功,一开始用记忆化搜索TLE了,改用访问标记,0ms过了,用优先队列保证终点最快达到,我会在代码中提供一些强力数据 trick 1.遇到梯子分能过(+1s)与不能过(+2s)入队列 2.一定有可行解 代码 阅读全文
摘要:
"传送门" 题意 给定一个n m的矩阵,询问q次,两个方块是否能被消掉,弯折次数不超过两次 分析 这题写了有一个下午,思路很简单,但是有很多trick,(唉),我还是太弱 trick 初始判断:1.两点不重叠 2.两点数值相等并且不为空 dfs中判断:1.每次访问节点深搜时打访问标记,回溯取消标记 阅读全文
摘要:
"传送门" 题意 给出一张n m的图 0.墙 1.可走之路 2.起始点 3.终点 4.时间重置点 问是否能到达终点 分析 我的训练专题第一题,一开始我设个vis数组记录,然后写炸,不能处理重置点根vis的关系,然后看了 "iaccepted" 这篇blog,换了一种思路,加了一个很好的剪枝,0ms过 阅读全文
摘要:
"传送门" 题意 给出n个任务的结束时间和持续时间,完成一个任务扣掉的分数为 完成时间 结束时间 ,问最少扣掉多少分数 分析 观察到n为15,那么 我们将任务完成情况保存为状态,dp[i]表示到达i状态所扣的最少分数。 dp[i]由哪些状态到达? 枚举任务,对于第k个任务,在j中对于i中的任务只有k 阅读全文
摘要:
"传送门" 题意 给出m个面的骰子扔n次,取最大值,求期望 分析 暴力算会有重复,而且复杂度不对。 考虑m个面扔n次得到m的概率,发现只要减去 (m 1)个面扔n次得到m 1的概率 即可,给出example说明 得到公式 $$\sum_{i=1}^m{i (i^n (i 1)^n)/m^n}$$ 代 阅读全文
摘要:
"传送门" 题意 给出初始序列与终止序列,给出三种操作,问最少经过几次操作能使初始 终止,输出操作(字典序最小) 分析 字符串只有8个字符,使用康托展开。 1.BFS将所有序列从"12345678"操作得到,能够保证字典序与次数最小(采用string) 2.接下来将初始序列变成"12345678", 阅读全文
摘要:
"传送门" 题意 给出一个只包含'(',')'的字符序列,询问有多少个$RSBS$ 分析 首先需要知道一个公式 $$\sum_{i=0}^{min(x,y)}C_x^i C_y^i=C_{x+y}^x$$ 接下来我们观察第i个'(',假设它左边有x个'(',右边有y个')',那么 包含它 的RSBS 阅读全文
摘要:
"传送门" 题意 有一个数列a,要求你求数列b和c,b[i]是a[i]…a[i+w 1]中的最小值,c[i]是最大值。如果a是1,3, 1, 3,5,3,6,7,则b为 1, 3, 3, 3,3,3,c为3,3,5,5,6,7。 分析 单调队列裸题,不过第一次写单调队列发现了很多trick 代码 阅读全文
摘要:
景女神与她的托福 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 49 Accepted Submission(s) : 21 Font: Tim 阅读全文