06 2021 档案

摘要:传送门 题目大意:给出一个点(x,y),给出移动的顺序包含LRUD的一个字符串s,问是否存在s的一个排列,能在方格移动时不经过(x,y)。其实只要猜到 U D L R,相同字母都挨着,然后全排列枚举。 (出了个BUG,没理解next_permutation. #include<iostream> # 阅读全文
posted @ 2021-06-17 22:11 ANhour 阅读(152) 评论(0) 推荐(0)
摘要:传送门 题目大意:做一个烟花花费n分钟,把做的所有烟花放掉需要m分钟。每次可以选择做烟花,或者把所有的烟花放掉。 每个烟花成功燃放的概率为p*0.0001,一旦有烟花成功燃放就停止。问按最优策略,当有烟花成功燃放时,经过时间期望的最小值。 题解:假设做k次烟花再全部放掉是最优策略。 (为什么不能做5 阅读全文
posted @ 2021-06-17 21:58 ANhour 阅读(135) 评论(0) 推荐(0)
摘要:题解:将修改几次1等价为构图时边的权值即可。跑单源最短路。 #include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> using namespace std; #define N 阅读全文
posted @ 2021-06-10 23:07 ANhour 阅读(82) 评论(0) 推荐(0)
摘要:传送门 ★★比赛新机制★★ 题解:递推 ​sum=a1+a2+...an 如果顺序为a1,a2,a2...an,那么罚时为S1=n*a1+(n-1)*a2+(n-2)*a3....+an 如果顺序为a2,a3....,an,a1,那么罚时为S2=n*a2+(n-1)*a3+....a1 即Si+1= 阅读全文
posted @ 2021-06-10 22:59 ANhour 阅读(96) 评论(0) 推荐(0)
摘要:A. Mean Inequality 题目大意:长度2n的序列,求这个序列的一个排列,要求a[i]!=(a[i-1]+a[i+1])/2 题解:将序列排序,每次分别从序列最左侧和最右侧取数组成新的序列。 #include<iostream> #include<cstdio> #include<cst 阅读全文
posted @ 2021-06-10 22:39 ANhour 阅读(59) 评论(0) 推荐(0)
摘要:传送门 题目大意:n瓶药水,从左到右开始喝,喝完一瓶健康值+a[i],(a[i]有可能是负数),要保证每喝完一瓶药水后健康值不能为负数。 问最多喝几瓶。 题解: 解法一:DP O(n^2) dp[i][j]表示前i瓶药水喝j瓶的最大健康值,则转移方程为dp[i][j]=max(dp[i-1][j-1 阅读全文
posted @ 2021-06-10 22:26 ANhour 阅读(99) 评论(0) 推荐(0)
摘要:传送门 题目大意:有初始字符串和目标字符串,目标字符串是初始字符串的反转。 每一步可交换相邻两个字符,求从初始字符串到目标字符串的最小步数。 题解: 若初始字符串为abcde,则反转后为edcba。用数组下标表示为初始字符串12345,反转后为54321。 反转后的串的逆序对个数就是从初始串到目标串 阅读全文
posted @ 2021-06-10 21:53 ANhour 阅读(107) 评论(0) 推荐(0)