首页 > 其他分享 >三行汉字说清高维前缀和,三行代码写出高维前缀和

三行汉字说清高维前缀和,三行代码写出高维前缀和

时间:2023-07-05 13:22:06浏览次数:27  
标签:前缀 int 一遍 枚举 三行 高维

——whk时突然发现高维前缀和就是暴力前缀和,震惊0922

首先考虑二维空间里的前缀和,很明显就是横着对每一行做一遍,再竖着对每一列做一遍。

三维空间也很简单,横着做一遍纵着做一遍竖着做一遍。

推广到 \(n\) 维,枚举每一维依次做一遍就好,只不过状压了,代码:

for (int i = 0; i < n; i++) //依次枚举每一维
    for (int S = 0; S < (1 << n); S++) //枚举每个坐标
        if ((S >> i) & 1) a[S] += a[S - (1 << i)]; //假如该维坐标是0则不用变化,是1则加上该维坐标为0的值

标签:前缀,int,一遍,枚举,三行,高维
From: https://www.cnblogs.com/0922-Blog/p/7_5_wssb.html

相关文章

  • 前缀和学习笔记与总结
    前缀和学习笔记与总结目录前缀和一维前缀和What如何求作用公式模板模板题目题目大意CODE二维前缀和What\(S_{i,j}\)怎么算矩阵的和公式模板模板题目题目大意CODE前缀和一维前缀和What现有原数组:\[a_1,a_2,a_3,\ldots,a_n\]对应的前缀和数组应满足:\[S_i=a_1+a_2+a_......
  • 前缀和与差分
    前缀和令\(s[i]=a[1]+a[2]+...+a[i]\),此时的\(s\)数组就为\(a\)数组的前缀和。实现:每个\(s[i]\)都可由\(s[i-1]+a[i]\)转换来,顺序处理即可。代码:for(inti=1;i<=n;++i){ s[i]=s[i-1]+a[i];}应用:常用于求区间和。即\(a[l]+a[l+1......
  • 前缀长度转成子网掩码
    原文地址:https://www.cnblogs.com/liqinglucky/p/ipv6_mask.html将前缀长度转成子网掩码#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<string.h>#include<stdlib.h>intmask_fun(intm......
  • CF1843E 二分+前缀和
    题意:给定一个长度为n且均为0的数组,q次单点修改(从0改为1),以及m个基于该数组的区间。规定好区间为:区间内1的个数严格大于0的个数。上述m个区间若存在一个好区间则为合法,问按顺序进行q次单点修改过程中最早出现合法的单次修改编号,若无则输出-1。马后炮思考:对于m个区间,其实际关系......
  • leetcode-前缀和数组&差分数组
    前缀和数组:前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。(仅仅适用于原数组不变的情况,如果原数组经常修改,则需要考虑差分数组。)模版如下:classPrefixSum{//前缀和数组privateint[]preSum;/*输入一个数组,构造前缀和*/publicPrefixSu......
  • Python字符串前缀u、r、b、f含义
    Python字符串前缀u、r、b、f含义1、字符串前加u例子:u"字符串中有中文"含义:前缀u表示该字符串是unicode编码,Python2中用,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。另外一般要在文件开关标明编码方式采用utf8。Python3中,所有字符串默认都是unicode字符串......
  • [Leetcode] 0014. 最长公共前缀
    14.最长公共前缀点击上方,跳转至Leetcode题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例1:输入:strs=["flower","flow","flight"]输出:"fl"示例2:输入:strs=["dog","racecar","car"]输出......
  • vue 学习第17天 CSS学习 ---- 浏览器私有前缀 + css3阶段总结
    浏览器私有前缀是为了兼容老版本的写法,比较新的浏览器无需添加1、私有前缀 2、提倡的写法(私有前缀+属性) 总结:CSS3学习的  五个大方面         ......
  • transform (牛客多校) (双指针+二分+ 中位数妙用+前缀和相减维护)
    题目大意:n个商店在一条直线上, 有一个xi然后有ai个商品你可以把商店的物品移动到另一个商店,代价为:abs(xi-xj)在代价不超过T的情况下你可以选择一个商店来让其他商店的物品都移到这个商店,问最多移动多少个物品  思路:双指针维护一个最大的区间,因......
  • Best Cow Fences(前缀和+特殊二分)
    之前的二分大多数都是整数类型的,今天又学到一种新型的二分,浮点数的二分,浮点数的二分可太巧妙了.且听我细细分说::OpenJudge-2018:BestCowFences#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intn,k;doublea[N],s[N],l,r;boolcheck(doubleu)......