摘要:
题目链接:https://ac.nowcoder.com/acm/problem/23054 题意: 初始数组为长度为n的全0数组,m次操作 操作1:使每个(i-0)mod d==0 的下标为i的数组元素+k 操作2:查询l~r范围的数组元素和 思路: 分块思想, 使lazy[i]表示原数组下标能被 阅读全文
摘要:
题目链接:https://www.acwing.com/problem/content/6125/ 题意: 给定一个nnn的奶酪块,每次切掉坐标为(x,y,z)的一个方块,求每次奶酪块能够被11n的方块插入的总方案数 思路: 不能用三维数组进行模拟,所以开三个二维数组表示三个不同的平面,每次增1,当 阅读全文
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/95338/J 题意: 刀的初始攻击力为x,磨刀石数量为y,回合数为n 磨刀一次 刀攻击力加1 刀每砍一次攻击力减1 攻击力为0时损坏 求n个回合刀能造成的总伤害 思路: 发现先磨刀比后磨刀更优,并且刀连续砍不比分段砍 阅读全文
摘要:
题目链接:https://ac.nowcoder.com/acm/contest/95338/I 题意: 给定一个排列,共有m次查询,每次查询输入l,r,k三个参数,返回数组l~r排序后 数组之前下标为k的 元素 的 经过排序后的下标(每次查询独立,即不改变原数组) 思路: 时间复杂度需要nlogn 阅读全文
摘要:
两种操作时间复杂度O(logn),空间复杂度O(n) build方法 const int maxn=5e5+5; int n,m; int s[maxn]; void build(){ rep(i,1,n){ int x;cin>>x;change(i,x); } } lowbit方法(求x的最低位 阅读全文