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

烟台高端网站制作公司网店代运营服务

烟台高端网站制作公司,网店代运营服务,自己电脑做服务器网站,做斗图的网站本题链接#xff1a;【模板】树状数组 2 - 洛谷 题目#xff1a; 输入 5 5 1 5 4 2 3 1 2 4 2 2 3 1 1 5 -1 1 3 5 7 2 4 输出 6 10 思路#xff1a; 根据题意#xff0c;这里是需要区间添加值#xff0c;单点查询值。如果区间添加值中暴力去一个个加值#xff0c;肯定…本题链接【模板】树状数组 2 - 洛谷 题目 输入 5 5 1 5 4 2 3 1 2 4 2 2 3 1 1 5 -1 1 3 5 7 2 4 输出 6 10 思路 根据题意这里是需要区间添加值单点查询值。如果区间添加值中暴力去一个个加值肯定会TLE所以我们这里运用到了模板树状数组的重要作用了。 根据 差分 的性质我们知道区间加值我们可以构造一个前缀和数组来表示当前原数组的元素值对此进行区间的修改有效的避免O(n)的时间复杂度。 所以我们可以结合树状数组的前缀和 差分 性质达到区间修改单点查询的效果。 下面给出操作函数 区间修改 // 单点添加元素 inline void Add_pos(int pos,int x) {for(int i pos;i n 1;ilowbit(i)) arr[i] x; }// 区间添加元素 inline void Add_section(int L,int R,int x) {// 利用差分数组的原理// 差分树状数组// 达到区间修改值的效果Add_pos(L,x);Add_pos(R1,-x); } 单点查询 // 差分前缀和 单点查询 inline int Ask_pos(int pos) {// 利用 差分 性质// 差分的前缀和就是当前的元素值// 所以树状数组求前缀和返回当前下标的元素值int ans 0;for(int i pos;i;i-lowbit(i)) ans arr[i];return ans; } 代码详解如下 #include iostream #include vector #include queue #include cstring #include algorithm #include unordered_map #define endl \n #define int long long #define YES puts(YES) #define NO puts(NO) #define lowbit(x) (x(-x)) #define umap unordered_map #define All(x) x.begin(),x.end() //#pragma GCC optimize(3,Ofast,inline) #define IOS std::ios::sync_with_stdio(false),cin.tie(0), cout.tie(0) using namespace std; const int N 7e7 10;int n,m; int arr[N]; // 构造 差分树状数组 int a[N]; // 记录原数组初始值// 单点添加元素 inline void Add_pos(int pos,int x) {for(int i pos;i n 1;ilowbit(i)) arr[i] x; }// 区间添加元素 inline void Add_section(int L,int R,int x) {// 利用差分数组的原理// 差分树状数组// 达到区间修改值的效果Add_pos(L,x);Add_pos(R1,-x); }// 差分前缀和 单点查询 inline int Ask_pos(int pos) {// 利用 差分 性质// 差分的前缀和就是当前的元素值// 所以树状数组求前缀和返回当前下标的元素值int ans 0;for(int i pos;i;i-lowbit(i)) ans arr[i];return ans; }inline void solve() {cin n m;for(int i 1;i n;i){cin a[i];Add_pos(i,a[i] - a[i - 1]); // 单点添加 初始值 的 差分元素}while(m--){int op;cin op;if(op 1){int L,R,x;cin L R x;Add_section(L,R,x); // 区间添加值 }else{int pos;cin pos; // 差分前缀和单点查询cout Ask_pos(pos) endl;}} }signed main() { // freopen(a.txt, r, stdin); // IOS;int _t 1; // cin _t;while (_t--){solve();}return 0; } 最后提交
http://www.w-s-a.com/news/75530/

相关文章:

  • 商城网站建设源码嘉兴seo计费管理
  • 城乡建设网站证件查询系统wordpress 时间代码
  • php网站建设 关键技术做网站哪家正规
  • 网站开发用什么写得比较好谷歌的英文网站
  • 青岛网站建设公司在哪vivo手机商城
  • 兼职刷客在哪个网站做哪个网站做淘宝客
  • 眼科医院网站开发网络营销特点是什么
  • 提交网站给百度增加wordpress插件
  • 网站建设企业官网体验版是什么Wordpress哪个模板最快
  • 美丽说网站模板湖北可以做网站方案的公司
  • 北京西站进站最新规定建设网站的提成是多少
  • wordpress站点如何加速网站建设描述怎么写
  • 如何免费建造网站免费vi模板网站
  • 商丘做网站多少钱扬州大发网站建设
  • 网站建设哪家性价比高自己做项目的网站
  • 成立一个网站济宁营销型网站建设
  • 南通购物网站建设设计类平台网站
  • 专业网站建设咨询thinkphp网站源码下载
  • 怎么制作一个国外网站网站推广找哪家公司好
  • 免费做网站怎么做网站想在网上卖东西怎么注册
  • 淘宝网站建设的策划书网投怎么做网站
  • 如何免费做公司网站视频网站开发视频
  • 网站后台是怎么更新wordpress 大于2m的xm
  • 制作网页设计软件列表案例营销网站优化seo
  • 住房和建设建设局网站报告长官夫人在捉鬼
  • 用asp做网站需要什么软件天津建设工程信息网怎么注册
  • 一站式服务图片北京网站优化多少钱
  • 专业的论坛网站建设全网加速器
  • 成都品牌建设网站公司表单制作小程序
  • 手机端 网站 模板网页广告关不掉怎么办