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

麓谷网站建设企业网站未来发展趋势

麓谷网站建设,企业网站未来发展趋势,网站搭建免费域名,网络推广网站的方法作者#xff1a;指针不指南吗 专栏#xff1a;Acwing 蓝桥集训每日一题 #x1f43e;做题过程中首先应该注意时间复杂度问题#x1f43e; 文章目录1.改变数组元素2.差分3.差分矩阵1.改变数组元素 给定一个空数组 V 和一个整数数组 a1,a2,…,an。 现在要对数组 V 进行 n 次操… 作者指针不指南吗 专栏Acwing 蓝桥集训每日一题 做题过程中首先应该注意时间复杂度问题 文章目录1.改变数组元素2.差分3.差分矩阵1.改变数组元素 给定一个空数组 V 和一个整数数组 a1,a2,…,an。 现在要对数组 V 进行 n 次操作。 第 i 次操作的具体流程如下 从数组 V 尾部插入整数 0。将位于数组 V 末尾的 ai 个元素都变为 1已经是 1 的不予理会。 注意 ai 可能为 0即不做任何改变。ai 可能大于目前数组 V 所包含的元素个数此时视为将数组内所有元素变为 1。 请你输出所有操作完成后的数组 V。 输入格式 第一行包含整数 T表示共有 T 组测试数据。 每组数据第一行包含整数 n。 第二行包含 n 个整数 a1,a2,…,an。 输出格式 每组数据输出一行结果表示所有操作完成后的数组 V数组内元素之间用空格隔开。 数据范围 1≤T≤20000, 1≤n≤2×10510^5105 , 0≤ai≤n, 保证一个测试点内所有 n 的和不超过 2×10510^5105 。 输入样例 3 6 0 3 0 0 1 3 10 0 0 0 1 0 5 0 0 0 2 3 0 0 0输出样例 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0思路 对V进行 n 次操作每次操作加个 0 即V一共有 n 个元素 第 i 次 把 V 末尾的 ai 个元素都变为 1即 V 是由 01 组成 只要被操作过就是 1 首先根据数据范围来分析时间复杂度200010应该是 n log2nlog_2^nlog2n​ 或者 n 比较合适用个一个数组来存某个元素操作的次数超过 1 的输出 10就输出 0对 区间 [ n - ai , n ] 统一加上 1这里可以用差分注意每一组数据之后要进行置零 代码实现 #includebits/stdc.h using namespace std;const int N2*1e510; int a[N];int main() {int T;cinT; // T 组测试数据while(T--){int n; // n 个元素cinn;memset(a,0,(n1)*4); //置零操作memset 或者是 for(快些)sizeof b 会比(n1)*4 慢很多 for(int i1;in;i){ //输入数据int x;cinx; int lmax(1,i-x1),ri; a[l],a[r1]--; //记录V中元素被操作多少次 差分} for(int i1;in;i){a[i]a[i-1]; // 为什么求前缀和数组算的差分数组不是记录的 V 中元素操作的次数吗cout!!a[i] ; // !! 运算如果是0则为0如果是非0则为1也可以写特判}coutendl;}return 0; }2.差分 输入一个长度为 n 的整数序列。 接下来输入 m 个操作每个操作包含三个整数 l,r,c表示将序列中 [l, r ]之间的每个数加上 。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数 n 和 m。 第二行包含 n 个整数表示整数序列。 接下来 m 行每行包含三个整数 lrc表示一个操作。 输出格式 共一行包含 n 个整数表示最终序列。 数据范围 1≤n,m≤100000, 1≤l≤r≤n, −1000≤c≤1000, −1000≤整数序列中元素的值≤1000, 输入样例 6 3 1 2 2 1 2 1 1 3 1 3 5 1 1 6 1输出样例: 3 4 5 3 4 2代码实现 #includeiostream using namespace std;const int N100010; int a[N],b[N];int n,m; //n 数组元素个数m 表示操作次数void insert(int l,int r,int c){b[l]c; //对差分cb[r1]-c; //补丁 }int main(){cinnm;for(int i1;in;i){cina[i];insert(i,i,a[i]); //差分b 数组}while(m--){int l,r,c; //对差分 b 操作cinlrc; insert(l,r,c); //对区间进行元素进行操作}for(int i1;in;i){ //求出原数组即前缀和aa[i]a[i-1]b[i];couta[i] ;}return 0; } 3.差分矩阵 输入一个 n 行 m 列的整数矩阵再输入 q个操作每个操作包含五个整数 x1,y1,x2,y2,c 其中 (x1,y1)和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c。 请你将进行完所有操作后的矩阵输出。 输入格式 第一行包含整数 n,m,q。 接下来 n 行每行包含 m 个整数表示整数矩阵。 接下来 q 行每行包含 55 个整数 x1,y1,x2,y2,c表示一个操作。 输出格式 共 n 行每行 m 个整数表示所有操作进行完毕后的最终矩阵。 数据范围 1≤n,m≤1000, 1≤q≤100000, 1≤x1≤x2≤n, 1≤y1≤y2≤m, −1000≤c≤1000, −1000≤矩阵内元素的值≤1000. 输入样例 3 4 3 1 2 2 1 3 2 2 1 1 1 1 1 1 1 2 2 1 1 3 2 3 2 3 1 3 4 1输出样例 2 3 4 1 4 3 4 1 2 2 2 2代码实现 #include iostreamusing namespace std;const int N 1010;int n, m, q; int a[N][N], b[N][N];void insert(int x1, int y1, int x2, int y2, int c) {b[x1][y1] c;b[x2 1][y1] - c;b[x1][y2 1] - c;b[x2 1][y2 1] c; }int main() {scanf(%d%d%d, n, m, q);for (int i 1; i n; i )for (int j 1; j m; j ){scanf(%d, a[i][j]);insert(i, j, i, j, a[i][j]);}while (q -- ){int x1, y1, x2, y2, c;cin x1 y1 x2 y2 c;insert(x1, y1, x2, y2, c);}for (int i 1; i n; i ){for (int j 1; j m; j ){b[i][j] b[i - 1][j] b[i][j - 1] - b[i - 1][j - 1];printf(%d , b[i][j]);}puts( );}return 0; }
http://www.hkea.cn/news/14373043/

相关文章:

  • 建设银行官网站查询课件模板
  • 网站建站开发平台设计方案
  • 网站建设包含以下哪些建设阶段大连投诉网站
  • 手机网站底部漂浮代码电子商务网站建设首要问题是
  • 原则网站设计版式建筑安全员c证查询官网
  • 英文网站建设 淮安wordpress 后台登陆美化
  • 沈阳网站推广公司排名公司部门结构图
  • 网站建设经验与团队网页设计与网站建设完全实用手册
  • 资源网站快速优化排名wordpress 主页面错乱
  • 用织梦做的学校网站云南建站推广
  • 网页翻译俄文西安网站seo外包
  • 商城类网站能做响应式设计吗民宿网站建设方案
  • 寺院的网站怎么做物流企业网站建设与管理规划书
  • 东莞网站制作实力乐云seowordpress 5图片相对路径
  • 为了 门户网站建设没有营业执照 怎么做网站
  • 做网站需要了解什么wordpress 换模板
  • 电子邮箱怎么注册seo专员是干什么的
  • 设计数码产品宣传网站php怎么连接wordpress
  • 我现在有域名怎么做网站视频类网站建设的成果
  • 服装商城网站源码谁会在掏宝网上做网站
  • 网站建设找宙斯站长工具asp网站怎么运行
  • 网站建设开发方式包括哪些方面wordpress新建页面无法选择模板
  • 不要网站域名东莞网站定制开发
  • 一级a做爰片免费视频网站做网站的总是有活动怎么回事
  • 市级档案网站建设情况分析爱有声小说网站捡个校花做老婆
  • 佛山规划建设局网站潍坊专业输送带产品介绍
  • 蒙古文网站建设wordpress 无法找到该页
  • 做信誉认证对网站有什么好处app项目开发教程
  • 网站主页和子页风格如何统一性价比最高的网站建设
  • 大神自己做的下载音乐的网站百度搜索热度指数