当前位置: 首页 > news >正文

手机网站怎么建立渝中网站建设

手机网站怎么建立,渝中网站建设,复杂大型网站建设成本,计算机网站建设毕业设计题目3655. 区间乘法查询后的异或 II 题目: 思路: 其实像这种根号算法有个很显然的特征,就是会有一个类似跳跃的功能,如每隔 k 格跳一次 本题不难看出可以使用根号算法讨论,先来看看简单的暴力 对于暴力部分我们直接模拟…

3655. 区间乘法查询后的异或 II

题目:

思路:

其实像这种根号算法有个很显然的特征,就是会有一个类似跳跃的功能,如每隔 k 格跳一次 

本题不难看出可以使用根号算法讨论,先来看看简单的暴力

对于暴力部分我们直接模拟即可,那么一次询问的时间复杂度为 O(n / k),即跳跃这么多次

那么对于非暴力做法怎么写呢?我们先假设 k = 1,对于区间操作,我们不难想到一个做法,即差分数组,那么本题我们可以类比差分,我们可以做一个 “商分”

具体的,我们初始每一个数初始化为 1,那么每一个位置就是从加变成了乘,依次递推过去即可,而原来的减法我们就要变成除法,但是显然直接除是不行的,注意到题目中要取模,所以我们可以考虑使用乘以逆元的操作来代替除法

那么假如 k > 1 呢?那么我们还是一样的,只不过这次从 每次加一递推 变成了 每次加 k 的递推 了,具体的我们还是一样的乘法操作,但是 r 需要改变,我们在 k 等于 1 时是在 r 处加 1,而这里则是在最后一个合法位置加 k,其实也是类比 k = 1 的情况

那么如何计算呢?不难看出,我们只需要看看 r 需要往后退几格即可,减去这个数后加上 k 就是最后的 r 了

k > 1 的累加过程有点不一样,由于我们设置了间隔,那么我们每次的起点就要设置多个了,即设置 0 ~ k-1,否则就不能统计完所有的数的操作了

最后优化细节就是我们可以判断这个 k 有没有出现过,如果没出现那么就跳过,同时记得开一下 long long,防止运算中爆了

代码:

class Solution {
public:const int MOD = 1e9 + 7;long long qp(long long a, int b) {long long res = 1;a %= MOD;while (b) {if (b & 1)res = res * a % MOD;b >>= 1;a = a * a % MOD;}return res;}int xorAfterQueries(vector<int>& nums, vector<vector<int>>& queries) {int B = sqrt(queries.size());int n = nums.size();vector<vector<int>> dif(B + 1);for (auto& q : queries) {long long l = q[0], r = q[1], k = q[2], v = q[3];if (k >= B) {for (int i = l; i <= r; i += k) {nums[i] = nums[i] * v % MOD;}} else {dif[k].resize(n+k,1);r = r - (r - l) % k + k;dif[k][l] = dif[k][l] * v % MOD;if (r < n)dif[k][r] = dif[k][r] * qp(v, MOD - 2) % MOD;}}for (int k = 1; k < B; k++) {if(dif[k].empty()) continue;for (int start = 0; start < k; start++) {long long sumdiff = 1;for (int i = start; i < n; i += k) {sumdiff = (sumdiff * dif[k][i]) % MOD;nums[i] = nums[i] * sumdiff % MOD;}}}return reduce(nums.begin(), nums.end(), 0, bit_xor());}
};

http://www.dtcms.com/a/436852.html

相关文章:

  • 南平 网站建设我的网站没备案怎么做淘宝客推广
  • 垂直电子商务网站建设哈尔滨市住房和城乡建设局局网站
  • 手机版网站设计案例友情链接代码
  • 哪些是用vue做的网站c2c网站有哪几个
  • 如果自己制作网站seo排名如何优化
  • 手机端网站建设江苏建科建筑培训网
  • 后台网站手机版视频怎么做网站备案有什么要求吗
  • 郓城网站建设电话好搜360网站
  • 自己电脑做网站需要备案吗2内蒙古做网站的公司有哪些
  • 河南金建建设集团网站58同城最新招聘信息
  • 哪些网站做外贸哈尔滨专业官网建站企业
  • 怎么用vs2008做网站全渠道营销成功案例
  • 自己写小说的网站网站开发方式的选择
  • 湖南建设网站官网网站制作背景图片
  • 有哪些做h5的网站wonder audio wordpress
  • 南昌电影网站开发足球世界排名国家最新
  • 无网站做cpa网站服务器如何选择
  • 苏州吴江做网站有一个可以做任务的网站
  • 浙江交工宏途交通建设有限公司网站南阳美容网站建设
  • 重庆网站建设大概需要多少钱全新升级网站
  • 橙域名网站wordpress显示注册按钮
  • 企业网站建设工作流程大企业宣传片
  • 小企业做网站有用吗三合一网站怎么做
  • 网站建设询价文件卖信息的网站
  • 用自己的手机做网站房地产最新消息14号公告
  • 温州网站建设seowordpress 生成主题包
  • 做设计用图片的网站3d建模怎么做
  • 一键免费生成网页的网站免费数据查询网站
  • 石龙网站仿做网站导航栏全屏怎么做的
  • 装潢建筑公司网站设计企业网站管理系统项目文档