摘要: pushdown乘以懒标记..青春都花在找bug上了 赋值给long long的int * int可能爆啊啊啊啊啊啊啊啊 搜索边界别只写一个..比如迭代加深..棋盘染色/// 看数据范围的时候不要把m的数据范围看成n的 开long long 输入m条边的时候不要for循环里输入n条边,排序亦如此 c 阅读全文
posted @ 2017-10-19 21:49 ANhour 阅读(647) 评论(5) 推荐(4) 编辑
摘要: 一中机房欢迎你 阅读全文
posted @ 2017-10-12 21:19 ANhour 阅读(365) 评论(3) 推荐(1) 编辑
摘要: 题目大意: lowbit(x)是x的最低位1 区间修改 ai+lowbit(ai) 区间和查询 n,m<1e5 题解: 一个数x最多加log(x)次lowbitx就会变成2的幂,2的幂加lowbitx相当于x2,标记区间是否都为2的幂,若是则区间每个数x2,不是则暴力修改。 #include<bit 阅读全文
posted @ 2021-09-05 18:58 ANhour 阅读(115) 评论(0) 推荐(0) 编辑
摘要: q次询问,每次求出边长大于k构成图中能两两互达的点的对数。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define LL long long cons 阅读全文
posted @ 2021-09-05 18:48 ANhour 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 传送门 前置知识:树状数组 差分 树链剖分 LCA 对树上路径经过的点进行操作,实际上是对区间维护一个函数。 开三个树状数组维护函数的三个系数。 都是基本操作,具体看代码注释。 题外话: 上次写树剖还是两年前(? 这几天重新又学了遍 树状数组学习博客 我的树剖板子们 #include<iostrea 阅读全文
posted @ 2021-07-26 21:13 ANhour 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目大意:给出一个点(x,y),给出移动的顺序包含LRUD的一个字符串s,问是否存在s的一个排列,能在方格移动时不经过(x,y)。其实只要猜到 U D L R,相同字母都挨着,然后全排列枚举。 (出了个BUG,没理解next_permutation. #include<iostream> # 阅读全文
posted @ 2021-06-17 22:11 ANhour 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目大意:做一个烟花花费n分钟,把做的所有烟花放掉需要m分钟。每次可以选择做烟花,或者把所有的烟花放掉。 每个烟花成功燃放的概率为p*0.0001,一旦有烟花成功燃放就停止。问按最优策略,当有烟花成功燃放时,经过时间期望的最小值。 题解:假设做k次烟花再全部放掉是最优策略。 (为什么不能做5 阅读全文
posted @ 2021-06-17 21:58 ANhour 阅读(94) 评论(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 阅读(68) 评论(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 阅读(77) 评论(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 阅读(40) 评论(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 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 传送门 题目大意:有初始字符串和目标字符串,目标字符串是初始字符串的反转。 每一步可交换相邻两个字符,求从初始字符串到目标字符串的最小步数。 题解: 若初始字符串为abcde,则反转后为edcba。用数组下标表示为初始字符串12345,反转后为54321。 反转后的串的逆序对个数就是从初始串到目标串 阅读全文
posted @ 2021-06-10 21:53 ANhour 阅读(79) 评论(0) 推荐(0) 编辑